STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
ICONVIEW_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 : ICONVIEW_Private.h
30 Purpose : ICONVIEW private header file
31 --------------------END-OF-HEADER-------------------------------------
32 */
33 
34 #ifndef ICONVIEW_PRIVATE_H
35 #define ICONVIEW_PRIVATE_H
36 
37 #include "WM.h"
38 #include "GUI_ARRAY.h"
39 #include "ICONVIEW.h"
40 
41 #if GUI_WINSUPPORT
42 
43 /*********************************************************************
44 *
45 * Types
46 *
47 **********************************************************************
48 */
49 typedef struct {
50  const GUI_FONT * pFont;
51  GUI_COLOR aBkColor[3];
52  GUI_COLOR aTextColor[3];
53  int FrameX, FrameY;
54  int SpaceX, SpaceY;
55  int TextAlign;
56  int IconAlign;
57  GUI_WRAPMODE WrapMode;
58 } ICONVIEW_PROPS;
59 
60 typedef struct {
61  WIDGET Widget;
62  WM_SCROLL_STATE ScrollStateV;
63  WM_SCROLL_STATE ScrollStateH;
64  ICONVIEW_PROPS Props;
65  GUI_ARRAY ItemArray;
66  int xSizeItems;
67  int ySizeItems;
68  int Sel;
69  U16 Flags;
70 } ICONVIEW_OBJ;
71 
72 typedef void tDrawImage (const void * pData, int xPos, int yPos);
73 typedef void tDrawText (ICONVIEW_OBJ * pObj, GUI_RECT * pRect, const char * s);
74 typedef void tGetImageSizes(const void * pData, int * xSize, int * ySize);
75 
76 typedef struct {
77  tDrawImage * pfDrawImage;
78  tDrawText * pfDrawText;
79  tGetImageSizes * pfGetImageSizes;
80  const void * pData;
81  U32 UserData;
82  int SizeofData;
83  char acText[1];
84 } ICONVIEW_ITEM;
85 
86 /*********************************************************************
87 *
88 * Function pointer(s)
89 *
90 **********************************************************************
91 */
92 extern void (* ICONVIEW__pfDrawStreamedBitmap)(const void * p, int x, int y);
93 
94 /*********************************************************************
95 *
96 * Macros for internal use
97 *
98 **********************************************************************
99 */
100 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
101  #define ICONVIEW_INIT_ID(p) (p->Widget.DebugId = ICONVIEW_ID)
102 #else
103  #define ICONVIEW_INIT_ID(p)
104 #endif
105 
106 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
107  ICONVIEW_OBJ * ICONVIEW_LockH(ICONVIEW_Handle h);
108  #define ICONVIEW_LOCK_H(h) ICONVIEW_LockH(h)
109 #else
110  #define ICONVIEW_LOCK_H(h) (ICONVIEW_OBJ *)GUI_LOCK_H(h)
111 #endif
112 
113 #endif /* GUI_WINSUPPORT */
114 #endif /* ICONVIEW_H */
115 
116 /*************************** End of file ****************************/
#define U32
Definition: Global.h:50
Definition: LCD.h:102
LCD_COLOR GUI_COLOR
Definition: GUI_Type.h:50
GUI_WRAPMODE
Definition: GUI.h:696
#define U16
Definition: Global.h:47