STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
KNOB_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 : KNOB.h
30 Purpose : KNOB include
31 --------------------END-OF-HEADER-------------------------------------
32 */
33 
34 #ifndef KNOB_PRIVATE_H
35 #define KNOB_PRIVATE_H
36 
37 #include "KNOB.h"
38 #include "GUI_Private.h"
39 
40 #if (GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT)
41 
42 /*********************************************************************
43 *
44 * Object definition
45 *
46 **********************************************************************
47 */
48 typedef struct {
49  I32 Snap; // Position where the knob snaps
50  I32 Period; // Time it takes to stop the knob in ms
51  GUI_COLOR BkColor; // The Bk color
52  I32 Offset; // the offset
53  I32 MinRange;
54  I32 MaxRange;
55  I32 TickSize; // Minimum movement range in 1/10 of degree
56  I32 KeyValue; // Range of movement for one key push
57 } KNOB_PROPS;
58 
59 typedef struct {
60  WIDGET Widget;
61  KNOB_PROPS Props;
62  WM_HMEM hContext;
63  I32 Angle;
64  I32 Value;
65  int xSize;
66  int ySize;
67  GUI_MEMDEV_Handle hMemSrc;
68  GUI_MEMDEV_Handle hMemDst;
69  GUI_MEMDEV_Handle hMemBk;
70 } KNOB_OBJ;
71 
72 /*********************************************************************
73 *
74 * Macros for internal use
75 *
76 **********************************************************************
77 */
78 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
79  #define KNOB_INIT_ID(p) p->Widget.DebugId = KNOB_ID
80 #else
81  #define KNOB_INIT_ID(p)
82 #endif
83 
84 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
85  KNOB_OBJ * KNOB_LockH(KNOB_Handle h);
86  #define KNOB_LOCK_H(h) KNOB_LockH(h)
87 #else
88  #define KNOB_LOCK_H(h) (KNOB_OBJ *)GUI_LOCK_H(h)
89 #endif
90 
91 /*********************************************************************
92 *
93 * Module internal data
94 *
95 **********************************************************************
96 */
97 extern KNOB_PROPS KNOB__DefaultProps;
98 
99 #endif // (GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT)
100 #endif // KNOB_PRIVATE_H
GUI_HMEM GUI_MEMDEV_Handle
Definition: GUI.h:889
LCD_COLOR GUI_COLOR
Definition: GUI_Type.h:50
#define I32
Definition: Global.h:59