RT1050 GUI demo using emWin library

Revision:
0:dd702039127a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emwin/emWin_header/SPINBOX.h	Thu Sep 20 19:16:34 2018 +0000
@@ -0,0 +1,189 @@
+/*********************************************************************
+*                SEGGER Microcontroller GmbH & Co. KG                *
+*        Solutions for real time microcontroller applications        *
+**********************************************************************
+*                                                                    *
+*        (c) 1996 - 2016  SEGGER Microcontroller GmbH & Co. KG       *
+*                                                                    *
+*        Internet: www.segger.com    Support:  support@segger.com    *
+*                                                                    *
+**********************************************************************
+
+** emWin V5.38 - 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  NXP Semiconductors USA, Inc.  whose
+registered  office  is  situated  at 411 E. Plumeria Drive, San  Jose,
+CA 95134, USA  solely for  the  purposes  of  creating  libraries  for
+NXPs M0, M3/M4 and  ARM7/9 processor-based  devices,  sublicensed  and
+distributed under the terms and conditions of the NXP End User License
+Agreement.
+Full source code is available at: www.segger.com
+
+We appreciate your understanding and fairness.
+----------------------------------------------------------------------
+Licensing information
+
+Licensor:                 SEGGER Microcontroller Systems LLC
+Licensed to:              NXP Semiconductors, 1109 McKay Dr, M/S 76, San Jose, CA 95131, USA
+Licensed SEGGER software: emWin
+License number:           GUI-00186
+License model:            emWin License Agreement, dated August 20th 2011
+Licensed product:         -
+Licensed platform:        NXP's ARM 7/9, Cortex-M0,M3,M4
+Licensed number of seats: -
+----------------------------------------------------------------------
+File        : SPINBOX.h
+Purpose     : SPINBOX header file
+--------------------END-OF-HEADER-------------------------------------
+*/
+
+#ifndef SPINBOX_H
+#define SPINBOX_H
+
+#include "WM.h"
+#include "DIALOG_Intern.h" // Required for Create indirect data structure
+#include "WIDGET.h"
+#include "GUI_Debug.h"
+#include "EDIT.h"
+
+#if GUI_WINSUPPORT
+
+#if defined(__cplusplus)
+  extern "C" {             // Make sure we have C-declarations in C++ programs
+#endif
+
+/*********************************************************************
+*
+*       Defines
+*
+**********************************************************************
+*/
+/*********************************************************************
+*
+*       States
+*/
+#define SPINBOX_STATE_PRESSED(x)     (U8)(1 << (U8)x)    // These flags are stored in (SPINBOX_OBJ->State)        | x must be 0 or 1
+#define SPINBOX_STATE_FOCUS          WIDGET_STATE_FOCUS  // This is read from         (SPINBOX_OBJ->Widget.State)
+
+#define SPINBOX_EDGE_RIGHT           0
+#define SPINBOX_EDGE_LEFT            1
+#define SPINBOX_EDGE_CENTER          2
+
+#define SPINBOX_EM_STEP              0
+#define SPINBOX_EM_EDIT              1
+
+#ifndef SPINBOX_EM_DEFAULT
+  #define SPINBOX_EM_DEFAULT         SPINBOX_EM_STEP
+#endif
+
+/*********************************************************************
+*
+*       Color indices
+*/
+#define SPINBOX_CI_DISABLED          EDIT_CI_DISABLED
+#define SPINBOX_CI_ENABLED           EDIT_CI_ENABLED
+#define SPINBOX_CI_PRESSED           2
+
+/*********************************************************************
+*
+*       Skinning property indices
+*/
+#define SPINBOX_SKIN_FLEX            SPINBOX_DrawSkinFlex
+
+#define SPINBOX_SKINFLEX_PI_PRESSED  0
+#define SPINBOX_SKINFLEX_PI_FOCUSSED 1
+#define SPINBOX_SKINFLEX_PI_ENABLED  2
+#define SPINBOX_SKINFLEX_PI_DISABLED 3
+#define SPINBOX_SKIN_FLEX_RADIUS     2
+
+/*********************************************************************
+*
+*       Public Types
+*
+**********************************************************************
+*/
+typedef WM_HMEM SPINBOX_Handle;
+
+typedef struct {
+  GUI_COLOR aColorFrame[2];   // [0] Outer color of surrounding frame.         [1] Inner color of surrounding frame.
+  GUI_COLOR aColorUpper[2];   // [0] Upper color of gradient for upper button. [1] Lower color of gradient for upper button.
+  GUI_COLOR aColorLower[2];   // [0] Upper color of gradient for lower button. [1] Lower color of gradient for lower button.
+  GUI_COLOR ColorArrow;       // Color of the button arrow.
+  GUI_COLOR ColorBk;          // Color of the background.                      // See WIDGET_ITEM_CREATE in SPINBOX_DrawSkinFlex()
+  GUI_COLOR ColorText;        // Color of the text.                            // See WIDGET_ITEM_CREATE in SPINBOX_DrawSkinFlex()
+  GUI_COLOR ColorButtonFrame; // Color of the button frame.
+} SPINBOX_SKINFLEX_PROPS;
+
+/*********************************************************************
+*
+*       Prototypes
+*
+**********************************************************************
+*/
+/*********************************************************************
+*
+*       Creation
+*/
+SPINBOX_Handle SPINBOX_CreateEx      (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int Id, int Min, int Max);
+SPINBOX_Handle SPINBOX_CreateUser    (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int Id, int Min, int Max, int NumExtraBytes);
+SPINBOX_Handle SPINBOX_CreateIndirect(const GUI_WIDGET_CREATE_INFO * pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK * cb);
+
+/*********************************************************************
+*
+*       Callback, should be called only from within a custom callback.
+*/
+void           SPINBOX_Callback(WM_MESSAGE * pMsg);
+
+/*********************************************************************
+*
+*       Get / Set properties
+*/
+void        SPINBOX_EnableBlink     (SPINBOX_Handle hObj, int Period, int OnOff);
+GUI_COLOR   SPINBOX_GetBkColor      (SPINBOX_Handle hObj, unsigned int Index);
+GUI_COLOR   SPINBOX_GetButtonBkColor(SPINBOX_Handle hObj, unsigned int Index);
+EDIT_Handle SPINBOX_GetEditHandle   (SPINBOX_Handle hObj);
+int         SPINBOX_GetUserData     (SPINBOX_Handle hObj, void * pDest, int NumBytes);
+I32         SPINBOX_GetValue        (SPINBOX_Handle hObj);
+void        SPINBOX_SetBkColor      (SPINBOX_Handle hObj, unsigned int Index, GUI_COLOR Color);
+void        SPINBOX_SetButtonBkColor(SPINBOX_Handle hObj, unsigned int Index, GUI_COLOR Color);
+void        SPINBOX_SetButtonSize   (SPINBOX_Handle hObj, unsigned ButtonSize);
+void        SPINBOX_SetEdge         (SPINBOX_Handle hObj, U8 Edge);
+void        SPINBOX_SetEditMode     (SPINBOX_Handle hObj, U8 EditMode);
+void        SPINBOX_SetFont         (SPINBOX_Handle hObj, const GUI_FONT * pFont);
+void        SPINBOX_SetRange        (SPINBOX_Handle hObj, I32 Min, I32 Max);
+U16         SPINBOX_SetStep         (SPINBOX_Handle hObj, U16 Step);
+void        SPINBOX_SetTextColor    (SPINBOX_Handle hObj, unsigned int Index, GUI_COLOR Color);
+int         SPINBOX_SetUserData     (SPINBOX_Handle hObj, const void * pSrc, int NumBytes);
+void        SPINBOX_SetValue        (SPINBOX_Handle hObj, I32 Value);
+
+/*********************************************************************
+*
+*       Managing default values
+*/
+U16  SPINBOX_GetDefaultButtonSize(void);
+void SPINBOX_SetDefaultButtonSize(U16 ButtonSize);
+
+/*********************************************************************
+*
+*       Skinning
+*/
+void                    SPINBOX_GetSkinFlexProps     (SPINBOX_SKINFLEX_PROPS * pProps, int Index);
+void                    SPINBOX_SetSkinClassic       (SPINBOX_Handle hObj);
+void                    SPINBOX_SetSkin              (SPINBOX_Handle hObj, WIDGET_DRAW_ITEM_FUNC * pfDrawSkin);
+int                     SPINBOX_DrawSkinFlex         (const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo);
+void                    SPINBOX_SetSkinFlexProps     (const SPINBOX_SKINFLEX_PROPS * pProps, int Index);
+void                    SPINBOX_SetDefaultSkinClassic(void);
+WIDGET_DRAW_ITEM_FUNC * SPINBOX_SetDefaultSkin(WIDGET_DRAW_ITEM_FUNC * pfDrawSkin);
+
+#if defined(__cplusplus)
+  }
+#endif
+
+#endif  // GUI_WINSUPPORT
+#endif  // SPINBOX_H
+
+/*************************** End of file ****************************/