Nuvoton / Mbed OS NuMaker-mbed-emWin-example
Committer:
SHLIU1@OANBE02333.nuvoton.com
Date:
Thu Feb 25 15:40:31 2021 +0800
Revision:
4:3d28c66231b0
Parent:
1:c0f972361605
Support the both V5.X and V6.X for mbed-os

Who changed what in which revision?

UserRevisionLine numberNew contents of line
csyang2 1:c0f972361605 1 /*********************************************************************
csyang2 1:c0f972361605 2 * SEGGER Software GmbH *
csyang2 1:c0f972361605 3 * Solutions for real time microcontroller applications *
csyang2 1:c0f972361605 4 **********************************************************************
csyang2 1:c0f972361605 5 * *
csyang2 1:c0f972361605 6 * (c) 1996 - 2018 SEGGER Microcontroller GmbH *
csyang2 1:c0f972361605 7 * *
csyang2 1:c0f972361605 8 * Internet: www.segger.com Support: support@segger.com *
csyang2 1:c0f972361605 9 * *
csyang2 1:c0f972361605 10 **********************************************************************
csyang2 1:c0f972361605 11
csyang2 1:c0f972361605 12 ** emWin V5.48 - Graphical user interface for embedded applications **
csyang2 1:c0f972361605 13 All Intellectual Property rights in the Software belongs to SEGGER.
csyang2 1:c0f972361605 14 emWin is protected by international copyright laws. Knowledge of the
csyang2 1:c0f972361605 15 source code may not be used to write a similar product. This file may
csyang2 1:c0f972361605 16 only be used in accordance with the following terms:
csyang2 1:c0f972361605 17
csyang2 1:c0f972361605 18 The software has been licensed by SEGGER Software GmbH to Nuvoton Technology Corporationat the address: No. 4, Creation Rd. III, Hsinchu Science Park, Taiwan
csyang2 1:c0f972361605 19 for the purposes of creating libraries for its
csyang2 1:c0f972361605 20 Arm Cortex-M and Arm9 32-bit microcontrollers, commercialized and distributed by Nuvoton Technology Corporation
csyang2 1:c0f972361605 21 under the terms and conditions of an End User
csyang2 1:c0f972361605 22 License Agreement supplied with the libraries.
csyang2 1:c0f972361605 23 Full source code is available at: www.segger.com
csyang2 1:c0f972361605 24
csyang2 1:c0f972361605 25 We appreciate your understanding and fairness.
csyang2 1:c0f972361605 26 ----------------------------------------------------------------------
csyang2 1:c0f972361605 27 Licensing information
csyang2 1:c0f972361605 28 Licensor: SEGGER Software GmbH
csyang2 1:c0f972361605 29 Licensed to: Nuvoton Technology Corporation, No. 4, Creation Rd. III, Hsinchu Science Park, 30077 Hsinchu City, Taiwan
csyang2 1:c0f972361605 30 Licensed SEGGER software: emWin
csyang2 1:c0f972361605 31 License number: GUI-00735
csyang2 1:c0f972361605 32 License model: emWin License Agreement, signed February 27, 2018
csyang2 1:c0f972361605 33 Licensed platform: Cortex-M and ARM9 32-bit series microcontroller designed and manufactured by or for Nuvoton Technology Corporation
csyang2 1:c0f972361605 34 ----------------------------------------------------------------------
csyang2 1:c0f972361605 35 Support and Update Agreement (SUA)
csyang2 1:c0f972361605 36 SUA period: 2018-03-26 - 2019-03-27
csyang2 1:c0f972361605 37 Contact to extend SUA: sales@segger.com
csyang2 1:c0f972361605 38 ----------------------------------------------------------------------
csyang2 1:c0f972361605 39 File : WM_GUI.h
csyang2 1:c0f972361605 40 Purpose : Windows manager include for low level GUI routines
csyang2 1:c0f972361605 41 ----------------------------------------------------------------------
csyang2 1:c0f972361605 42 */
csyang2 1:c0f972361605 43
csyang2 1:c0f972361605 44 #ifndef WM_GUI_H /* Make sure we only include it once */
csyang2 1:c0f972361605 45 #define WM_GUI_H
csyang2 1:c0f972361605 46
csyang2 1:c0f972361605 47 #if defined(__cplusplus)
csyang2 1:c0f972361605 48 extern "C" { /* Make sure we have C-declarations in C++ programs */
csyang2 1:c0f972361605 49 #endif
csyang2 1:c0f972361605 50
csyang2 1:c0f972361605 51 int WM__InitIVRSearch(const GUI_RECT* pMaxRect);
csyang2 1:c0f972361605 52 int WM__GetNextIVR (void);
csyang2 1:c0f972361605 53 int WM__GetOrgX_AA(void);
csyang2 1:c0f972361605 54 int WM__GetOrgY_AA(void);
csyang2 1:c0f972361605 55
csyang2 1:c0f972361605 56 #define WM_ITERATE_START(pRect) \
csyang2 1:c0f972361605 57 { \
csyang2 1:c0f972361605 58 if (WM__InitIVRSearch(pRect)) \
csyang2 1:c0f972361605 59 do {
csyang2 1:c0f972361605 60
csyang2 1:c0f972361605 61 #define WM_ITERATE_END() \
csyang2 1:c0f972361605 62 } while (WM__GetNextIVR()); \
csyang2 1:c0f972361605 63 }
csyang2 1:c0f972361605 64
csyang2 1:c0f972361605 65 #define WM_ADDORGX(x) (x += GUI_pContext->xOff)
csyang2 1:c0f972361605 66 #define WM_ADDORGY(y) (y += GUI_pContext->yOff)
csyang2 1:c0f972361605 67 #define WM_ADDORG(x0,y0) WM_ADDORGX(x0); WM_ADDORGY(y0)
csyang2 1:c0f972361605 68 #define WM_ADDORGX_AA(x) (x += WM__GetOrgX_AA())
csyang2 1:c0f972361605 69 #define WM_ADDORGY_AA(y) (y += WM__GetOrgY_AA())
csyang2 1:c0f972361605 70 #define WM_ADDORG_AA(x0,y0) WM_ADDORGX_AA(x0); WM_ADDORGY_AA(y0)
csyang2 1:c0f972361605 71 #define WM_SUBORGX(x) (x -= GUI_pContext->xOff)
csyang2 1:c0f972361605 72 #define WM_SUBORGY(y) (y -= GUI_pContext->yOff)
csyang2 1:c0f972361605 73 #define WM_SUBORG(x0,y0) WM_SUBORGX(x0); WM_SUBORGY(y0)
csyang2 1:c0f972361605 74
csyang2 1:c0f972361605 75 #if defined(__cplusplus)
csyang2 1:c0f972361605 76 }
csyang2 1:c0f972361605 77 #endif
csyang2 1:c0f972361605 78
csyang2 1:c0f972361605 79
csyang2 1:c0f972361605 80 #endif /* Avoid multiple inclusion */
csyang2 1:c0f972361605 81
csyang2 1:c0f972361605 82 /*************************** End of file ****************************/