STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
HEADER_Private.h
Go to the documentation of this file.
1 /*********************************************************************
2 * SEGGER Microcontroller GmbH & Co. KG *
3 * Solutions for real time microcontroller applications *
4 **********************************************************************
5 * *
6 * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG *
7 * *
8 * Internet: www.segger.com Support: support@segger.com *
9 * *
10 **********************************************************************
11 
12 ** emWin V5.28 - Graphical user interface for embedded applications **
13 All Intellectual Property rights in the Software belongs to SEGGER.
14 emWin is protected by international copyright laws. Knowledge of the
15 source code may not be used to write a similar product. This file may
16 only be used in accordance with the following terms:
17 
18 The software has been licensed to STMicroelectronics International
19 N.V. a Dutch company with a Swiss branch and its headquarters in Plan-
20 les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the
21 purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_
22 troller products commercialized by Licensee only, sublicensed and dis_
23 tributed under the terms and conditions of the End User License Agree_
24 ment supplied by STMicroelectronics International N.V.
25 Full source code is available at: www.segger.com
26 
27 We appreciate your understanding and fairness.
28 ----------------------------------------------------------------------
29 File : HEADER_Private.h
30 Purpose : Private HEADER include
31 --------------------END-OF-HEADER-------------------------------------
32 */
33 
34 #ifndef HEADER_PRIVATE_H
35 #define HEADER_PRIVATE_H
36 
37 
38 #include "HEADER.h"
39 #include "WIDGET.h"
40 #include "WM.h"
41 #include "GUI_ARRAY.h"
42 
43 #if GUI_WINSUPPORT
44 
45 /*********************************************************************
46 *
47 * Object definition
48 *
49 **********************************************************************
50 */
51 typedef struct {
52  int Width;
53  I16 Align;
54  WM_HMEM hDrawObj;
55  char acText[1];
56 } HEADER_COLUMN;
57 
58 typedef struct {
59  WIDGET_DRAW_ITEM_FUNC * pfDrawSkin;
60 } HEADER_SKIN_PRIVATE;
61 
62 typedef struct {
63  const GUI_FONT * pFont;
64  GUI_COLOR BkColor;
65  GUI_COLOR TextColor;
66  GUI_COLOR ArrowColor;
67  HEADER_SKIN_PRIVATE SkinPrivate;
68 } HEADER_PROPS;
69 
70 typedef struct {
71  WIDGET Widget;
72  HEADER_PROPS Props;
73  WIDGET_SKIN const * pWidgetSkin;
74  GUI_ARRAY Columns;
75  int CapturePosX;
76  int CaptureItem;
77  int ScrollPos;
78  int Sel;
79  int DirIndicatorColumn;
80  int DirIndicatorReverse;
81  unsigned Fixed;
82  U8 DragLimit;
83 } HEADER_Obj;
84 
85 /*********************************************************************
86 *
87 * Private (module internal) data
88 *
89 **********************************************************************
90 */
91 
92 extern HEADER_PROPS HEADER__DefaultProps;
93 extern const GUI_CURSOR * HEADER__pDefaultCursor;
94 extern int HEADER__DefaultBorderH;
95 extern int HEADER__DefaultBorderV;
96 
97 extern const WIDGET_SKIN HEADER__SkinClassic;
98 extern WIDGET_SKIN HEADER__Skin;
99 
100 extern WIDGET_SKIN const * HEADER__pSkinDefault;
101 
102 /*********************************************************************
103 *
104 * Macros for internal use
105 *
106 **********************************************************************
107 */
108 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
109  #define HEADER_INIT_ID(p) (p->Widget.DebugId = HEADER_ID)
110 #else
111  #define HEADER_INIT_ID(p)
112 #endif
113 
114 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
115  HEADER_Obj * HEADER_LockH(HEADER_Handle h);
116  #define HEADER_LOCK_H(h) HEADER_LockH(h)
117 #else
118  #define HEADER_LOCK_H(h) (HEADER_Obj *)GUI_LOCK_H(h)
119 #endif
120 
121 void HEADER__SetDrawObj(HEADER_Handle hObj, unsigned Index, GUI_DRAW_HANDLE hDrawObj);
122 
123 
124 #endif // GUI_WINSUPPORT
125 #endif // Avoid multiple inclusion
LCD_COLOR GUI_COLOR
Definition: GUI_Type.h:50
#define I16
Definition: Global.h:56
#define U8
Definition: Global.h:44