#pragma once #include #include namespace geode { /** * Creates the usual blue gradient BG for a layer. You should use this over * creating the sprite manually, as in the future we may provide texture * packs the ability to override this function. */ GEODE_DLL cocos2d::CCSprite* createLayerBG(); enum class SideArt { BottomLeft = 0b0001, BottomRight = 0b0010, TopLeft = 0b0100, TopRight = 0b1000, Bottom = 0b0011, Top = 0b1100, All = 0b1111, }; constexpr SideArt operator|(SideArt a, SideArt b) { return static_cast(static_cast(a) | static_cast(b)); } constexpr bool operator&(SideArt a, SideArt b) { return static_cast(static_cast(a) & static_cast(b)); } /** * Add side art (corner pieces) for a layer * @param to Layer to add corner pieces to * @param sides Which corners to populate; by default, populates all * @param useAnchorLayout If true, `to` is given an `AnchorLayout` and the * corners' positions are dynamically updated */ GEODE_DLL void addSideArt(cocos2d::CCNode* to, SideArt sides = SideArt::All, bool useAnchorLayout = false); /** * Add the rounded comment borders to a node */ GEODE_DLL void addListBorders( cocos2d::CCNode* to, cocos2d::CCPoint const& center, cocos2d::CCSize const& size ); }