37 #if defined(__cplusplus) 58 } WIDGET_ITEM_DRAW_INFO;
60 typedef int WIDGET_DRAW_ITEM_FUNC(
const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo);
61 typedef void WIDGET_PAINT (WM_HWIN hObj);
62 typedef void WIDGET_CREATE (WM_HWIN hObj);
65 WIDGET_PAINT * pfPaint;
66 WIDGET_CREATE * pfCreate;
89 #define BUTTON_ID 0x42555454UL 90 #define CHECKBOX_ID 0x43484543UL 91 #define DROPDOWN_ID 0x44524f50UL 92 #define EDIT_ID 0x45444954UL 93 #define FRAMEWIN_ID 0x4652414dUL 94 #define FRAMECLNT_ID 0x46524143UL 95 #define GRAPH_ID 0x47524150UL 96 #define HEADER_ID 0x48454144UL 97 #define LISTBOX_ID 0x4C495342UL 98 #define LISTVIEW_ID 0x4C495356UL 99 #define LISTWHEEL_ID 0x4C495357UL 100 #define MENU_ID 0x4d454e55UL 101 #define MULTIEDIT_ID 0x4d554c45UL 102 #define MULTIPAGE_ID 0x4d554c50UL 103 #define MPAGECLNT_ID 0x4d50434CUL 104 #define PROGBAR_ID 0x50524f47UL 105 #define RADIO_ID 0x52414449UL 106 #define SCROLLBAR_ID 0x5343524fUL 107 #define SLIDER_ID 0x534c4944UL 108 #define TEXT_ID 0x54455854UL 109 #define TREEVIEW_ID 0x54524545UL 110 #define ICONVIEW_ID 0x49434f4eUL 111 #define IMAGE_ID 0x494d4147UL 112 #define SPINBOX_ID 0x5350494eUL 113 #define KNOB_ID 0x4b4e4f42UL 114 #define WINDOW_ID 0x57494e44UL 116 #define WIDGET_LOCK(hWin) ((WIDGET*)GUI_LOCK_H(hWin)) 123 #ifndef WIDGET_USE_PARENT_EFFECT 124 #define WIDGET_USE_PARENT_EFFECT 0 126 #ifndef WIDGET_USE_FLEX_SKIN 127 #define WIDGET_USE_FLEX_SKIN 1 129 #if !defined(WIDGET_USE_SCHEME_SMALL) && !defined(WIDGET_USE_SCHEME_MEDIUM) && !defined(WIDGET_USE_SCHEME_LARGE) 130 #define WIDGET_USE_SCHEME_SMALL 1 131 #define WIDGET_USE_SCHEME_MEDIUM 0 132 #define WIDGET_USE_SCHEME_LARGE 0 134 #ifndef WIDGET_USE_SCHEME_SMALL 135 #define WIDGET_USE_SCHEME_SMALL 0 137 #ifndef WIDGET_USE_SCHEME_MEDIUM 138 #define WIDGET_USE_SCHEME_MEDIUM 0 140 #ifndef WIDGET_USE_SCHEME_LARGE 141 #define WIDGET_USE_SCHEME_LARGE 0 143 #if (WIDGET_USE_SCHEME_SMALL + WIDGET_USE_SCHEME_MEDIUM + WIDGET_USE_SCHEME_LARGE) > 1 144 #error Only one scheme can be selected! 152 #define WIDGET_STATE_FOCUS (1 << 0) 153 #define WIDGET_STATE_VERTICAL (1 << 3) 154 #define WIDGET_STATE_FOCUSSABLE (1 << 4) 156 #define WIDGET_STATE_USER0 (1 << 8) 157 #define WIDGET_STATE_USER1 (1 << 9) 158 #define WIDGET_STATE_USER2 (1 << 10) 164 #define WIDGET_ITEM_CREATE 0 165 #define WIDGET_ITEM_DRAW 1 166 #define WIDGET_ITEM_DRAW_ARROW 2 167 #define WIDGET_ITEM_DRAW_ARROW_L 3 168 #define WIDGET_ITEM_DRAW_ARROW_R 4 169 #define WIDGET_ITEM_DRAW_BACKGROUND 5 170 #define WIDGET_ITEM_DRAW_BITMAP 6 171 #define WIDGET_ITEM_DRAW_BUTTON 7 172 #define WIDGET_ITEM_DRAW_BUTTON_L 8 173 #define WIDGET_ITEM_DRAW_BUTTON_R 9 174 #define WIDGET_ITEM_DRAW_FOCUS 10 175 #define WIDGET_ITEM_DRAW_FRAME 11 176 #define WIDGET_ITEM_DRAW_OVERLAP 12 177 #define WIDGET_ITEM_DRAW_OVERLAY 13 178 #define WIDGET_ITEM_DRAW_SEP 14 179 #define WIDGET_ITEM_DRAW_SHAFT 15 180 #define WIDGET_ITEM_DRAW_SHAFT_L 16 181 #define WIDGET_ITEM_DRAW_SHAFT_R 17 182 #define WIDGET_ITEM_DRAW_TEXT 18 183 #define WIDGET_ITEM_DRAW_THUMB 19 184 #define WIDGET_ITEM_DRAW_TICKS 20 185 #define WIDGET_ITEM_GET_BORDERSIZE_B 21 186 #define WIDGET_ITEM_GET_BORDERSIZE_L 22 187 #define WIDGET_ITEM_GET_BORDERSIZE_R 23 188 #define WIDGET_ITEM_GET_BORDERSIZE_T 24 189 #define WIDGET_ITEM_GET_BUTTONSIZE 25 190 #define WIDGET_ITEM_GET_XSIZE 26 191 #define WIDGET_ITEM_GET_YSIZE 27 192 #define WIDGET_ITEM_GET_RADIUS 28 193 #define WIDGET_ITEM_APPLY_PROPS 29 // Not to be documented. Use this message identifier to update the 196 #define WIDGET_DRAW_OVERLAY WIDGET_ITEM_DRAW_OVERLAY 197 #define WIDGET_DRAW_BACKGROUND WIDGET_ITEM_DRAW_BACKGROUND 204 #define WM_WIDGET_SET_EFFECT (WM_WIDGET + 0) 211 #define WIDGET_CF_VERTICAL WIDGET_STATE_VERTICAL 221 void (* pfDrawUp) (void);
222 void (* pfDrawUpRect) (
const GUI_RECT * pRect);
223 void (* pfDrawDown) (void);
224 void (* pfDrawDownRect)(
const GUI_RECT * pRect);
225 void (* pfDrawFlat) (void);
226 void (* pfDrawFlatRect)(
const GUI_RECT * pRect);
231 const WIDGET_EFFECT* pEffect;
234 #if GUI_DEBUG_LEVEL > 1 249 typedef struct GUI_DRAW GUI_DRAW;
250 typedef void GUI_DRAW_SELF_CB (WM_HWIN hWin);
251 typedef WM_HMEM GUI_DRAW_HANDLE;
255 void (* pfDraw) (GUI_DRAW_HANDLE hDrawObj, WM_HWIN hObj,
int x,
int y);
256 int (* pfGetXSize)(GUI_DRAW_HANDLE hDrawObj);
257 int (* pfGetYSize)(GUI_DRAW_HANDLE hDrawObj);
262 const GUI_DRAW_CONSTS* pConsts;
265 GUI_DRAW_SELF_CB* pfDraw;
271 void GUI_DRAW__Draw (GUI_DRAW_HANDLE hDrawObj, WM_HWIN hObj,
int x,
int y);
272 int GUI_DRAW__GetXSize(GUI_DRAW_HANDLE hDrawObj);
273 int GUI_DRAW__GetYSize(GUI_DRAW_HANDLE hDrawObj);
276 WM_HMEM GUI_DRAW_BITMAP_Create (
const GUI_BITMAP* pBitmap,
int x,
int y);
277 WM_HMEM GUI_DRAW_BMP_Create (
const void* pBMP,
int x,
int y);
278 WM_HMEM GUI_DRAW_STREAMED_Create(
const GUI_BITMAP_STREAM * pBitmap,
int x,
int y);
279 WM_HMEM GUI_DRAW_SELF_Create(GUI_DRAW_SELF_CB* pfDraw,
int x,
int y);
288 extern const WIDGET_EFFECT WIDGET_Effect_3D;
289 extern const WIDGET_EFFECT WIDGET_Effect_3D1L;
290 extern const WIDGET_EFFECT WIDGET_Effect_3D2L;
291 extern const WIDGET_EFFECT WIDGET_Effect_None;
292 extern const WIDGET_EFFECT WIDGET_Effect_Simple;
301 void WIDGET__DrawFocusRect (WIDGET * pWidget,
const GUI_RECT * pRect,
int Dist);
302 void WIDGET__DrawHLine (WIDGET * pWidget,
int y,
int x0,
int x1);
303 void WIDGET__DrawTriangle (WIDGET * pWidget,
int x,
int y,
int Size,
int Inc);
304 void WIDGET__DrawVLine (WIDGET * pWidget,
int x,
int y0,
int y1);
305 void WIDGET__EFFECT_DrawDownRect(WIDGET * pWidget,
GUI_RECT * pRect);
306 void WIDGET__EFFECT_DrawDown (WIDGET * pWidget);
307 void WIDGET__EFFECT_DrawUpRect (WIDGET * pWidget,
GUI_RECT * pRect);
308 void WIDGET__FillRectEx (WIDGET * pWidget,
const GUI_RECT * pRect);
309 int WIDGET__GetWindowSizeX (WM_HWIN hWin);
310 GUI_COLOR WIDGET__GetBkColor (WM_HWIN hObj);
311 int WIDGET__GetXSize (
const WIDGET * pWidget);
312 int WIDGET__GetYSize (
const WIDGET * pWidget);
313 void WIDGET__GetClientRect (WIDGET * pWidget,
GUI_RECT * pRect);
314 void WIDGET__GetInsideRect (WIDGET * pWidget,
GUI_RECT * pRect);
315 void WIDGET__Init (WIDGET * pWidget,
int Id,
U16 State);
316 void WIDGET__RotateRect90 (WIDGET * pWidget,
GUI_RECT * pDest,
const GUI_RECT * pRect);
317 void WIDGET__SetScrollState (WM_HWIN hWin,
const WM_SCROLL_STATE * pVState,
const WM_SCROLL_STATE * pState);
318 void WIDGET__FillStringInRect (
const char * pText,
const GUI_RECT * pFillRect,
const GUI_RECT * pTextRectMax,
const GUI_RECT * pTextRectAct);
326 void WIDGET_SetState (WM_HWIN hObj,
int State);
327 void WIDGET_AndState (WM_HWIN hObj,
int State);
328 void WIDGET_OrState (WM_HWIN hObj,
int State);
329 int WIDGET_HandleActive (WM_HWIN hObj, WM_MESSAGE* pMsg);
330 int WIDGET_GetState (WM_HWIN hObj);
331 int WIDGET_SetWidth (WM_HWIN hObj,
int Width);
333 void WIDGET_EFFECT_3D_DrawUp(
void);
335 const WIDGET_EFFECT* WIDGET_SetDefaultEffect(
const WIDGET_EFFECT* pEffect);
337 void WIDGET_SetEffect (WM_HWIN hObj,
const WIDGET_EFFECT* pEffect);
339 const WIDGET_EFFECT* WIDGET_GetDefaultEffect(
void);
341 void WIDGET_EFFECT_3D_SetColor (
unsigned Index,
GUI_COLOR Color);
342 void WIDGET_EFFECT_3D1L_SetColor (
unsigned Index,
GUI_COLOR Color);
343 void WIDGET_EFFECT_3D2L_SetColor (
unsigned Index,
GUI_COLOR Color);
344 void WIDGET_EFFECT_Simple_SetColor(
unsigned Index,
GUI_COLOR Color);
346 GUI_COLOR WIDGET_EFFECT_3D_GetColor (
unsigned Index);
347 GUI_COLOR WIDGET_EFFECT_3D1L_GetColor (
unsigned Index);
348 GUI_COLOR WIDGET_EFFECT_3D2L_GetColor (
unsigned Index);
349 GUI_COLOR WIDGET_EFFECT_Simple_GetColor(
unsigned Index);
351 int WIDGET_EFFECT_3D_GetNumColors(
void);
352 int WIDGET_EFFECT_3D1L_GetNumColors(
void);
353 int WIDGET_EFFECT_3D2L_GetNumColors(
void);
354 int WIDGET_EFFECT_Simple_GetNumColors(
void);
362 #define WIDGET_SetDefaultEffect_3D() WIDGET_SetDefaultEffect(&WIDGET_Effect_3D) 363 #define WIDGET_SetDefaultEffect_3D1L() WIDGET_SetDefaultEffect(&WIDGET_Effect_3D1L) 364 #define WIDGET_SetDefaultEffect_3D2L() WIDGET_SetDefaultEffect(&WIDGET_Effect_3D2L) 365 #define WIDGET_SetDefaultEffect_None() WIDGET_SetDefaultEffect(&WIDGET_Effect_None) 366 #define WIDGET_SetDefaultEffect_Simple() WIDGET_SetDefaultEffect(&WIDGET_Effect_Simple) 370 #if defined(__cplusplus)