Select one of the symbols to view example projects that use it.
 
Outline
#define WM_INTERN_H
#include "WM.h"
#include "GUI_Private.h"
#define WM_SF_HASTRANS
#define WM_SF_MEMDEV
#define WM_SF_MEMDEV_ON_REDRAW
#define WM_SF_DISABLED
#define WM_SF_ISVIS
#define WM_SF_STAYONTOP
#define WM_SF_LATE_CLIP
#define WM_SF_ANCHOR_RIGHT
#define WM_SF_ANCHOR_BOTTOM
#define WM_SF_ANCHOR_LEFT
#define WM_SF_ANCHOR_TOP
#define WM_SF_INVALID
#define WM_SF_CONST_OUTLINE
#define WM_H2P
#define WM_ASSERT_NOT_IN_PAINT
WM_NOTIFY_CHILD_HAS_FOCUS_INFO
WM_CRITICAL_HANDLE
WM__CreateFlags;
WM__ahCapture;
WM__ahWinFocus;
WM__CaptureReleaseAuto;
WM_pfPollPID;
WM__PaintCallbackCnt;
WM__hCreateStatic;
WM__TransWindowCnt;
WM__hATransWindow;
WM__aCHWinModal;
WM__aCHWinLast;
WM__ModalLayer;
WM__aCHWinMouseOver;
#define GUI_EXTERN
#define GUI_EXTERN
WM__InvalidLayerMask;
WM__TouchedLayer;
#define WM__TOUCHED_LAYER
#define WM__TOUCHED_LAYER
WM__NumWindows;
WM__NumInvalidWindows;
WM__FirstWin;
WM__pFirstCriticalHandle;
WM__ahDesktopWin;
WM__aBkColor;
WM__ActivateClipRect();
WM__ClipAtParentBorders(GUI_RECT *, GUI_HWIN);
WM__Client2Screen(const WM_Obj *, GUI_RECT *);
WM__DeleteAssocTimer(GUI_HWIN);
WM__DeleteSecure(GUI_HWIN);
WM__DetachWindow(GUI_HWIN);
WM__ForEachDesc(GUI_HWIN, WM_tfForEach *, void *);
WM__GetClientRectWin(const WM_Obj *, GUI_RECT *);
WM__GetClientRectEx(GUI_HWIN, GUI_RECT *);
WM__GetFirstSibling(GUI_HWIN);
WM__GetFocusedChild(GUI_HWIN);
WM__GetHasFocus(GUI_HWIN);
WM__GetLastSibling(GUI_HWIN);
WM__GetPrevSibling(GUI_HWIN);
WM__GetTopLevelLayer(GUI_HWIN);
WM__GetWindowSizeX(const WM_Obj *);
WM__GetWindowSizeY(const WM_Obj *);
WM__InsertWindowIntoList(GUI_HWIN, GUI_HWIN);
WM__Invalidate1Abs(GUI_HWIN, const GUI_RECT *);
WM__InvalidateAreaBelow(const GUI_RECT *, GUI_HWIN);
WM__InvalidateRectEx(const GUI_RECT *, GUI_HWIN, GUI_HWIN);
WM__InvalidateTransAreaAbove(const GUI_RECT *, GUI_HWIN);
WM__IntersectRect(GUI_RECT *, const GUI_RECT *, const GUI_RECT *);
WM__IsAncestor(GUI_HWIN, GUI_HWIN);
WM__IsAncestorOrSelf(GUI_HWIN, GUI_HWIN);
WM__IsChild(GUI_HWIN, GUI_HWIN);
WM__IsEnabled(GUI_HWIN);
WM__IsInModalArea(GUI_HWIN);
WM__IsInWindow(WM_Obj *, int, int);
WM__IsWindow(GUI_HWIN);
WM__LeaveIVRSearch();
WM__MoveTo(GUI_HWIN, int, int);
WM__MoveWindow(GUI_HWIN, int, int);
WM__NotifyVisChanged(GUI_HWIN, GUI_RECT *);
WM__RectIsNZ(const GUI_RECT *);
WM__RemoveWindowFromList(GUI_HWIN);
WM__Screen2Client(const WM_Obj *, GUI_RECT *);
WM__SelectTopLevelLayer(GUI_HWIN);
WM__SendMsgNoData(GUI_HWIN, unsigned char);
WM__SendMessage(GUI_HWIN, WM_MESSAGE *);
WM__SendMessageIfEnabled(GUI_HWIN, WM_MESSAGE *);
WM__SendMessageNoPara(GUI_HWIN, int);
WM__SendPIDMessage(GUI_HWIN, WM_MESSAGE *);
WM__SetScrollbarH(GUI_HWIN, int);
WM__SetScrollbarV(GUI_HWIN, int);
WM__UpdateChildPositions(WM_Obj *, int, int, int, int);
WM_PID__GetPrevState(GUI_PID_STATE *, int);
WM_PID__SetPrevState(GUI_PID_STATE *, int);
WM__SendTouchMessage(GUI_HWIN, WM_MESSAGE *);
WM_GetFlags(GUI_HWIN);
WM__Paint(GUI_HWIN);
WM__Paint1(GUI_HWIN);
WM__AddCriticalHandle(WM_CRITICAL_HANDLE *);
WM__RemoveCriticalHandle(WM_CRITICAL_HANDLE *);
WM__SetLastTouched(GUI_HWIN);
WM__InvalidateDrawAndDescs(GUI_HWIN);
#define WM__InvalidateDrawAndDescs
EFFECT_CONTEXT
GUI_MEMDEV__CalcParaFadeIn(int, int);
GUI_MEMDEV__ClipBK(EFFECT_CONTEXT *);
GUI_MEMDEV__RemoveStaticDevice(GUI_HWIN);
GUI_MEMDEV__UndoClipBK(EFFECT_CONTEXT *);
WM__InvalidateParent(const GUI_RECT *, GUI_HWIN, GUI_HWIN);
WM__InvalidateRect(const GUI_RECT *, GUI_HWIN, GUI_HWIN, unsigned short);
WM__SetInvalidateParentFunc(WM_tfInvalidateParent);
WM__SetInvalidateDrawFunc(WM_tfInvalidateDrawFunc);
WM__SetPaint1Func(WM_tfPaint1Func);
Files
loading...
SourceVuSTM32 Libraries and SamplesSTemWininc/WM_Intern.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/********************************************************************* * SEGGER Microcontroller GmbH & Co. KG * * Solutions for real time microcontroller applications * ********************************************************************** * * * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * * * * Internet: www.segger.com Support: support@segger.com * * * ********************************************************************** ** emWin V5.44 - Graphical user interface for embedded applications ** All Intellectual Property rights in the Software belongs to SEGGER. emWin is protected by international copyright laws. Knowledge of the source code may not be used to write a similar product. This file may only be used in accordance with the following terms: The software has been licensed to STMicroelectronics International N.V. a Dutch company with a Swiss branch and its headquarters in Plan- les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ troller products commercialized by Licensee only, sublicensed and dis_ tributed under the terms and conditions of the End User License Agree_ ment supplied by STMicroelectronics International N.V. Full source code is available at: www.segger.com We appreciate your understanding and fairness. ---------------------------------------------------------------------- ****************************************************************************** * @attention * * <h2><center>&copy; Copyright (c) 2018 STMicroelectronics. * All rights reserved.</center></h2> * * This software component is licensed by ST under Ultimate Liberty license SLA0044, * the "License"; You may not use this file except in compliance with the License. * You may obtain a copy of the License at: * http://www.st.com/SLA0044 * ****************************************************************************** ---------------------------------------------------------------------- File : WM_Intern.h Purpose : Windows manager internal include ---------------------------------------------------------------------- *//* ... */ #ifndef WM_INTERN_H /* Make sure we only include it once */ #define WM_INTERN_H /* Make sure we only include it once */ #include "WM.h" #include "GUI_Private.h" #if defined(__cplusplus) extern "C" { /* Make sure we have C-declarations in C++ programs */ #endif #if GUI_WINSUPPORT /********************************************************************* * * defines * ********************************************************************** The following could be placed in a file of its own as it is not used outside of the window manager *//* ... */ /* Basic Windows status flags. For module-internally use only ! *//* ... */ #define WM_SF_HASTRANS WM_CF_HASTRANS #define WM_SF_MEMDEV WM_CF_MEMDEV #define WM_SF_MEMDEV_ON_REDRAW WM_CF_MEMDEV_ON_REDRAW #define WM_SF_DISABLED WM_CF_DISABLED /* Disabled: Does not receive PID (mouse & touch) input */ #define WM_SF_ISVIS WM_CF_SHOW /* Is visible flag */ #define WM_SF_STAYONTOP WM_CF_STAYONTOP #define WM_SF_LATE_CLIP WM_CF_LATE_CLIP #define WM_SF_ANCHOR_RIGHT WM_CF_ANCHOR_RIGHT #define WM_SF_ANCHOR_BOTTOM WM_CF_ANCHOR_BOTTOM #define WM_SF_ANCHOR_LEFT WM_CF_ANCHOR_LEFT #define WM_SF_ANCHOR_TOP WM_CF_ANCHOR_TOP #define WM_SF_INVALID WM_CF_ACTIVATE /* We reuse this flag, as it is create only and Invalid is status only */ #define WM_SF_CONST_OUTLINE WM_CF_CONST_OUTLINE /* Constant outline.*/ #define WM_H2P(hWin) ((WM_Obj*)GUI_ALLOC_h2p(hWin)) 14 defines #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_WARNINGS #define WM_ASSERT_NOT_IN_PAINT() { if (WM__PaintCallbackCnt) \ GUI_DEBUG_ERROROUT("Function may not be called from within a paint event"); \ ...}... /* ... */#else #define WM_ASSERT_NOT_IN_PAINT() #endif /********************************************************************* * * Data types & structures * ********************************************************************** *//* ... */ typedef struct { WM_HWIN hOld; WM_HWIN hNew; ...} WM_NOTIFY_CHILD_HAS_FOCUS_INFO; typedef struct WM_CRITICAL_HANDLE { struct WM_CRITICAL_HANDLE * pNext; volatile WM_HWIN hWin; ...} WM_CRITICAL_HANDLE; /********************************************************************* * * Data (extern) * ********************************************************************** *//* ... */ extern U32 WM__CreateFlags; extern WM_HWIN WM__ahCapture[GUI_NUM_LAYERS]; extern WM_HWIN WM__ahWinFocus[GUI_NUM_LAYERS]; extern char WM__CaptureReleaseAuto; extern WM_tfPollPID * WM_pfPollPID; extern U8 WM__PaintCallbackCnt; /* Public for assertions only */ extern WM_HWIN WM__hCreateStatic; #if WM_SUPPORT_TRANSPARENCY extern int WM__TransWindowCnt; extern WM_HWIN WM__hATransWindow;/* ... */ #endif #if WM_SUPPORT_DIAG extern void (*WM__pfShowInvalid)(WM_HWIN hWin); #endif extern WM_CRITICAL_HANDLE WM__aCHWinModal[GUI_NUM_LAYERS]; extern WM_CRITICAL_HANDLE WM__aCHWinLast[GUI_NUM_LAYERS]; extern int WM__ModalLayer; #if GUI_SUPPORT_MOUSE extern WM_CRITICAL_HANDLE WM__aCHWinMouseOver[GUI_NUM_LAYERS]; #endif #ifdef WM_C #define GUI_EXTERN #else #define GUI_EXTERN extern #endif #if (GUI_NUM_LAYERS > 1) GUI_EXTERN U32 WM__InvalidLayerMask; GUI_EXTERN unsigned WM__TouchedLayer; #define WM__TOUCHED_LAYER WM__TouchedLayer /* ... */#else #define WM__TOUCHED_LAYER GUI_CURSOR_LAYER #endif GUI_EXTERN U16 WM__NumWindows; GUI_EXTERN U16 WM__NumInvalidWindows; GUI_EXTERN WM_HWIN WM__FirstWin; GUI_EXTERN WM_CRITICAL_HANDLE * WM__pFirstCriticalHandle; GUI_EXTERN WM_HWIN WM__ahDesktopWin[GUI_NUM_LAYERS]; GUI_EXTERN GUI_COLOR WM__aBkColor[GUI_NUM_LAYERS]; #undef GUI_EXTERN /********************************************************************* * * Prototypes * ********************************************************************** *//* ... */ void WM__ActivateClipRect (void); int WM__ClipAtParentBorders (GUI_RECT * pRect, WM_HWIN hWin); void WM__Client2Screen (const WM_Obj * pWin, GUI_RECT * pRect); void WM__DeleteAssocTimer (WM_HWIN hWin); void WM__DeleteSecure (WM_HWIN hWin); void WM__DetachWindow (WM_HWIN hChild); void WM__ForEachDesc (WM_HWIN hWin, WM_tfForEach * pcb, void * pData); void WM__GetClientRectWin (const WM_Obj * pWin, GUI_RECT * pRect); void WM__GetClientRectEx (WM_HWIN hWin, GUI_RECT * pRect); WM_HWIN WM__GetFirstSibling (WM_HWIN hWin); WM_HWIN WM__GetFocusedChild (WM_HWIN hWin); int WM__GetHasFocus (WM_HWIN hWin); WM_HWIN WM__GetLastSibling (WM_HWIN hWin); WM_HWIN WM__GetPrevSibling (WM_HWIN hWin); int WM__GetTopLevelLayer (WM_HWIN hWin); int WM__GetWindowSizeX (const WM_Obj * pWin); int WM__GetWindowSizeY (const WM_Obj * pWin); void WM__InsertWindowIntoList (WM_HWIN hWin, WM_HWIN hParent); void WM__Invalidate1Abs (WM_HWIN hWin, const GUI_RECT * pRect); void WM__InvalidateAreaBelow (const GUI_RECT * pRect, WM_HWIN StopWin); void WM__InvalidateRectEx (const GUI_RECT * pInvalidRect, WM_HWIN hParent, WM_HWIN hStop); void WM__InvalidateTransAreaAbove(const GUI_RECT * pRect, WM_HWIN StopWin); int WM__IntersectRect (GUI_RECT * pDest, const GUI_RECT * pr0, const GUI_RECT * pr1); int WM__IsAncestor (WM_HWIN hChild, WM_HWIN hParent); int WM__IsAncestorOrSelf (WM_HWIN hChild, WM_HWIN hParent); int WM__IsChild (WM_HWIN hWin, WM_HWIN hParent); int WM__IsEnabled (WM_HWIN hWin); int WM__IsInModalArea (WM_HWIN hWin); int WM__IsInWindow (WM_Obj * pWin, int x, int y); int WM__IsWindow (WM_HWIN hWin); void WM__LeaveIVRSearch (void); void WM__MoveTo (WM_HWIN hWin, int x, int y); void WM__MoveWindow (WM_HWIN hWin, int dx, int dy); void WM__NotifyVisChanged (WM_HWIN hWin, GUI_RECT * pRect); int WM__RectIsNZ (const GUI_RECT * pr); void WM__RemoveWindowFromList (WM_HWIN hWin); void WM__Screen2Client (const WM_Obj * pWin, GUI_RECT * pRect); void WM__SelectTopLevelLayer (WM_HWIN hWin); void WM__SendMsgNoData (WM_HWIN hWin, U8 MsgId); void WM__SendMessage (WM_HWIN hWin, WM_MESSAGE * pm); void WM__SendMessageIfEnabled (WM_HWIN hWin, WM_MESSAGE * pm); void WM__SendMessageNoPara (WM_HWIN hWin, int MsgId); void WM__SendPIDMessage (WM_HWIN hWin, WM_MESSAGE * pMsg); int WM__SetScrollbarH (WM_HWIN hWin, int OnOff); int WM__SetScrollbarV (WM_HWIN hWin, int OnOff); void WM__UpdateChildPositions (WM_Obj * pObj, int dx0, int dy0, int dx1, int dy1); void WM_PID__GetPrevState (GUI_PID_STATE * pPrevState, int Layer); void WM_PID__SetPrevState (GUI_PID_STATE * pPrevState, int Layer); void WM__SendTouchMessage (WM_HWIN hWin, WM_MESSAGE * pMsg); U16 WM_GetFlags (WM_HWIN hWin); int WM__Paint (WM_HWIN hWin); void WM__Paint1 (WM_HWIN hWin); void WM__AddCriticalHandle (WM_CRITICAL_HANDLE * pCH); void WM__RemoveCriticalHandle (WM_CRITICAL_HANDLE * pCH); void WM__SetLastTouched (WM_HWIN hWin); #if WM_SUPPORT_STATIC_MEMDEV void WM__InvalidateDrawAndDescs(WM_HWIN hWin); #else #define WM__InvalidateDrawAndDescs(hWin) #endif /* Static memory devices */ #if (GUI_SUPPORT_MEMDEV) typedef struct { int xSize, ySize; // Size of bk window ...} EFFECT_CONTEXT; int GUI_MEMDEV__CalcParaFadeIn (int Period, int TimeUsed); void GUI_MEMDEV__ClipBK (EFFECT_CONTEXT * pContext); void GUI_MEMDEV__RemoveStaticDevice(WM_HWIN hWin); void GUI_MEMDEV__UndoClipBK (EFFECT_CONTEXT * pContext);/* ... */ #endif void WM__InvalidateParent(const GUI_RECT * pInvalidRect, WM_HWIN hParent, WM_HWIN hStop); void WM__InvalidateRect (const GUI_RECT * pInvalidRect, WM_HWIN hParent, WM_HWIN hStop, U16 Flags); WM_tfInvalidateParent WM__SetInvalidateParentFunc(WM_tfInvalidateParent pfInvalidateParentFunc); WM_tfInvalidateDrawFunc WM__SetInvalidateDrawFunc (WM_tfInvalidateDrawFunc pfInvalidateDrawFunc); WM_tfPaint1Func WM__SetPaint1Func (WM_tfPaint1Func pfPaint1Func); /* ... */ #endif /* GUI_WINSUPPORT */ #if defined(__cplusplus) }extern "C" { ... } #endif /* ... */ #endif /* WM_INTERN_H */ /*************************** End of file ****************************/
Details
Show:
from
Types: Columns:
This file uses the notable symbols shown below. Click anywhere in the file to view more details.