ultimatepp/uppsrc/CtrlLib/Ch.h
2024-12-06 10:05:57 +01:00

57 lines
2 KiB
C

void ChBaseSkin();
void ChHostSkin();
void ChClassicSkin();
void ChStdSkin();
void ChDarkSkin();
void ChGraySkin();
void ChFlatSkin();
void ChFlatDarkSkin();
void ChFlatGraySkin();
#ifdef PLATFORM_WIN32
void ChHostSkinLight();
void ChHostSkinDark();
#endif
Vector<Tuple<void (*)(), String>> GetAllChSkins();
enum {
CORNER_TOP_LEFT = 0x01,
CORNER_TOP_RIGHT = 0x02,
CORNER_BOTTOM_LEFT = 0x04,
CORNER_BOTTOM_RIGHT = 0x08,
};
void RoundedRect(Painter& w, double x, double y, double cx, double cy, double rx, double ry, dword corners);
void RoundedRect(Painter& w, Rectf r, double rx, double ry, dword corner);
Image MakeElement(Size sz, double radius, const Image& face, double border_width, Color border_color, Event<Painter&, const Rectf&> shape);
Image MakeButton(int radius, const Image& face, double border_width, Color border_color = Null, dword corner = 0xff);
Image MakeButton(int radius, Color face, double border_width, Color border_color = Null, dword corner = 0xff);
Image Hot3(const Image& m); // Adds resizing hotspots at 1/3
Image ChHot(const Image& m, int n = 2); // Adds resizing hotspots DPI(n)
Color AvgColor(const Image& m, const Rect& rr);
Color AvgColor(const Image& m, int margin = 0);
Color AvgColor(const Image& m, RGBA bg, const Rect& rr);
Color AvgColor(const Image& m, RGBA bg, int margin = 0);
Color GetInk(const Image& m); // the color that is most different from AvgColor
int GetRoundness(const Image& m);
Image WithRect(Image m, int x, int y, int cx, int cy, Color c);
Image WithLeftLine(const Image& m, Color c, int w = DPI(1));
Image WithRightLine(const Image& m, Color c, int w = DPI(1));
Image WithTopLine(const Image& m, Color c, int w = DPI(1));
Image WithBottomLine(const Image& m, Color c, int w = DPI(1));
Color FaceColor(int adj);
// Creates synthetic style based on SColors and basic button face
void ChSynthetic(Image *button100x100, Color *text, bool macos = false, int dpi = DPI(1));
// for diagnostics purposes
#ifdef _DEBUG
void SetChameleonSample(const Value& m, bool once = true);
Value GetChameleonSample();
#endif