Andrew Reed / Mbed OS CITY1082-i2c_master_wifi_mqtt
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers KNOB_Private.h Source File

KNOB_Private.h

00001 /*********************************************************************
00002 *                SEGGER Microcontroller GmbH                         *
00003 *        Solutions for real time microcontroller applications        *
00004 **********************************************************************
00005 *                                                                    *
00006 *        (c) 1996 - 2018  SEGGER Microcontroller GmbH                *
00007 *                                                                    *
00008 *        Internet: www.segger.com    Support:  support@segger.com    *
00009 *                                                                    *
00010 **********************************************************************
00011 
00012 ** emWin V5.48 - Graphical user interface for embedded applications **
00013 All  Intellectual Property rights  in the Software belongs to  SEGGER.
00014 emWin is protected by  international copyright laws.  Knowledge of the
00015 source code may not be used to write a similar product.  This file may
00016 only be used in accordance with the following terms:
00017 
00018 The software  has been licensed to  Cypress Semiconductor Corporation,
00019 whose registered  office is situated  at 198 Champion Ct. San Jose, CA 
00020 95134 USA  solely for the  purposes of creating  libraries for Cypress
00021 PSoC3 and  PSoC5 processor-based devices,  sublicensed and distributed
00022 under  the  terms  and  conditions  of  the  Cypress  End User License
00023 Agreement.
00024 Full source code is available at: www.segger.com
00025 
00026 We appreciate your understanding and fairness.
00027 ----------------------------------------------------------------------
00028 Licensing information
00029 Licensor:                 SEGGER Microcontroller Systems LLC
00030 Licensed to:              Cypress Semiconductor Corp, 198 Champion Ct., San Jose, CA 95134, USA
00031 Licensed SEGGER software: emWin
00032 License number:           GUI-00319
00033 License model:            Services and License Agreement, signed June 10th, 2009
00034 Licensed platform:        Any Cypress platform (Initial targets are: PSoC3, PSoC5)
00035 ----------------------------------------------------------------------
00036 Support and Update Agreement (SUA)
00037 SUA period:               2009-06-12 - 2022-07-27
00038 Contact to extend SUA:    sales@segger.com
00039 ----------------------------------------------------------------------
00040 File        : KNOB.h
00041 Purpose     : KNOB include
00042 --------------------END-OF-HEADER-------------------------------------
00043 */
00044 
00045 #ifndef KNOB_PRIVATE_H
00046 #define KNOB_PRIVATE_H
00047 
00048 #include "KNOB.h"
00049 #include "GUI_Private.h"
00050 
00051 #if (GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT)
00052 
00053 /*********************************************************************
00054 *
00055 *       Object definition
00056 *
00057 **********************************************************************
00058 */
00059 typedef struct {
00060   I32 Snap;          // Position where the knob snaps
00061   I32 Period;        // Time it takes to stop the knob in ms
00062   GUI_COLOR BkColor; // The Bk color
00063   I32 Offset;        // the offset
00064   I32 MinRange;
00065   I32 MaxRange;
00066   I32 TickSize;      // Minimum movement range in 1/10 of degree
00067   I32 KeyValue;      // Range of movement for one key push
00068 } KNOB_PROPS;
00069 
00070 typedef struct {
00071   WIDGET Widget;
00072   KNOB_PROPS Props;
00073   WM_HMEM hContext;
00074   I32 Angle;
00075   I32 Value;
00076   int xSize;
00077   int ySize;
00078   GUI_MEMDEV_Handle hMemSrc;
00079   GUI_MEMDEV_Handle hMemDst;
00080   GUI_MEMDEV_Handle hMemBk;
00081 } KNOB_OBJ;
00082 
00083 /*********************************************************************
00084 *
00085 *       Macros for internal use
00086 *
00087 **********************************************************************
00088 */
00089 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
00090   #define KNOB_INIT_ID(p) p->Widget.DebugId = KNOB_ID
00091 #else
00092   #define KNOB_INIT_ID(p)
00093 #endif
00094 
00095 #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
00096   KNOB_OBJ * KNOB_LockH(KNOB_Handle h);
00097   #define KNOB_LOCK_H(h)   KNOB_LockH(h)
00098 #else
00099   #define KNOB_LOCK_H(h)   (KNOB_OBJ *)GUI_LOCK_H(h)
00100 #endif
00101 
00102 /*********************************************************************
00103 *
00104 *       Module internal data
00105 *
00106 **********************************************************************
00107 */
00108 extern KNOB_PROPS KNOB__DefaultProps;
00109 
00110 #endif   // (GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT)
00111 #endif   // KNOB_PRIVATE_H