34 #ifndef MENU_PRIVATE_H 35 #define MENU_PRIVATE_H 53 #define MENU_SF_HORIZONTAL MENU_CF_HORIZONTAL 54 #define MENU_SF_VERTICAL MENU_CF_VERTICAL 55 #define MENU_SF_OPEN_ON_POINTEROVER MENU_CF_OPEN_ON_POINTEROVER 56 #define MENU_SF_CLOSE_ON_SECOND_CLICK MENU_CF_CLOSE_ON_SECOND_CLICK 57 #define MENU_SF_HIDE_DISABLED_SEL MENU_CF_HIDE_DISABLED_SEL 59 #define MENU_SF_ACTIVE (1 << 6) // Internal flag only 60 #define MENU_SF_POPUP (1 << 7) // Internal flag only 61 #define MENU_SF_ARROW (1 << 8) // Internal flag only 73 WIDGET_DRAW_ITEM_FUNC * pfDrawSkin;
95 MENU_SKIN_PRIVATE SkinPrivate;
107 char IsSubmenuActive;
111 unsigned ArrowAreaWidth;
112 WIDGET_SKIN
const * pWidgetSkin;
121 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 122 #define MENU_INIT_ID(pObj) (pObj->Widget.DebugId = MENU_ID) 124 #define MENU_INIT_ID(pObj) 127 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 128 MENU_Obj * MENU_LockH(MENU_Handle hObj);
129 #define MENU_LOCK_H(hObj) MENU_LockH(hObj) 131 #define MENU_LOCK_H(hObj) (MENU_Obj *)GUI_LOCK_H(hObj) 141 extern MENU_PROPS MENU__DefaultProps;
142 extern const WIDGET_EFFECT * MENU__pDefaultEffect;
144 extern const WIDGET_SKIN MENU__SkinClassic;
145 extern WIDGET_SKIN MENU__Skin;
147 extern WIDGET_SKIN
const * MENU__pSkinDefault;
155 int MENU__CalcMenuSizeX (MENU_Handle hObj);
156 int MENU__CalcMenuSizeY (MENU_Handle hObj);
157 int MENU__FindItem (MENU_Handle hObj,
U16 ItemId, MENU_Handle* phMenu);
158 int MENU__GetEffectSize (MENU_Handle hObj);
159 int MENU__GetItemHeight (MENU_Handle hObj,
unsigned Index);
160 int MENU__GetItemWidth (MENU_Handle hObj,
unsigned Index);
161 unsigned MENU__GetNumItems (MENU_Obj * pObj);
162 int MENU__HasEffect (MENU_Handle hObj, MENU_Obj * pObj);
163 void MENU__InvalidateItem (MENU_Handle hObj,
unsigned Index);
164 void MENU__RecalcTextWidthOfItems(MENU_Obj * pObj);
165 void MENU__ResizeMenu (MENU_Handle hObj);
166 int MENU__SendMenuMessage (MENU_Handle hObj, WM_HWIN hDestWin,
U16 MsgType,
U16 ItemId);
167 char MENU__SetItem (MENU_Handle hObj,
unsigned Index,
const MENU_ITEM_DATA* pItemData);
168 void MENU__SetItemFlags (MENU_Obj * pObj,
unsigned Index,
U16 Mask,
U16 Flags);
170 #endif // GUI_WINSUPPORT 171 #endif // MENU_PRIVATE_H