12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*****************************************************************************
- ** File: gobj_datastruct.h
- **
- ** Description:
- **
- ** Copyright(c) 2008 Sunmedia Technologies - All Rights Reserved
- **
- ** Author : qin.he
- **
- ** $Id: $
- *****************************************************************************/
- #ifndef _GUI_OBJECT_DATASTRUCTURE_H_
- #define _GUI_OBJECT_DATASTRUCTURE_H_
- /*head files*/
- #include <stdio.h>
- #include <ctype.h>
- #include <types.h>
- /*macro define*/
- #define GUI_OBJ_CAN_BE_FOCUSED 1
- #define GUI_OBJ_CAN_NOT_BE_FOCUSED 0
- #define GUI_OBJ_UPDATE_PERIOD 1 //(100 ms)
- #define GUI_OBJ_NO_UPDATE 0
- /*Event type and mask*/
- #define SYSAPP_GLOBAL_EVENT_TYPE (0)
- #define GUIOBJ_FEEDBACK_EVENT_TYPE (1 << 25)
- #define GUIOBJ_MESSAGE_MASK (APPLICATION_MESSAGE_MASK)
- #define GUIOBJ_MESSAGE_TYPE_MASK (APPLICATION_MESSAGE_TYPE_MASK)
- /*return type*/
- #define GUI_OBJECT_EVENT_INTERCEPTED (1 << 8)
- #define GUI_OBJECT_NO_POST_ACTION (1 << 9)
- #define GUI_OBJECT_EVENT_BYPASS (1 << 10)
- #define GUI_OBJECT_POST_EVENT (1 << 11)
- /*post action event*/
- #define GUI_OBJECT_CLOSE 0x2010
- #define GUI_OBJECT_SWITCH 0x2020
- #define GUI_OBJECT_MESSAGE 0x2030
- #define GUI_OBJECT_OPEN 0x2060
- #define GUI_OBJECT_CLOSE_AND_GUIMSG 0x2070
- #define GUI_OBJECT_GUIMSG 0x2080
- #define GUI_OBJECT_CLOSE_AND_BROADCAST 0x2090
- /*data structure define*/
- typedef struct _InteractiveData_t_
- {
- UINT32 dEventID;
- UINT32 dParam1;
- UINT32 dParam2;
- }InteractiveData_t;
- /***********************************************************************************************************************
- dEvent dParam1 dParam2
- GUI_OBJECT_CLOSE GUI object ID to be closed Currently not in use
- GUI_OBJECT_SWITCH GUI object ID to be opened optional extra param for gui object OnCreate function
- GUI_OBJECT_OPEN GUI object ID to be opened optional extra param for gui object OnCreate function
- GUI_OBJECT_MESSAGE GUI_RESPOND_YES or GUI_RESPOND_NO Currently not in use
- ************************************************************************************************************************/
- #define SetInteractiveData(PostEventData, Event, Param1, Param2)\
- {(PostEventData->dEventID = Event);\
- (PostEventData->dParam1 = Param1);\
- (PostEventData->dParam2 = Param2);}
- typedef int (*GUIObjectFuncPtr) (void *pPrivateData);
- typedef int (*GUIObjectFuncPtr1) (void **pPrivateData,UINT32 dPara);
- typedef int (*GUIObjectTimerFuncPtr) (void *pPrivateData, InteractiveData_t *pPostEventData);
- typedef int (*GUIObjectEventFuncPtr) (UINT32 dEventID, UINT32 dParam, void *pPrivateData, InteractiveData_t *pPostEventData);
- typedef struct _GUI_Object_Definition_t {
- UINT8 bCanBeFocused;
- UINT32 dUpdatePeriod; // 100 Mini-second per unit
- GUIObjectFuncPtr1 fpGUIObjectOnCreate;
- GUIObjectFuncPtr fpGUIObjectOnDestroy;
- GUIObjectFuncPtr fpGUIObjectOnFocused;
- GUIObjectFuncPtr fpGUIObjectOnLoseFocus;
- GUIObjectTimerFuncPtr fpGUIObjectOnTimerUpdate;
- GUIObjectEventFuncPtr fpGUIObjectOnEvent;
- } GUI_Object_Definition_t;
- #endif
|