mirror of
https://github.com/geode-sdk/geode.git
synced 2024-11-23 07:57:51 -05:00
47 lines
1.5 KiB
C++
47 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#include <Geode/DefaultInclude.hpp>
|
|
#include <cocos2d.h>
|
|
|
|
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<SideArt>(static_cast<int>(a) | static_cast<int>(b));
|
|
}
|
|
constexpr bool operator&(SideArt a, SideArt b) {
|
|
return static_cast<bool>(static_cast<int>(a) & static_cast<int>(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
|
|
);
|
|
}
|