16BEGIN_IGRAPHICS_NAMESPACE
18static constexpr int DEFAULT_FPS = 60;
22static constexpr int IDLE_TICKS = 20;
24static constexpr int DEFAULT_ANIMATION_DURATION = 100;
26#ifndef CONTROL_BOUNDS_COLOR
27#define CONTROL_BOUNDS_COLOR COLOR_GREEN
30static constexpr float PARAM_EDIT_W = 40.f;
31static constexpr float PARAM_EDIT_H = 16.f;
33#define MAX_URL_LEN 256
34#define MAX_NET_ERR_MSG_LEN 1024
36static constexpr int MAX_IMG_SCALE = 3;
37static constexpr int DEFAULT_TEXT_ENTRY_LEN = 7;
38static constexpr double DEFAULT_GEARING = 4.0;
40static constexpr double DEFAULT_MIN_DRAW_SCALE = 0.5;
41static constexpr double DEFAULT_MAX_DRAW_SCALE = 4.0;
44#define TOOLWIN_BORDER_W 6
45#define TOOLWIN_BORDER_H 23
46#define MAX_CLASSNAME_LEN 128
50static constexpr float GRAYED_ALPHA = 0.25f;
54static const char* DEFAULT_PATH =
"~/Desktop";
58const char*
const DEFAULT_FONT =
"Roboto-Regular";
61static constexpr float DEFAULT_TEXT_SIZE = 14.f;
62static constexpr int FONT_LEN = 64;
81enum class EFileAction { Open, Save };
84enum class EDirection { Vertical, Horizontal };
87enum class ETextStyle { Normal, Bold, Italic };
90enum class EAlign { Near, Center, Far };
93enum class EVAlign { Top, Middle, Bottom };
96enum class EOrientation { North, East, South, West };
99static const char* kEAlignStrs[3] = {
"Near",
"Center",
"Far" };
102static const char* kEVAlignStrs[3] = {
"Top",
"Middle",
"Bottom" };
105enum class EGestureType { Unknown, DoubleTap, TripleTap, LongPress1, LongPress2, SwipeLeft, SwipeRight, SwipeUp, SwipeDown, Pinch, Rotate, Pan};
108static const char* kGestureTypeStrs[12] = {
"Unknown",
"DoubleTap",
"TripleTap",
"LongPress1",
"LongPress2",
"SwipeLeft",
"SwipeRight",
"SwipeUp",
"SwipeDown",
"Pinch",
"Rotate",
"Pan"};
111enum class EGestureState { Unknown, Began, InProcess, Ended };
114enum class EUIAppearance { Light, Dark };
132static const char* kVColorStrs[kNumVColors] =
146enum class EVShape { Rectangle, Ellipse, Triangle, EndsRounded, AllRounded };
149enum class EWinding { CW, CCW };
152enum class EFillRule { Winding, EvenOdd, Preserve };
155enum class ELineCap { Butt, Round, Square };
158enum class ELineJoin { Miter, Round, Bevel };
161enum class EPatternType { Solid, Linear, Radial, Sweep };
164enum class EPatternExtend { None, Pad, Reflect, Repeat };
167enum class EColorReplacement { None, Fill, Stroke };
170enum class EUIResizerMode { Scale, Size };
192enum class ETouchEvent { Began, Moved, Ended, Cancelled, Invalid };
218static const char* kMessageResultStrs[8] = {
"",
"OK",
"CANCEL",
"ABORT",
"RETRY",
"IGNORE",
"YES",
"NO"};
220END_IGRAPHICS_NAMESPACE