NuMaker emWin HMI

Committer:
csyang2
Date:
Mon Mar 04 15:47:41 2024 +0800
Revision:
10:c8165817d92a
Parent:
1:c0f972361605
Support NuMaker-IoT-M467

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 : GUI_ConfDefaults.h
csyang2 1:c0f972361605 40 Purpose : Defaults for GUI config switches.
csyang2 1:c0f972361605 41 ---------------------------END-OF-HEADER------------------------------
csyang2 1:c0f972361605 42
csyang2 1:c0f972361605 43 Attention : Do not modify this file ! If you do, you will not
csyang2 1:c0f972361605 44 be able do update to a later GUI version !
csyang2 1:c0f972361605 45
csyang2 1:c0f972361605 46 */
csyang2 1:c0f972361605 47
csyang2 1:c0f972361605 48 #ifndef GUI_CONFDEFAULTS_H
csyang2 1:c0f972361605 49 #define GUI_CONFDEFAULTS_H
csyang2 1:c0f972361605 50
csyang2 1:c0f972361605 51 #include "GUIConf.h"
csyang2 1:c0f972361605 52
csyang2 1:c0f972361605 53 #ifndef GUI_USE_MIXCOLORS
csyang2 1:c0f972361605 54 #define GUI_USE_MIXCOLORS 1
csyang2 1:c0f972361605 55 #endif
csyang2 1:c0f972361605 56
csyang2 1:c0f972361605 57 #ifndef GUI_USE_BIDI2
csyang2 1:c0f972361605 58 #define GUI_USE_BIDI2 1
csyang2 1:c0f972361605 59 #endif
csyang2 1:c0f972361605 60
csyang2 1:c0f972361605 61 #ifndef LCD_MAX_LOG_COLORS
csyang2 1:c0f972361605 62 #define LCD_MAX_LOG_COLORS 256
csyang2 1:c0f972361605 63 #else
csyang2 1:c0f972361605 64 #if (LCD_MAX_LOG_COLORS > 256)
csyang2 1:c0f972361605 65 #error The value of LCD_MAX_LOG_COLORS must be <= 256!
csyang2 1:c0f972361605 66 #endif
csyang2 1:c0f972361605 67 #endif
csyang2 1:c0f972361605 68
csyang2 1:c0f972361605 69 #define LCD_PIXELINDEX U32
csyang2 1:c0f972361605 70
csyang2 1:c0f972361605 71 #ifndef LCD_YMAG
csyang2 1:c0f972361605 72 #define LCD_YMAG 1
csyang2 1:c0f972361605 73 #endif
csyang2 1:c0f972361605 74 #ifndef LCD_XMAG
csyang2 1:c0f972361605 75 #define LCD_XMAG 1
csyang2 1:c0f972361605 76 #endif
csyang2 1:c0f972361605 77
csyang2 1:c0f972361605 78 /**********************************************************************
csyang2 1:c0f972361605 79 *
csyang2 1:c0f972361605 80 * Defaults for config switches
csyang2 1:c0f972361605 81 *
csyang2 1:c0f972361605 82 ***********************************************************************
csyang2 1:c0f972361605 83 */
csyang2 1:c0f972361605 84
csyang2 1:c0f972361605 85 /* ATTENTION: This define swaps the meaning of a logical color from
csyang2 1:c0f972361605 86 ABGR to ARGB.
csyang2 1:c0f972361605 87
csyang2 1:c0f972361605 88 It further swaps the meaning of a transparent pixel:
csyang2 1:c0f972361605 89 ABGR: 0x00 means opaque, 0xFF means transparent
csyang2 1:c0f972361605 90 ARGB: 0x00 means transparent, 0xFF means opaque (default)
csyang2 1:c0f972361605 91 */
csyang2 1:c0f972361605 92 #ifndef GUI_USE_ARGB
csyang2 1:c0f972361605 93 #define GUI_USE_ARGB 1
csyang2 1:c0f972361605 94 #endif
csyang2 1:c0f972361605 95
csyang2 1:c0f972361605 96 /* Define "universal pointer". Normally, this is not needed (define will expand to nothing)
csyang2 1:c0f972361605 97 However, on some systems (AVR - IAR compiler) it can be necessary ( -> __generic),
csyang2 1:c0f972361605 98 since a default pointer can access RAM only, not the built-in Flash
csyang2 1:c0f972361605 99 */
csyang2 1:c0f972361605 100 #ifndef GUI_UNI_PTR
csyang2 1:c0f972361605 101 #define GUI_UNI_PTR /* Remains only for compatibility purpose, no longer used in emWin */
csyang2 1:c0f972361605 102 #endif
csyang2 1:c0f972361605 103
csyang2 1:c0f972361605 104 /* Define const storage. Normally, this is not needed (define will expand to const)
csyang2 1:c0f972361605 105 However, on some systems (AVR - IAR compiler) it can be necessary ( -> __flash const),
csyang2 1:c0f972361605 106 since otherwise constants are copied into RAM
csyang2 1:c0f972361605 107 */
csyang2 1:c0f972361605 108 #ifndef GUI_CONST_STORAGE
csyang2 1:c0f972361605 109 #define GUI_CONST_STORAGE const
csyang2 1:c0f972361605 110 #endif
csyang2 1:c0f972361605 111
csyang2 1:c0f972361605 112 #ifndef GUI_USE_MEMDEV_1BPP_FOR_SCREEN
csyang2 1:c0f972361605 113 #define GUI_USE_MEMDEV_1BPP_FOR_SCREEN 1
csyang2 1:c0f972361605 114 #endif
csyang2 1:c0f972361605 115
csyang2 1:c0f972361605 116 #ifndef GUI_BIDI_MAX_CHARS_PER_LINE
csyang2 1:c0f972361605 117 #if GUI_USE_BIDI2
csyang2 1:c0f972361605 118 #define GUI_BIDI_MAX_CHARS_PER_LINE 200
csyang2 1:c0f972361605 119 #else
csyang2 1:c0f972361605 120 #define GUI_BIDI_MAX_CHARS_PER_LINE 80
csyang2 1:c0f972361605 121 #endif
csyang2 1:c0f972361605 122 #endif
csyang2 1:c0f972361605 123
csyang2 1:c0f972361605 124 #ifndef GUI_SUPPORT_TOUCH
csyang2 1:c0f972361605 125 #define GUI_SUPPORT_TOUCH 0
csyang2 1:c0f972361605 126 #endif
csyang2 1:c0f972361605 127
csyang2 1:c0f972361605 128 #ifndef GUI_SUPPORT_MOUSE
csyang2 1:c0f972361605 129 #define GUI_SUPPORT_MOUSE 0
csyang2 1:c0f972361605 130 #endif
csyang2 1:c0f972361605 131
csyang2 1:c0f972361605 132 #ifndef GUI_SUPPORT_MEMDEV
csyang2 1:c0f972361605 133 #define GUI_SUPPORT_MEMDEV 0
csyang2 1:c0f972361605 134 #endif
csyang2 1:c0f972361605 135
csyang2 1:c0f972361605 136 #ifndef GUI_OS
csyang2 1:c0f972361605 137 #define GUI_OS 0
csyang2 1:c0f972361605 138 #endif
csyang2 1:c0f972361605 139
csyang2 1:c0f972361605 140 #ifndef GUI_NUM_LAYERS
csyang2 1:c0f972361605 141 #define GUI_NUM_LAYERS 1
csyang2 1:c0f972361605 142 #endif
csyang2 1:c0f972361605 143
csyang2 1:c0f972361605 144 #ifndef GUI_SUPPORT_CURSOR
csyang2 1:c0f972361605 145 #define GUI_SUPPORT_CURSOR (GUI_SUPPORT_MOUSE | GUI_SUPPORT_TOUCH)
csyang2 1:c0f972361605 146 #endif
csyang2 1:c0f972361605 147
csyang2 1:c0f972361605 148 #ifndef GUI_CURSOR_LAYER
csyang2 1:c0f972361605 149 #define GUI_CURSOR_LAYER 0
csyang2 1:c0f972361605 150 #endif
csyang2 1:c0f972361605 151
csyang2 1:c0f972361605 152 #ifndef GUI_SUPPORT_ROTATION
csyang2 1:c0f972361605 153 #define GUI_SUPPORT_ROTATION 1
csyang2 1:c0f972361605 154 #endif
csyang2 1:c0f972361605 155
csyang2 1:c0f972361605 156 /* In order to avoid warnings for undefined parameters */
csyang2 1:c0f972361605 157 #ifndef GUI_USE_PARA
csyang2 1:c0f972361605 158 #if defined (__BORLANDC__) || defined(NC30) || defined(NC308)
csyang2 1:c0f972361605 159 #define GUI_USE_PARA(para)
csyang2 1:c0f972361605 160 #else
csyang2 1:c0f972361605 161 #define GUI_USE_PARA(para) (void)para
csyang2 1:c0f972361605 162 #endif
csyang2 1:c0f972361605 163 #endif
csyang2 1:c0f972361605 164
csyang2 1:c0f972361605 165 /* Default for types */
csyang2 1:c0f972361605 166 #ifndef GUI_TIMER_TIME
csyang2 1:c0f972361605 167 #define GUI_TIMER_TIME int /* default is to use 16 bits for 16 bit CPUs,
csyang2 1:c0f972361605 168 32 bits on 32 bit CPUs for timing */
csyang2 1:c0f972361605 169 #endif
csyang2 1:c0f972361605 170
csyang2 1:c0f972361605 171 /* Types used for memory allocation */
csyang2 1:c0f972361605 172 #define GUI_ALLOC_DATATYPE I32
csyang2 1:c0f972361605 173 #define GUI_ALLOC_DATATYPE_U U32
csyang2 1:c0f972361605 174
csyang2 1:c0f972361605 175 #ifndef GUI_MAX_XBF_BYTES
csyang2 1:c0f972361605 176 #define GUI_MAX_XBF_BYTES 200
csyang2 1:c0f972361605 177 #endif
csyang2 1:c0f972361605 178
csyang2 1:c0f972361605 179 #ifndef GUI_MEMSET
csyang2 1:c0f972361605 180 #define GUI_MEMSET memset
csyang2 1:c0f972361605 181 #endif
csyang2 1:c0f972361605 182
csyang2 1:c0f972361605 183 #ifndef GUI_MEMCPY
csyang2 1:c0f972361605 184 #define GUI_MEMCPY memcpy
csyang2 1:c0f972361605 185 #endif
csyang2 1:c0f972361605 186
csyang2 1:c0f972361605 187 /* Optional custom drawing of memory devices */
csyang2 1:c0f972361605 188 #ifndef GUI_MEMDEV_SUPPORT_CUSTOMDRAW
csyang2 1:c0f972361605 189 #define GUI_MEMDEV_SUPPORT_CUSTOMDRAW 0
csyang2 1:c0f972361605 190 #endif
csyang2 1:c0f972361605 191
csyang2 1:c0f972361605 192 /* Clip static memory devices to parent borders */
csyang2 1:c0f972361605 193 #ifndef GUI_MEMDEV_CLIP_AT_PARENT
csyang2 1:c0f972361605 194 #define GUI_MEMDEV_CLIP_AT_PARENT 0
csyang2 1:c0f972361605 195 #endif
csyang2 1:c0f972361605 196
csyang2 1:c0f972361605 197 #endif /* ifdef GUI_CONFDEFAULTS_H */
csyang2 1:c0f972361605 198
csyang2 1:c0f972361605 199 /*************************** End of file ****************************/