eGUI alias D4D  Release 3.0
Reference Manual
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
d4d_private.h
Go to the documentation of this file.
1 /**************************************************************************
2 *
3 * Copyright 2014 by Petr Gargulak. eGUI Community.
4 * Copyright 2009-2013 by Petr Gargulak. Freescale Semiconductor, Inc.
5 *
6 ***************************************************************************
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License Version 3
9 * or later (the "LGPL").
10 *
11 * As a special exception, the copyright holders of the eGUI project give you
12 * permission to link the eGUI sources with independent modules to produce an
13 * executable, regardless of the license terms of these independent modules,
14 * and to copy and distribute the resulting executable under terms of your
15 * choice, provided that you also meet, for each linked independent module,
16 * the terms and conditions of the license of that module.
17 * An independent module is a module which is not derived from or based
18 * on this library.
19 * If you modify the eGUI sources, you may extend this exception
20 * to your version of the eGUI sources, but you are not obligated
21 * to do so. If you do not wish to do so, delete this
22 * exception statement from your version.
23 *
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
27 *
28 * You should have received a copy of the GNU General Public License
29 * and the GNU Lesser General Public License along with this program.
30 * If not, see <http://www.gnu.org/licenses/>.
31 *
32 ***************************************************************************/
47 #ifndef __D4D_PRIVATE_H
48 #define __D4D_PRIVATE_H
49 
50 /******************************************************************************
51 * Includes
52 ******************************************************************************/
53 
54 /******************************************************************************
55 * Constants
56 ******************************************************************************/
57 
58 /******************************************************************************
59 * Types
60 ******************************************************************************/
61 
62 
63 /******************************************************************************
64 * Macros
65 ******************************************************************************/
66 
67 #ifdef __EGUI_DOXYGEN__
68  #define D4D_MK_STR(x) d4dlcd_template_ID
69 #else
70  #define D4D_MK_STR1(x) x##_ID
71  #define D4D_MK_STR(x) D4D_MK_STR1(x)
72 #endif
73 
74 #define D4D_PASTE( a, b) D4D_PASTE_NOEXPAND( a, b)
75 #define D4D_PASTE_NOEXPAND( a, b) a##b
76 
77 /******************************************************************************
78 * Global variables
79 ******************************************************************************/
80 
81 // screen activation hisotry array & index
84 
85 // if not NULL, keys are captured by this object
87 
88 // one and only message object being used to route information to objects
89 extern D4D_MESSAGE d4d_msg;
90 
91 // The D4D system flags
93 
94 // zero size structure for automatic function capability
95 extern const D4D_SIZE d4d_size_zero;
96 
97 // zero point structure
98 extern const D4D_POINT d4d_point_zero;
99 
100 #ifdef D4D_LLD_TCH
101  extern D4D_OBJECT* d4d_LastTouchedObj;
102 #endif
103 
104 #if (D4D_EXTSRC_TEXT_ENABLE == D4D_TRUE) || (D4D_EXTSRC_FILE_ENABLE == D4D_TRUE)
106 #endif
107 
108 /******************************************************************************
109 * Global functions
110 ******************************************************************************/
111 
112 // Internal API of base functions
113 
114 void D4D_HandleKeys(void);
115 
116 
117 void D4D_SendMessage(D4D_MESSAGE* pMsg);
118 void D4D_SendMessageMask(D4D_MESSAGE* pMsg, D4D_OBJECT_FLAGS parentFlagsMask, D4D_OBJECT_FLAGS endFlagMask);
119 void D4D_SendMessageBack(D4D_MESSAGE* pMsg);
120 
121 // Objects private functions
122 void D4D_ObjOnMessage(D4D_MESSAGE* pMsg);
123 void D4D_ChangeText(D4D_STRING* pBuff, D4D_TCHAR* pNewText, D4D_TCHAR fillChar);
124 
127 
131 D4D_OBJECT* D4D_FindNextObject(D4D_OBJECT* pObject, D4D_BOOL childrenAlso);
135 D4D_OBJECT* D4D_FindPreviousObject(D4D_OBJECT* pObject, D4D_BOOL childrenAlso);
136 
137 
138 void D4D_RedrawScreen(D4D_SCREEN* pScreen);
142 
143 
145 void D4D_HandleTimeTicks(D4D_SCREEN* pScreen);
146 
147 
148 void D4D_SetObjectFlags(D4D_OBJECT* pObject, D4D_OBJECT_FLAGS flagsMask, D4D_BOOL alsoChildren);
149 void D4D_SetObjectScreenPointer(D4D_OBJECT* pObject, D4D_SCREEN* pScreen);
150 // Font private function declaration
151 
152 void D4D_ComputeGeometry(D4D_GEOMETRY * pGeometry, D4D_OBJECT* pObject);
153 void D4D_DrawFrame(D4D_OBJECT* pObject, D4D_COLOR clrT, D4D_COLOR clrB);
154 
155 // String & font private functions
157 
158 #endif /* __D4D_PRIVATE_H */
D4D_WCHAR D4D_TCHAR
Type definition of eGUI character (it depends on UNICODE setting if this is D4D_CHAR or D4D_WCHAR)...
Definition: d4d_types.h:284
D4D_OBJECT * D4D_GetParentObject(D4D_OBJECT *pObject)
Definition: d4d_object.c:498
D4D_OBJECT * d4d_pKeysCapturer
Definition: d4d_base.c:69
D4D_SYSTEM_FLAGS d4d_systemFlags
Definition: d4d_base.c:89
Type definition of eGUI point structure.
Definition: d4d_types.h:223
void D4D_SendMessageMask(D4D_MESSAGE *pMsg, D4D_OBJECT_FLAGS parentFlagsMask, D4D_OBJECT_FLAGS endFlagMask)
Definition: d4d_base.c:714
D4D_COOR D4D_LCD_PrintChr(D4D_TCHAR ch, D4D_PRINT_DESC *p_CharDes)
Definition: d4d_font.c:645
D4D object messages structure.
Definition: d4d_base.h:400
D4D_BOOL D4D_ScrCheckExitBtnCoor(D4D_SCREEN *pScreen, D4D_POINT *point)
Definition: d4d_screen.c:1134
D4D_OBJECT * D4D_FindPreviousSiblingObject(D4D_OBJECT *pObject)
Definition: d4d_object.c:667
The string type. This structure contains all properties about string in eGUI.
Definition: d4d_string.h:100
D4D_OBJECT * D4D_GetLastObject(D4D_SCREEN *pScreen)
The function returns the pointer to last object in the screen.
Definition: d4d_screen.c:656
D4D_OBJECT * D4D_FindNextParentSiblingObject(D4D_OBJECT *pObject)
Definition: d4d_object.c:539
void D4D_DrawFrame(D4D_OBJECT *pObject, D4D_COLOR clrT, D4D_COLOR clrB)
Function draw standard object frame based on the object settings and current state.
D4D_COOR D4D_GetScrHeaderSize(D4D_SCREEN *pScreen)
Definition: d4d_screen.c:767
#define D4D_SCREEN_HISTORY
This macro is used to set the screen buffer depth. If not defined, the 5 is used as a default...
Definition: d4d_base.h:73
D4D_OBJECT * D4D_FindNextSiblingObject(D4D_OBJECT *pObject)
Definition: d4d_object.c:558
D4D_OBJECT * D4D_FindNextObjectOnScreen(D4D_OBJECT *pObject)
Definition: d4d_object.c:514
const D4D_SIZE d4d_size_zero
Definition: d4d_base.c:74
void D4D_SetObjectFlags(D4D_OBJECT *pObject, D4D_OBJECT_FLAGS flagsMask, D4D_BOOL alsoChildren)
Definition: d4d_object.c:750
D4D_MESSAGE d4d_msg
Definition: d4d_base.c:72
void D4D_HandleTimeTicks(D4D_SCREEN *pScreen)
Definition: d4d_screen.c:1107
Byte D4D_COOR
Type definition of eGUI coordination variables.
Definition: d4d_types.h:219
D4D_OBJECT * D4D_FindPreviousObjectOnScreen(D4D_OBJECT *pObject)
Definition: d4d_object.c:622
LWord D4D_OBJECT_FLAGS
The object flags type. The masks are described here D4D OBJECT Defines masks of object behaviour flag...
Definition: d4d_object.h:128
unsigned char Byte
Type definition of Byte (unsigned 8-bit).
Definition: d4d_types.h:151
void D4D_HandleKeys(void)
Definition: d4d_base.c:582
void D4D_ObjOnMessage(D4D_MESSAGE *pMsg)
Definition: d4d_object.c:443
#define D4D_EXTSRC_BUFF_SIZE
This macro is used to specify size of buffer that is using when external file support is enabled...
Definition: d4d_base.h:167
void D4D_ChangeText(D4D_STRING *pBuff, D4D_TCHAR *pNewText, D4D_TCHAR fillChar)
Definition: d4d_string.c:599
D4D_BOOL D4D_HasObjectChildren(D4D_OBJECT *pObject)
Definition: d4d_object.c:479
D4D_OBJECT * D4D_FindPreviousParentSiblingObject(D4D_OBJECT *pObject)
Definition: d4d_object.c:648
The object main structure type definition.
Definition: d4d_object.h:167
void D4D_ComputeGeometry(D4D_GEOMETRY *pGeometry, D4D_OBJECT *pObject)
Definition: d4d_base.c:1047
void D4D_SetObjectScreenPointer(D4D_OBJECT *pObject, D4D_SCREEN *pScreen)
Definition: d4d_object.c:777
LWord D4D_BOOL
Type definition of eGUI boolean.
Definition: d4d_types.h:204
Type definition of eGUI size structure.
Definition: d4d_types.h:230
D4D_OBJECT * D4D_FindNextObject(D4D_OBJECT *pObject, D4D_BOOL childrenAlso)
Definition: d4d_object.c:587
const D4D_POINT d4d_point_zero
Definition: d4d_base.c:75
The screen structure type. The main screen structure that contains all needed data to run the eGUI sc...
Definition: d4d_screen.h:162
Type definition of eGUI geometry structure.
Definition: d4d_types.h:237
Byte d4d_screenHistoryIndex
Definition: d4d_base.c:66
Byte d4d_extsrcBuffer[D4D_EXTSRC_BUFF_SIZE]
Byte D4D_SYSTEM_FLAGS
Definition: d4d_base.h:469
void D4D_SendMessage(D4D_MESSAGE *pMsg)
Definition: d4d_base.c:681
D4D_SCREEN * d4d_screenHistory[D4D_SCREEN_HISTORY]
Definition: d4d_base.c:65
LWord D4D_COLOR
Type definition of eGUI color variables.
Definition: d4d_types.h:262
void D4D_RedrawScreen(D4D_SCREEN *pScreen)
Definition: d4d_screen.c:1058
void D4D_SendMessageBack(D4D_MESSAGE *pMsg)
Definition: d4d_base.c:769
D4D_BOOL D4D_ScrCheckCoor(D4D_SCREEN *pScreen, D4D_POINT *point)
The function check if the coordination are in screen area.
Definition: d4d_screen.c:634
D4D_OBJECT * D4D_FindPreviousObject(D4D_OBJECT *pObject, D4D_BOOL childrenAlso)
Definition: d4d_object.c:697