├── .gitignore ├── LICENSE ├── README.md ├── SConscript ├── demo ├── README.md ├── drv_lcd.c ├── drv_lcd.h └── drv_oled.c ├── docs ├── README.md └── version.md ├── examples ├── 5.32 │ ├── GUIDEMO.c │ ├── GUIDEMO.h │ ├── GUIDEMO_AntialiasedText.c │ ├── GUIDEMO_Automotive.c │ ├── GUIDEMO_BarGraph.c │ ├── GUIDEMO_Bitmap.c │ ├── GUIDEMO_ColorBar.c │ ├── GUIDEMO_Conf.c │ ├── GUIDEMO_Cursor.c │ ├── GUIDEMO_Fading.c │ ├── GUIDEMO_Graph.c │ ├── GUIDEMO_IconView.c │ ├── GUIDEMO_ImageFlow.c │ ├── GUIDEMO_Intro.c │ ├── GUIDEMO_Listview.c │ ├── GUIDEMO_RadialMenu.c │ ├── GUIDEMO_Resource.c │ ├── GUIDEMO_Skinning.c │ ├── GUIDEMO_Speed.c │ ├── GUIDEMO_Speedometer.c │ ├── GUIDEMO_Start.c │ ├── GUIDEMO_TransparentDialog.c │ ├── GUIDEMO_Treeview.c │ ├── GUIDEMO_VScreen.c │ ├── GUIDEMO_WashingMachine.c │ └── GUIDEMO_ZoomAndRotate.c ├── 5.44 │ ├── GUIDEMO.c │ ├── GUIDEMO.h │ ├── GUIDEMO_Automotive.c │ ├── GUIDEMO_Bitmap.c │ ├── GUIDEMO_ColorBar.c │ ├── GUIDEMO_Conf.c │ ├── GUIDEMO_Cursor.c │ ├── GUIDEMO_Graph.c │ ├── GUIDEMO_IconView.c │ ├── GUIDEMO_Intro.c │ ├── GUIDEMO_Listview.c │ ├── GUIDEMO_Resource.c │ ├── GUIDEMO_Speed.c │ ├── GUIDEMO_Start.c │ ├── GUIDEMO_TransparentDialog.c │ └── GUIDEMO_Treeview.c ├── GUI_Test.c ├── GUI_Test.h └── SConscript ├── inc ├── 5.32 │ ├── BUTTON.h │ ├── BUTTON_Private.h │ ├── CALENDAR.h │ ├── CHECKBOX.h │ ├── CHECKBOX_Private.h │ ├── CHOOSECOLOR.h │ ├── CHOOSEFILE.h │ ├── DIALOG.h │ ├── DIALOG_Intern.h │ ├── DROPDOWN.h │ ├── DROPDOWN_Private.h │ ├── EDIT.h │ ├── EDIT_Private.h │ ├── FRAMEWIN.h │ ├── FRAMEWIN_Private.h │ ├── GRAPH.h │ ├── GRAPH_Private.h │ ├── GUI.h │ ├── GUIConf.h │ ├── GUIDRV_DCache.h │ ├── GUIDRV_DCache_Private.h │ ├── GUIDRV_Dist.h │ ├── GUIDRV_FlexColor.h │ ├── GUIDRV_FlexColor_Private.h │ ├── GUIDRV_Lin.h │ ├── GUIDRV_Lin_Opt_16.h │ ├── GUIDRV_Lin_Opt_24.h │ ├── GUIDRV_Lin_Opt_32.h │ ├── GUIDRV_Lin_Opt_8.h │ ├── GUIDRV_Lin_Private.h │ ├── GUIDRV_NoOpt_1_8.h │ ├── GUIDRV_Template.h │ ├── GUIDRV_TemplateI.h │ ├── GUIDRV_TemplateI_Private.h │ ├── GUIMTDRV_TangoC32.h │ ├── GUITDRV_ADS7846.h │ ├── GUI_ARRAY.h │ ├── GUI_ARRAY_Private.h │ ├── GUI_BMP_Private.h │ ├── GUI_ConfDefaults.h │ ├── GUI_Debug.h │ ├── GUI_FontIntern.h │ ├── GUI_GIF_Private.h │ ├── GUI_HOOK.h │ ├── GUI_JPEG_Private.h │ ├── GUI_Private.h │ ├── GUI_SIM_Win32.h │ ├── GUI_SPRITE_Private.h │ ├── GUI_SetOrientation.h │ ├── GUI_SetOrientationCX.h │ ├── GUI_Type.h │ ├── GUI_VNC.h │ ├── GUI_Version.h │ ├── Global.h │ ├── HEADER.h │ ├── HEADER_Private.h │ ├── ICONVIEW.h │ ├── ICONVIEW_Private.h │ ├── IMAGE.h │ ├── IMAGE_Private.h │ ├── KNOB.h │ ├── KNOB_Private.h │ ├── LCD.h │ ├── LCDConf.h │ ├── LCD_ConfDefaults.h │ ├── LCD_Private.h │ ├── LCD_Protected.h │ ├── LCD_SIM.h │ ├── LISTBOX.h │ ├── LISTBOX_Private.h │ ├── LISTVIEW.h │ ├── LISTVIEW_Private.h │ ├── LISTWHEEL.h │ ├── LISTWHEEL_Private.h │ ├── MENU.h │ ├── MENU_Private.h │ ├── MESSAGEBOX.h │ ├── MULTIEDIT.h │ ├── MULTIPAGE.h │ ├── MULTIPAGE_Private.h │ ├── PROGBAR.h │ ├── PROGBAR_Private.h │ ├── RADIO.h │ ├── RADIO_Private.h │ ├── SCROLLBAR.h │ ├── SCROLLBAR_Private.h │ ├── SLIDER.h │ ├── SLIDER_Private.h │ ├── SPINBOX.h │ ├── SPINBOX_Private.h │ ├── SWIPELIST.h │ ├── SWIPELIST_Private.h │ ├── TEXT.h │ ├── TEXT_Private.h │ ├── TREEVIEW.h │ ├── TREEVIEW_Private.h │ ├── WIDGET.h │ ├── WINDOW_Private.h │ ├── WM.h │ ├── WM_GUI.h │ └── WM_Intern.h └── 5.44 │ ├── BUTTON.h │ ├── BUTTON_Private.h │ ├── CALENDAR.h │ ├── CHECKBOX.h │ ├── CHECKBOX_Private.h │ ├── CHOOSECOLOR.h │ ├── CHOOSEFILE.h │ ├── DIALOG.h │ ├── DIALOG_Intern.h │ ├── DROPDOWN.h │ ├── DROPDOWN_Private.h │ ├── EDIT.h │ ├── EDIT_Private.h │ ├── FRAMEWIN.h │ ├── FRAMEWIN_Private.h │ ├── GRAPH.h │ ├── GRAPH_Private.h │ ├── GUI.h │ ├── GUIConf.h │ ├── GUIDRV_DCache.h │ ├── GUIDRV_DCache_Private.h │ ├── GUIDRV_Dist.h │ ├── GUIDRV_FlexColor.h │ ├── GUIDRV_FlexColor_Private.h │ ├── GUIDRV_Lin.h │ ├── GUIDRV_Lin_Opt_16.h │ ├── GUIDRV_Lin_Opt_24.h │ ├── GUIDRV_Lin_Opt_32.h │ ├── GUIDRV_Lin_Opt_8.h │ ├── GUIDRV_Lin_Private.h │ ├── GUIDRV_NoOpt_1_8.h │ ├── GUIDRV_Template.h │ ├── GUIDRV_TemplateI.h │ ├── GUIDRV_TemplateI_Private.h │ ├── GUIMTDRV_TangoC32.h │ ├── GUITDRV_ADS7846.h │ ├── GUI_ARRAY.h │ ├── GUI_ARRAY_Private.h │ ├── GUI_BMP_Private.h │ ├── GUI_ConfDefaults.h │ ├── GUI_Debug.h │ ├── GUI_FontIntern.h │ ├── GUI_GCache_Private.h │ ├── GUI_GIF_Private.h │ ├── GUI_HOOK.h │ ├── GUI_JPEG_Private.h │ ├── GUI_Private.h │ ├── GUI_SIM_Win32.h │ ├── GUI_SPRITE_Private.h │ ├── GUI_SetOrientation.h │ ├── GUI_SetOrientationCX.h │ ├── GUI_Type.h │ ├── GUI_VNC.h │ ├── GUI_Version.h │ ├── GUI__BiDi2_Brackets_800.h │ ├── GUI__BiDi2_Types_800.h │ ├── Global.h │ ├── HEADER.h │ ├── HEADER_Private.h │ ├── ICONVIEW.h │ ├── ICONVIEW_Private.h │ ├── IMAGE.h │ ├── IMAGE_Private.h │ ├── IP_FS.h │ ├── KNOB.h │ ├── KNOB_Private.h │ ├── LCD.h │ ├── LCDConf.h │ ├── LCDConf_FlexColor_Template.h │ ├── LCD_ConfDefaults.h │ ├── LCD_Private.h │ ├── LCD_Protected.h │ ├── LCD_SIM.h │ ├── LISTBOX.h │ ├── LISTBOX_Private.h │ ├── LISTVIEW.h │ ├── LISTVIEW_Private.h │ ├── LISTWHEEL.h │ ├── LISTWHEEL_Private.h │ ├── MENU.h │ ├── MENU_Private.h │ ├── MESSAGEBOX.h │ ├── MULTIEDIT.h │ ├── MULTIPAGE.h │ ├── MULTIPAGE_Private.h │ ├── PROGBAR.h │ ├── PROGBAR_Private.h │ ├── RADIO.h │ ├── RADIO_Private.h │ ├── SCROLLBAR.h │ ├── SCROLLBAR_Private.h │ ├── SEGGER.h │ ├── SLIDER.h │ ├── SLIDER_Private.h │ ├── SPINBOX.h │ ├── SPINBOX_Private.h │ ├── SWIPELIST.h │ ├── SWIPELIST_Private.h │ ├── TEXT.h │ ├── TEXT_Private.h │ ├── TREEVIEW.h │ ├── TREEVIEW_Private.h │ ├── WIDGET.h │ ├── WINDOW_Private.h │ ├── WM.h │ ├── WM_GUI.h │ └── WM_Intern.h └── src ├── GUIConf.c ├── GUIDRV_Template.c ├── GUI_X_OS.c ├── LCDConf_FlexColor_Template.c ├── SConscript ├── STemWin532_CM3_OS_Keil.lib └── STemWin_CM4_OS_wc16_ot.lib /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.a 21 | *.la 22 | *.lo 23 | 24 | # Shared objects (inc. Windows DLLs) 25 | *.dll 26 | *.so 27 | *.so.* 28 | *.dylib 29 | 30 | # Executables 31 | *.exe 32 | *.out 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # STemWin 2 | 3 | ## 1、介绍 4 | 5 | emWin 设计用于提供高效且独立于处理器和显示控制器的图形用户界面,用于任何使用图形显示进行操作的应用。它与单任务和多任务环境、专用操作系统或具有任何商业 RTOS 兼容, emWin 的发货形式为 C 语言源代码。 6 | 7 | STemWin 是 SEGGER 公司授权给 ST(意法半导体)的。使用 ST 芯片的用户可以免费使用 STemWin。 8 | 9 | 本源码实现了在RT-Thread上的移植。源码地址: 10 | 作者:[loogg](https://github.com/loogg) 11 | 12 | ### 1.1 目录结构 13 | 14 | 15 | | 名称 | 说明 | 16 | | ---- | ---- | 17 | | demo | lcd驱动实现的例子 | 18 | | docs | 文档目录 | 19 | | examples | 例子目录,并有相应的一些说明 | 20 | | inc | 头文件目录 | 21 | | src | 源代码目录 | 22 | 23 | ### 1.2 许可证 24 | 25 | STemWin package 遵循 LGPLv2.1 许可,详见 `LICENSE` 文件。 26 | 27 | ### 1.3 依赖 28 | 29 | - RT-Thread 4.0+ 30 | 31 | 32 | ## 2、如何打开 STemWin 33 | 34 | 使用 STemWin package 需要在 RT-Thread 的包管理器中选择它,具体路径如下: 35 | 36 | ``` 37 | RT-Thread online packages 38 | multimedia packages ---> 39 | [*] STemWin: a STemWin package for rt-thread 40 | ``` 41 | 42 | 然后让 RT-Thread 的包管理器自动更新,或者使用 `pkgs --update` 命令更新包到 BSP 中。 43 | 44 | ## 3、使用 STemWin 45 | 46 | 在打开 STemWin package 后,当进行 bsp 编译时,它会被加入到 bsp 工程中进行编译。 47 | 48 | 具体API参照官方手册。 49 | 50 | ## 4、注意事项 51 | 52 | - 在初始化GUI `GUI_Init()`之前务必**开启CRC时钟**。如下: 53 | ``` 54 | CRC_HandleTypeDef CrcHandle; 55 | CrcHandle.Instance = CRC; 56 | HAL_CRC_Init(&CrcHandle); 57 | GUI_Init(); 58 | ``` 59 | 60 | - STemWin软件包通过lcd设备进行画点、读点等操作,确保LCD驱动已经注册进设备。 61 | 62 | - LCD驱动示例位于[`/demo`](/demo) 下,示例使用并口LCD和u8g2 OLED。编写LCD驱动前 **务必查看**。 63 | 64 | - 目前只支持如下颜色格式: 65 | ``` 66 | switch(info.pixel_format) 67 | { 68 | case RTGRAPHIC_PIXEL_FORMAT_MONO: 69 | color = GUICC_1; 70 | break; 71 | case RTGRAPHIC_PIXEL_FORMAT_RGB565: 72 | color = GUICC_M565; 73 | break; 74 | case RTGRAPHIC_PIXEL_FORMAT_RGB888: 75 | color = GUICC_M888; 76 | break; 77 | default: 78 | color = GUICC_M565; 79 | break; 80 | } 81 | ``` 82 | 83 | ## 5、联系方式 & 感谢 84 | 85 | * 维护:malongwei 86 | * 主页: 87 | * 邮箱:<2544047213@qq.com> 88 | -------------------------------------------------------------------------------- /SConscript: -------------------------------------------------------------------------------- 1 | # RT-Thread building script for bridge 2 | 3 | import os 4 | from building import * 5 | 6 | cwd = GetCurrentDir() 7 | objs = [] 8 | list = os.listdir(cwd) 9 | 10 | if GetDepend('PKG_USING_STEMWIN'): 11 | for d in list: 12 | path = os.path.join(cwd, d) 13 | if os.path.isfile(os.path.join(path, 'SConscript')): 14 | objs = objs + SConscript(os.path.join(d, 'SConscript')) 15 | 16 | Return('objs') 17 | -------------------------------------------------------------------------------- /demo/README.md: -------------------------------------------------------------------------------- 1 | # LCD驱动 2 | 3 | ## 1、LCD设备注册 4 | 5 | ``` 6 | struct drv_lcd_device 7 | { 8 | struct rt_device parent; 9 | 10 | struct rt_device_graphic_info lcd_info; 11 | }; 12 | ``` 13 | 首先定义LCD设备结构体,`rt_device_graphic_info`结构有如下参数: 14 | ``` 15 | struct rt_device_graphic_info 16 | { 17 | rt_uint8_t pixel_format; /**< graphic format */ 18 | rt_uint8_t bits_per_pixel; /**< bits per pixel */ 19 | rt_uint16_t reserved; /**< reserved field */ 20 | 21 | rt_uint16_t width; /**< width of graphic device */ 22 | rt_uint16_t height; /**< height of graphic device */ 23 | 24 | rt_uint8_t *framebuffer; /**< frame buffer */ 25 | }; 26 | ``` 27 | 这些参数在设备注册或初始化的时候需要赋值。 28 | 29 | | 名称 | 说明 | 30 | | ---- | ---- | 31 | | pixel_format | 颜色格式 | 32 | | bits_per_pixel | 颜色位数 | 33 | | width | 屏幕宽度 | 34 | | height | 屏幕高度 | 35 | 36 | `rt_device_control`函数的设备回调函数如下: 37 | ``` 38 | static rt_err_t drv_lcd_control(struct rt_device *device, int cmd, void *args) 39 | { 40 | struct drv_lcd_device *lcd = LCD_DEVICE(device); 41 | switch (cmd) 42 | { 43 | case RTGRAPHIC_CTRL_GET_INFO: 44 | { 45 | struct rt_device_graphic_info *info = (struct rt_device_graphic_info *)args; 46 | 47 | RT_ASSERT(info != RT_NULL); 48 | 49 | //this needs to be replaced by the customer 50 | info->pixel_format = lcd->lcd_info.pixel_format; 51 | info->bits_per_pixel = lcd->lcd_info.bits_per_pixel; 52 | info->width = lcddev.width; 53 | info->height = lcddev.height; 54 | } 55 | break; 56 | } 57 | 58 | return RT_EOK; 59 | } 60 | ``` 61 | 62 | | 名称 | 说明 | 63 | | ---- | ---- | 64 | | RTGRAPHIC_CTRL_GET_INFO | 读取参数,参数信息由用户实现 | 65 | 66 | 对LCD操作函数通过如下结构体实现: 67 | ``` 68 | struct rt_device_graphic_ops 69 | { 70 | void (*set_pixel) (const char *pixel, int x, int y); 71 | void (*get_pixel) (char *pixel, int x, int y); 72 | 73 | void (*draw_hline)(const char *pixel, int x1, int x2, int y); 74 | void (*draw_vline)(const char *pixel, int x, int y1, int y2); 75 | 76 | void (*blit_line) (const char *pixel, int x, int y, rt_size_t size); 77 | }; 78 | ``` 79 | 80 | ``` 81 | void (*set_pixel) (const char *pixel, int x, int y); 82 | void (*get_pixel) (char *pixel, int x, int y); 83 | ``` 84 | 85 | 这两个回调函数必须设置,其余三个函数是为了优化性能提供。 86 | 87 | 将LCD操作函数填入,如下: 88 | ``` 89 | struct rt_device_graphic_ops fsmc_lcd_ops = 90 | { 91 | LCD_Fast_DrawPoint, 92 | LCD_ReadPoint, 93 | LCD_HLine, 94 | RT_NULL, 95 | LCD_BlitLine, 96 | }; 97 | ``` 98 | 99 | 最后将LCD注册进设备,如下: 100 | ``` 101 | int drv_lcd_hw_init(void) 102 | { 103 | rt_err_t result = RT_EOK; 104 | struct rt_device *device = &_lcd.parent; 105 | /* memset _lcd to zero */ 106 | memset(&_lcd, 0x00, sizeof(_lcd)); 107 | 108 | _lcd.lcd_info.bits_per_pixel = 16; 109 | _lcd.lcd_info.pixel_format = RTGRAPHIC_PIXEL_FORMAT_RGB565; 110 | 111 | device->type = RT_Device_Class_Graphic; 112 | #ifdef RT_USING_DEVICE_OPS 113 | device->ops = &lcd_ops; 114 | #else 115 | device->init = drv_lcd_init; 116 | device->control = drv_lcd_control; 117 | #endif 118 | device->user_data = &fsmc_lcd_ops; 119 | /* register lcd device */ 120 | rt_device_register(device, "lcd", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_STANDALONE); 121 | 122 | return result; 123 | } 124 | ``` 125 | -------------------------------------------------------------------------------- /demo/drv_lcd.h: -------------------------------------------------------------------------------- 1 | #ifndef __DRV_LCD_H 2 | #define __DRV_LCD_H 3 | #include 4 | #include "rtdevice.h" 5 | #include 6 | 7 | 8 | //LCD重要参数集 9 | typedef struct 10 | { 11 | uint16_t width; //LCD 宽度 12 | uint16_t height; //LCD 高度 13 | uint16_t id; //LCD ID 14 | uint8_t dir; //横屏还是竖屏控制:0,竖屏;1,横屏。 15 | uint16_t wramcmd; //开始写gram指令 16 | uint16_t setxcmd; //设置x坐标指令 17 | uint16_t setycmd; //设置y坐标指令 18 | }_lcd_dev; 19 | 20 | //LCD参数 21 | extern _lcd_dev lcddev; //管理LCD重要参数 22 | 23 | typedef struct 24 | { 25 | __IO uint16_t REG; 26 | __IO uint16_t RAM; 27 | }LCD_CONTROLLER_TypeDef; 28 | 29 | //扫描方向定义 30 | #define L2R_U2D 0 //从左到右,从上到下 31 | #define L2R_D2U 1 //从左到右,从下到上 32 | #define R2L_U2D 2 //从右到左,从上到下 33 | #define R2L_D2U 3 //从右到左,从下到上 34 | 35 | #define U2D_L2R 4 //从上到下,从左到右 36 | #define U2D_R2L 5 //从上到下,从右到左 37 | #define D2U_L2R 6 //从下到上,从左到右 38 | #define D2U_R2L 7 //从下到上,从右到左 39 | 40 | #define DFT_SCAN_DIR L2R_U2D //默认的扫描方向 41 | 42 | //LCD分辨率设置 43 | #define SSD_HOR_RESOLUTION 800 //LCD水平分辨率 44 | #define SSD_VER_RESOLUTION 480 //LCD垂直分辨率 45 | //LCD驱动参数设置 46 | #define SSD_HOR_PULSE_WIDTH 1 //水平脉宽 47 | #define SSD_HOR_BACK_PORCH 46 //水平前廊 48 | #define SSD_HOR_FRONT_PORCH 210 //水平后廊 49 | 50 | #define SSD_VER_PULSE_WIDTH 1 //垂直脉宽 51 | #define SSD_VER_BACK_PORCH 23 //垂直前廊 52 | #define SSD_VER_FRONT_PORCH 22 //垂直前廊 53 | //如下几个参数,自动计算 54 | #define SSD_HT (SSD_HOR_RESOLUTION+SSD_HOR_BACK_PORCH+SSD_HOR_FRONT_PORCH) 55 | #define SSD_HPS (SSD_HOR_BACK_PORCH) 56 | #define SSD_VT (SSD_VER_RESOLUTION+SSD_VER_BACK_PORCH+SSD_VER_FRONT_PORCH) 57 | #define SSD_VPS (SSD_VER_BACK_PORCH) 58 | 59 | 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /demo/drv_oled.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "string.h" 3 | #include 4 | 5 | //#define DRV_DEBUG 6 | #define LOG_TAG "drv.lcd" 7 | #include 8 | 9 | static u8g2_t u8g2; 10 | #define OLED_SPI_PIN_RES GET_PIN(C, 8) 11 | #define OLED_SPI_PIN_DC GET_PIN(C, 9) 12 | #define OLED_SPI_PIN_CS GET_PIN(G, 7) 13 | 14 | static uint8_t *oled_buf_ptr; 15 | 16 | #define LCD_DEVICE(dev) (struct drv_lcd_device *)(dev) 17 | 18 | struct drv_lcd_device 19 | { 20 | struct rt_device parent; 21 | 22 | struct rt_device_graphic_info lcd_info; 23 | }; 24 | 25 | static struct drv_lcd_device _lcd; 26 | 27 | static void oled_thread(void *param) 28 | { 29 | while(1) 30 | { 31 | u8g2_SendBuffer(&u8g2); 32 | rt_thread_mdelay(100); 33 | } 34 | } 35 | 36 | static rt_err_t drv_lcd_init(struct rt_device *device) 37 | { 38 | u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, U8G2_R0, u8x8_byte_rt_4wire_hw_spi, u8x8_rt_gpio_and_delay); 39 | u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_CS, OLED_SPI_PIN_CS); 40 | u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_DC, OLED_SPI_PIN_DC); 41 | u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_RESET, OLED_SPI_PIN_RES); 42 | 43 | u8g2_InitDisplay(&u8g2); 44 | u8g2_SetPowerSave(&u8g2, 0); 45 | 46 | u8g2_ClearBuffer(&u8g2); 47 | u8g2_SendBuffer(&u8g2); 48 | oled_buf_ptr = u8g2_GetBufferPtr(&u8g2); 49 | 50 | struct drv_lcd_device *lcd = LCD_DEVICE(device); 51 | 52 | lcd->lcd_info.width = u8g2_GetDisplayWidth(&u8g2); 53 | lcd->lcd_info.height = u8g2_GetDisplayHeight(&u8g2); 54 | 55 | rt_thread_t tid; 56 | tid = rt_thread_create("oled_refresh", oled_thread, RT_NULL, 1024, RT_THREAD_PRIORITY_MAX - 3, 10); 57 | if (tid != RT_NULL) 58 | rt_thread_startup(tid); 59 | return RT_EOK; 60 | } 61 | 62 | static rt_err_t drv_lcd_control(struct rt_device *device, int cmd, void *args) 63 | { 64 | struct drv_lcd_device *lcd = LCD_DEVICE(device); 65 | switch (cmd) 66 | { 67 | case RTGRAPHIC_CTRL_GET_INFO: 68 | { 69 | struct rt_device_graphic_info *info = (struct rt_device_graphic_info *)args; 70 | 71 | RT_ASSERT(info != RT_NULL); 72 | 73 | //this needs to be replaced by the customer 74 | info->pixel_format = lcd->lcd_info.pixel_format; 75 | info->bits_per_pixel = lcd->lcd_info.bits_per_pixel; 76 | info->width = lcd->lcd_info.width; 77 | info->height = lcd->lcd_info.height; 78 | } 79 | break; 80 | } 81 | 82 | return RT_EOK; 83 | } 84 | 85 | static void set_pixel(const char *pixel, int x, int y) 86 | { 87 | if(*pixel) 88 | u8g2_SetDrawColor(&u8g2,1); 89 | else 90 | u8g2_SetDrawColor(&u8g2,0); 91 | u8g2_DrawPixel(&u8g2, x, y); 92 | } 93 | 94 | static void get_pixel(char *pixel, int x, int y) 95 | { 96 | uint8_t buf_y = y/8; 97 | uint8_t color = *(oled_buf_ptr + buf_y * 128 + x); 98 | *pixel = color & (1 << y%8); 99 | } 100 | 101 | void draw_hline(const char *pixel, int x1, int x2, int y) 102 | { 103 | if(*pixel) 104 | u8g2_SetDrawColor(&u8g2,1); 105 | else 106 | u8g2_SetDrawColor(&u8g2,0); 107 | u8g2_DrawHLine(&u8g2, x1, y, x2-x1+1); 108 | } 109 | 110 | struct rt_device_graphic_ops oled_ops = 111 | { 112 | set_pixel, 113 | get_pixel, 114 | draw_hline, 115 | RT_NULL, 116 | RT_NULL, 117 | }; 118 | 119 | 120 | 121 | #ifdef RT_USING_DEVICE_OPS 122 | const static struct rt_device_ops lcd_ops = 123 | { 124 | drv_lcd_init, 125 | RT_NULL, 126 | RT_NULL, 127 | RT_NULL, 128 | RT_NULL, 129 | drv_lcd_control}; 130 | #endif 131 | 132 | int drv_lcd_hw_init(void) 133 | { 134 | rt_err_t result = RT_EOK; 135 | struct rt_device *device = &_lcd.parent; 136 | /* memset _lcd to zero */ 137 | memset(&_lcd, 0x00, sizeof(_lcd)); 138 | 139 | _lcd.lcd_info.bits_per_pixel = 1; 140 | _lcd.lcd_info.pixel_format = RTGRAPHIC_PIXEL_FORMAT_MONO; 141 | 142 | device->type = RT_Device_Class_Graphic; 143 | #ifdef RT_USING_DEVICE_OPS 144 | device->ops = &lcd_ops; 145 | #else 146 | device->init = drv_lcd_init; 147 | device->control = drv_lcd_control; 148 | #endif 149 | device->user_data = &oled_ops; 150 | /* register lcd device */ 151 | rt_device_register(device, "lcd", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_STANDALONE); 152 | 153 | return result; 154 | } 155 | INIT_DEVICE_EXPORT(drv_lcd_hw_init); 156 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # 文档 2 | 3 | ## 软件包地址 4 | 5 | - https://github.com/loogg/STemWin 6 | 7 | ## 文档列表 8 | 9 | |文件名 |描述| 10 | |:----- |:----| 11 | |[version.md](version.md) |版本信息| 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/version.md: -------------------------------------------------------------------------------- 1 | # 版本和修订 # 2 | 3 | | Date | Version | Author | Note | 4 | | -------- | :-----: | :---- | :---- | 5 | | 2019-03-20 | v1.0 | malongwei | 初始版本 | 6 | | | | | | -------------------------------------------------------------------------------- /examples/5.32/GUIDEMO_Intro.c: -------------------------------------------------------------------------------- 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.32 - 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 | Licensing information 30 | 31 | Licensor: SEGGER Software GmbH 32 | Licensed to: STMicroelectronics International NV 33 | Licensed SEGGER software: emWin 34 | License number: GUI-00429 35 | License model: Buyout SRC [Buyout Source Code License, signed November 29th 2012] 36 | Licensed product: - 37 | Licensed platform: STMs ARM Cortex-M based 32 BIT CPUs 38 | Licensed number of seats: - 39 | ---------------------------------------------------------------------- 40 | File : GUIDEMO_Intro.c 41 | Purpose : Introduction for emWin generic demo 42 | (This is also a good file to demo and explain basic 43 | emWin features by setting breakpoints) 44 | ---------------------------------------------------------------------- 45 | */ 46 | 47 | #include 48 | 49 | #include "GUIDEMO.h" 50 | 51 | /********************************************************************* 52 | * 53 | * Defines 54 | */ 55 | #define SCREEN_DIV 6 // 2^6 = 64 56 | 57 | #define FACTOR_EMWIN 4 58 | #define FACTOR_DESC 11 59 | #define FACTOR_ANY_COMP 22 60 | #define FACTOR_VERSION 31 61 | #define FACTOR_LOGO 38 62 | #define FACTOR_WWW 56 63 | 64 | #define DIST_ANY_COMP 18 65 | 66 | /********************************************************************* 67 | * 68 | * GUIDEMO_Intro 69 | * 70 | ********************************************************************** 71 | */ 72 | void GUIDEMO_Intro(void) { 73 | char acVersion[30] = "Version of STemWin: "; 74 | int xCenter, xSize, ySize; 75 | 76 | xSize = LCD_GetXSize(); 77 | ySize = LCD_GetYSize(); 78 | xCenter = xSize / 2; 79 | GUIDEMO_DrawBk(); 80 | GUI_SetTextMode(GUI_TM_TRANS); 81 | // 82 | // emWin 83 | // 84 | GUI_SetColor(GUI_WHITE); 85 | GUI_SetFont(&GUI_FontRounded22); 86 | GUI_DispStringHCenterAt("STemWin", xCenter, (FACTOR_EMWIN * ySize) >> SCREEN_DIV); 87 | // 88 | // emWin description 89 | // 90 | GUI_SetFont(&GUI_FontSouvenir18); 91 | GUI_DispStringHCenterAt("Universal graphic software\nfor embedded applications", xCenter, (FACTOR_DESC * ySize) >> SCREEN_DIV); 92 | // 93 | // Any text 94 | // 95 | GUI_SetColor(0x2288ff); 96 | GUI_DispStringHCenterAt("For STM32 MCU Products - Cortex M3 - Cortex M4", xCenter, (FACTOR_ANY_COMP * ySize) >> SCREEN_DIV); 97 | // 98 | // Compiled 99 | // 100 | GUI_SetFont(&GUI_Font10S_ASCII); 101 | GUI_DispStringHCenterAt("Compiled " __DATE__ " "__TIME__, xCenter, ((FACTOR_ANY_COMP * ySize) >> SCREEN_DIV) + DIST_ANY_COMP); 102 | // 103 | // Version 104 | // 105 | GUI_SetColor(GUI_WHITE); 106 | GUI_SetFont(&GUI_FontSouvenir18); 107 | strcat(acVersion, GUI_GetVersionString()); 108 | GUI_DispStringHCenterAt(acVersion, xCenter, (FACTOR_VERSION * ySize) >> SCREEN_DIV); 109 | // 110 | // Logo 111 | // 112 | GUI_DrawBitmap(&bmSTLogo, (xSize - bmSTLogo.XSize) >> 1, (FACTOR_LOGO * ySize) >> SCREEN_DIV); 113 | // 114 | // www.segger.com 115 | // 116 | GUI_SetColor(GUI_WHITE); 117 | GUI_SetFont(&GUI_FontRounded22); 118 | GUI_DispStringHCenterAt("www.st.com/stm32", xCenter, (FACTOR_WWW * ySize) >> SCREEN_DIV); 119 | GUIDEMO_Delay(5000); 120 | } 121 | 122 | /*************************** End of file ****************************/ 123 | -------------------------------------------------------------------------------- /examples/5.32/GUIDEMO_Listview.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loogg/STemWin/9c5621fc16faaf5d98b70cfd20ad1eb309449ed5/examples/5.32/GUIDEMO_Listview.c -------------------------------------------------------------------------------- /examples/5.32/GUIDEMO_Start.c: -------------------------------------------------------------------------------- 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.32 - 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 | Licensing information 30 | 31 | Licensor: SEGGER Software GmbH 32 | Licensed to: STMicroelectronics International NV 33 | Licensed SEGGER software: emWin 34 | License number: GUI-00429 35 | License model: Buyout SRC [Buyout Source Code License, signed November 29th 2012] 36 | Licensed product: - 37 | Licensed platform: STMs ARM Cortex-M based 32 BIT CPUs 38 | Licensed number of seats: - 39 | ---------------------------------------------------------------------- 40 | File : GUIDEMO_Start.c 41 | Purpose : GUIDEMO initialization 42 | ---------------------------------------------------------------------- 43 | */ 44 | 45 | #include "GUIDEMO.h" 46 | 47 | /********************************************************************* 48 | * 49 | * MainTask 50 | */ 51 | void MainTask(void) { 52 | #if GUI_WINSUPPORT 53 | WM_SetCreateFlags(WM_CF_MEMDEV); 54 | #endif 55 | GUI_Init(); 56 | #if GUI_WINSUPPORT 57 | WM_MULTIBUF_Enable(1); 58 | #endif 59 | GUIDEMO_Main(); 60 | } 61 | 62 | /*************************** End of file ****************************/ 63 | 64 | -------------------------------------------------------------------------------- /examples/5.44/GUIDEMO_Listview.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loogg/STemWin/9c5621fc16faaf5d98b70cfd20ad1eb309449ed5/examples/5.44/GUIDEMO_Listview.c -------------------------------------------------------------------------------- /examples/5.44/GUIDEMO_Start.c: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.28 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUIDEMO_Start.c 31 | Purpose : GUIDEMO initialization 32 | ---------------------------------------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @file GUIDEMO_Start.c 38 | * @author MCD Application Team 39 | * @brief GUIDEMO initialization 40 | ****************************************************************************** 41 | * @attention 42 | * 43 | *

© Copyright (c) 2017 STMicroelectronics International N.V. 44 | * All rights reserved.

45 | * 46 | * Redistribution and use in source and binary forms, with or without 47 | * modification, are permitted, provided that the following conditions are met: 48 | * 49 | * 1. Redistribution of source code must retain the above copyright notice, 50 | * this list of conditions and the following disclaimer. 51 | * 2. Redistributions in binary form must reproduce the above copyright notice, 52 | * this list of conditions and the following disclaimer in the documentation 53 | * and/or other materials provided with the distribution. 54 | * 3. Neither the name of STMicroelectronics nor the names of other 55 | * contributors to this software may be used to endorse or promote products 56 | * derived from this software without specific written permission. 57 | * 4. This software, including modifications and/or derivative works of this 58 | * software, must execute solely and exclusively on microcontroller or 59 | * microprocessor devices manufactured by or for STMicroelectronics. 60 | * 5. Redistribution and use of this software other than as permitted under 61 | * this license is void and will automatically terminate your rights under 62 | * this license. 63 | * 64 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 65 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 66 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 67 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 68 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 69 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 70 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 71 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 72 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 73 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 74 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 75 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 76 | * 77 | ****************************************************************************** 78 | */ 79 | 80 | #include "GUIDEMO.h" 81 | 82 | /********************************************************************* 83 | * 84 | * MainTask 85 | */ 86 | void MainTask(void); 87 | void MainTask(void) { 88 | WM_SetCreateFlags(WM_CF_MEMDEV); 89 | GUI_Init(); 90 | GUIDEMO_Main(); 91 | } 92 | 93 | /*************************** End of file ****************************/ 94 | 95 | -------------------------------------------------------------------------------- /examples/GUI_Test.c: -------------------------------------------------------------------------------- 1 | #include "GUI_Test.h" 2 | #include "GUI.h" 3 | #include "GUIDemo.h" 4 | 5 | 6 | static void test_thread(void *param) 7 | { 8 | CRC_HandleTypeDef CrcHandle; 9 | CrcHandle.Instance = CRC; 10 | HAL_CRC_Init(&CrcHandle); 11 | GUI_Init(); 12 | 13 | 14 | GUIDEMO_Main(); 15 | } 16 | 17 | static int gui_test_init(void) 18 | { 19 | rt_thread_t tid; 20 | tid = rt_thread_create("gui_test", 21 | test_thread, RT_NULL, 22 | 2048, 23 | RT_THREAD_PRIORITY_MAX - 2, 10); 24 | if (tid != RT_NULL) 25 | rt_thread_startup(tid); 26 | return RT_EOK; 27 | } 28 | INIT_APP_EXPORT(gui_test_init); 29 | -------------------------------------------------------------------------------- /examples/GUI_Test.h: -------------------------------------------------------------------------------- 1 | #ifndef __GUI_TEST_H 2 | #define __GUI_TEST_H 3 | #include 4 | #include 5 | #include 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /examples/SConscript: -------------------------------------------------------------------------------- 1 | from building import * 2 | 3 | cwd = GetCurrentDir() 4 | src = Glob('*.c') 5 | CPPPATH = [cwd] 6 | 7 | if GetDepend(['ARCH_ARM_CORTEX_M4']): 8 | src += Glob(cwd + '/5.44/*.c') 9 | CPPPATH += [cwd + '/5.44'] 10 | 11 | if GetDepend(['ARCH_ARM_CORTEX_M3']): 12 | src += Glob(cwd+ '/5.32/*.c') 13 | CPPPATH += [cwd + '/5.32'] 14 | 15 | group = DefineGroup('STemWin_DEMO', src, depend = ['PKG_USING_STEMWIN_EXAMPLE'], CPPPATH = CPPPATH) 16 | 17 | Return('group') 18 | -------------------------------------------------------------------------------- /inc/5.32/DIALOG.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : Dialog.h 31 | Purpose : Dialog box include 32 | --------------------END-OF-HEADER------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef DIALOG_H 55 | #define DIALOG_H 56 | 57 | #include "WM.h" 58 | #include "BUTTON.h" 59 | #include "CALENDAR.h" 60 | #include "CHECKBOX.h" 61 | #include "CHOOSECOLOR.h" 62 | #include "CHOOSEFILE.h" 63 | #include "DROPDOWN.h" 64 | #include "EDIT.h" 65 | #include "FRAMEWIN.h" 66 | #include "GRAPH.h" 67 | #include "HEADER.h" 68 | #include "ICONVIEW.h" 69 | #include "IMAGE.h" 70 | #include "LISTBOX.h" 71 | #include "LISTVIEW.h" 72 | #include "LISTWHEEL.h" 73 | #include "MENU.h" 74 | #include "MULTIEDIT.h" 75 | #include "MULTIPAGE.h" 76 | #include "PROGBAR.h" 77 | #include "RADIO.h" 78 | #include "SCROLLBAR.h" 79 | #include "SLIDER.h" 80 | #include "SPINBOX.h" 81 | #include "TEXT.h" 82 | #include "TREEVIEW.h" 83 | #include "KNOB.h" 84 | 85 | #if GUI_WINSUPPORT 86 | 87 | #if defined(__cplusplus) 88 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 89 | #endif 90 | 91 | /********************************************************************* 92 | * 93 | * WINDOW API 94 | */ 95 | WM_HWIN WINDOW_CreateEx (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id, WM_CALLBACK * cb); 96 | WM_HWIN WINDOW_CreateUser (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id, WM_CALLBACK * cb, int NumExtraBytes); 97 | WM_HWIN WINDOW_CreateIndirect (const GUI_WIDGET_CREATE_INFO * pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK * cb); 98 | GUI_COLOR WINDOW_GetDefaultBkColor(void); 99 | int WINDOW_GetUserData (WM_HWIN hObj, void * pDest, int NumBytes); 100 | void WINDOW_SetBkColor (WM_HWIN hObj, GUI_COLOR Color); 101 | void WINDOW_SetDefaultBkColor(GUI_COLOR Color); 102 | int WINDOW_SetUserData (WM_HWIN hObj, const void * pSrc, int NumBytes); 103 | 104 | void WINDOW_Callback(WM_MESSAGE * pMsg); 105 | 106 | #if defined(__cplusplus) 107 | } 108 | #endif 109 | 110 | #endif // GUI_WINSUPPORT 111 | #endif // DIALOG_H 112 | 113 | /*************************** End of file ****************************/ 114 | -------------------------------------------------------------------------------- /inc/5.32/GUIConf.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 : GUIConf.h 30 | Purpose : Configures emWins abilities, fonts etc. 31 | ---------------------------------------------------------------------- 32 | */ 33 | 34 | /** 35 | ****************************************************************************** 36 | * @attention 37 | * 38 | *

© Copyright (c) 2018 STMicroelectronics. 39 | * All rights reserved.

40 | * 41 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 42 | * the "License"; You may not use this file except in compliance with the License. 43 | * You may obtain a copy of the License at: 44 | * http://www.st.com/SLA0044 45 | * 46 | ****************************************************************************** 47 | */ 48 | 49 | #ifndef GUICONF_H 50 | #define GUICONF_H 51 | 52 | /********************************************************************* 53 | * 54 | * Multi layer/display support 55 | */ 56 | #define GUI_NUM_LAYERS 2 // Maximum number of available layers 57 | 58 | /********************************************************************* 59 | * 60 | * Multi tasking support 61 | */ 62 | 63 | #define GUI_OS (1) 64 | 65 | 66 | /********************************************************************* 67 | * 68 | * Configuration of touch support 69 | */ 70 | #ifndef GUI_SUPPORT_TOUCH 71 | #define GUI_SUPPORT_TOUCH (0) // Support touchscreen 72 | #endif 73 | 74 | /********************************************************************* 75 | * 76 | * Default font 77 | */ 78 | #define GUI_DEFAULT_FONT &GUI_Font6x8 79 | 80 | /********************************************************************* 81 | * 82 | * Configuration of available packages 83 | */ 84 | #define GUI_SUPPORT_MOUSE (1) /* Support a mouse */ 85 | #define GUI_WINSUPPORT (1) /* Use window manager */ 86 | #define GUI_SUPPORT_MEMDEV (1) /* Memory device package available */ 87 | #define GUI_SUPPORT_DEVICES (1) /* Enable use of device pointers */ 88 | 89 | #endif /* Avoid multiple inclusion */ 90 | -------------------------------------------------------------------------------- /inc/5.32/GUIDRV_DCache.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUIDRV_DCache.h 31 | Purpose : Interface definition for GUIDRV_DCache driver 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GUIDRV_DCACHE_H 55 | #define GUIDRV_DCACHE_H 56 | 57 | #if defined(__cplusplus) 58 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 59 | #endif 60 | 61 | /********************************************************************* 62 | * 63 | * Display driver 64 | */ 65 | // 66 | // Address 67 | // 68 | extern const GUI_DEVICE_API GUIDRV_DCache_API; 69 | 70 | // 71 | // Macros to be used in configuration files 72 | // 73 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 74 | 75 | #define GUIDRV_DCACHE &GUIDRV_Win_API 76 | 77 | #else 78 | 79 | #define GUIDRV_DCACHE &GUIDRV_DCache_API 80 | 81 | #endif 82 | 83 | /********************************************************************* 84 | * 85 | * Public routines 86 | */ 87 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 88 | 89 | #define GUIDRV_DCache_AddDriver(pDevice, pDriver) 90 | #define GUIDRV_DCache_SetMode1bpp(pDevice) 91 | 92 | #else 93 | 94 | void GUIDRV_DCache_AddDriver (GUI_DEVICE * pDevice, GUI_DEVICE * pDriver); 95 | void GUIDRV_DCache_SetMode1bpp(GUI_DEVICE * pDevice); 96 | 97 | #endif 98 | 99 | #if defined(__cplusplus) 100 | } 101 | #endif 102 | 103 | #endif /* GUIDRV_DCACHE_H */ 104 | 105 | /*************************** End of file ****************************/ 106 | -------------------------------------------------------------------------------- /inc/5.32/GUIDRV_Dist.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUIDRV_Dist.h 31 | Purpose : Interface definition for GUIDRV_Dist driver 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GUIDRV_DIST_H 55 | #define GUIDRV_DIST_H 56 | 57 | #if defined(__cplusplus) 58 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 59 | #endif 60 | 61 | /********************************************************************* 62 | * 63 | * Display driver 64 | */ 65 | // 66 | // Address 67 | // 68 | extern const GUI_DEVICE_API GUIDRV_Dist_API; 69 | 70 | // 71 | // Macros to be used in configuration files 72 | // 73 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 74 | 75 | #define GUIDRV_DIST &GUIDRV_Win_API 76 | 77 | #else 78 | 79 | #define GUIDRV_DIST &GUIDRV_Dist_API 80 | 81 | #endif 82 | 83 | /********************************************************************* 84 | * 85 | * Public routines 86 | */ 87 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 88 | 89 | #define GUIDRV_Dist_AddDriver(pDevice, pDriver, pRect) 90 | 91 | #else 92 | 93 | void GUIDRV_Dist_AddDriver(GUI_DEVICE * pDevice, GUI_DEVICE * pDriver, GUI_RECT * pRect); 94 | 95 | #endif 96 | 97 | #if defined(__cplusplus) 98 | } 99 | #endif 100 | 101 | #endif /* GUIDRV_DIST_H */ 102 | 103 | /*************************** End of file ****************************/ 104 | -------------------------------------------------------------------------------- /inc/5.32/GUIDRV_NoOpt_1_8.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUIDRV_NoOpt_1_8.h 31 | Purpose : Interface definition for non optimized drawing functions 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #include "GUI_Private.h" 55 | 56 | #ifndef GUIDRV_NOOPT_1_8_H 57 | #define GUIDRV_NOOPT_1_8_H 58 | 59 | void GUIDRV__NoOpt_XorPixel (GUI_DEVICE * pDevice, int x, int y); 60 | void GUIDRV__NoOpt_DrawHLine (GUI_DEVICE * pDevice, int x0, int y, int x1); 61 | void GUIDRV__NoOpt_DrawVLine (GUI_DEVICE * pDevice, int x, int y0, int y1); 62 | void GUIDRV__NoOpt_FillRect (GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1); 63 | void GUIDRV__NoOpt_DrawBitmap(GUI_DEVICE * pDevice, int x0, int y0, int xSize, int ySize, int BitsPerPixel, int BytesPerLine, const U8 * pData, int Diff, const LCD_PIXELINDEX * pTrans); 64 | 65 | #endif 66 | 67 | /*************************** End of file ****************************/ 68 | -------------------------------------------------------------------------------- /inc/5.32/GUIDRV_Template.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUIDRV_Template.h 31 | Purpose : Interface definition for GUIDRV_Template driver 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GUIDRV_TEMPLATE_H 55 | #define GUIDRV_TEMPLATE_H 56 | 57 | /********************************************************************* 58 | * 59 | * Display drivers 60 | */ 61 | // 62 | // Addresses 63 | // 64 | extern const GUI_DEVICE_API GUIDRV_Win_API; 65 | 66 | extern const GUI_DEVICE_API GUIDRV_Template_API; 67 | 68 | // 69 | // Macros to be used in configuration files 70 | // 71 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 72 | 73 | #define GUIDRV_TEMPLATE &GUIDRV_Win_API 74 | 75 | #else 76 | 77 | #define GUIDRV_TEMPLATE &GUIDRV_Template_API 78 | 79 | #endif 80 | 81 | #endif 82 | 83 | /*************************** End of file ****************************/ 84 | -------------------------------------------------------------------------------- /inc/5.32/GUIMTDRV_TangoC32.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUIMTDRV_TangoC32.h 31 | Purpose : Interface definition for GUIMTDRV_TangoC32 driver 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | #ifndef GUIMTDRV_TANGOC32_H 36 | #define GUIMTDRV_TANGOC32_H 37 | 38 | #include "GUI_Type.h" 39 | 40 | #if defined(__cplusplus) 41 | //extern "C" { /* Make sure we have C-declarations in C++ programs */ 42 | #endif 43 | 44 | /********************************************************************* 45 | * 46 | * Types 47 | * 48 | ********************************************************************** 49 | */ 50 | typedef struct { 51 | int LayerIndex; 52 | // 53 | // Initialization 54 | // 55 | void (* pf_I2C_Init)(unsigned char SlaveAddr); 56 | // 57 | // Read- and write access 58 | // 59 | int (* pf_I2C_Read )(unsigned char * pData, int Start, int Stop); 60 | int (* pf_I2C_ReadM )(unsigned char * pData, int NumItems, int Start, int Stop); 61 | int (* pf_I2C_Write )(unsigned char Data, int Start, int Stop); 62 | int (* pf_I2C_WriteM)(unsigned char * pData, int NumItems, int Start, int Stop); 63 | // 64 | // 7-bit address to be used to address the I2C slave 65 | // 66 | U8 SlaveAddr; 67 | } GUIMTDRV_TANGOC32_CONFIG; 68 | 69 | /********************************************************************* 70 | * 71 | * Interface 72 | * 73 | ********************************************************************** 74 | */ 75 | int GUIMTDRV_TangoC32_Init(GUIMTDRV_TANGOC32_CONFIG * pConfig); 76 | int GUIMTDRV_TangoC32_Exec(void); 77 | 78 | #endif /* GUIMTDRV_TANGOC32_H */ 79 | 80 | /*************************** End of file ****************************/ 81 | -------------------------------------------------------------------------------- /inc/5.32/GUI_ARRAY.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUI_ARRAY.h 31 | Purpose : Array handling routines 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GUI_ARRAY_H 55 | #define GUI_ARRAY_H 56 | 57 | #include "WM_Intern.h" 58 | 59 | #if GUI_WINSUPPORT 60 | 61 | /********************************************************************* 62 | * 63 | * Public types 64 | * 65 | ********************************************************************** 66 | */ 67 | typedef WM_HMEM GUI_ARRAY; 68 | 69 | /********************************************************************* 70 | * 71 | * Public functions 72 | * 73 | ********************************************************************** 74 | */ 75 | GUI_ARRAY GUI_ARRAY_Create (void); 76 | int GUI_ARRAY_AddItem (GUI_ARRAY hArray, const void * pNew, int Len); 77 | void GUI_ARRAY_Delete (GUI_ARRAY hArray); 78 | WM_HMEM GUI_ARRAY_GethItem (GUI_ARRAY hArray, unsigned int Index); 79 | unsigned GUI_ARRAY_GetNumItems (GUI_ARRAY hArray); 80 | void * GUI_ARRAY_GetpItemLocked (GUI_ARRAY hArray, unsigned int Index); 81 | int GUI_ARRAY_SethItem (GUI_ARRAY hArray, unsigned int Index, WM_HMEM hItem); 82 | WM_HMEM GUI_ARRAY_SetItem (GUI_ARRAY hArray, unsigned int Index, const void * pData, int Len); 83 | void GUI_ARRAY_DeleteItem (GUI_ARRAY hArray, unsigned int Index); 84 | char GUI_ARRAY_InsertBlankItem (GUI_ARRAY hArray, unsigned int Index); 85 | WM_HMEM GUI_ARRAY_InsertItem (GUI_ARRAY hArray, unsigned int Index, int Len); 86 | void * GUI_ARRAY_ResizeItemLocked(GUI_ARRAY hArray, unsigned int Index, int Len); 87 | 88 | #endif /* GUI_WINSUPPORT */ 89 | 90 | #endif /* GUI_ARRAY_H */ 91 | -------------------------------------------------------------------------------- /inc/5.32/GUI_ARRAY_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUI_ARRAY_Private.h 31 | Purpose : Private array handling routines, should be used only 32 | from within GUI_ARRAY... routines! 33 | ---------------------------END-OF-HEADER------------------------------ 34 | */ 35 | 36 | /** 37 | ****************************************************************************** 38 | * @attention 39 | * 40 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 41 | * You may not use this file except in compliance with the License. 42 | * You may obtain a copy of the License at: 43 | * 44 | * http://www.st.com/software_license_agreement_liberty_v2 45 | * 46 | * Unless required by applicable law or agreed to in writing, software 47 | * distributed under the License is distributed on an "AS IS" BASIS, 48 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 49 | * See the License for the specific language governing permissions and 50 | * limitations under the License. 51 | * 52 | ****************************************************************************** 53 | */ 54 | 55 | #ifndef GUI_ARRAY_PRIVATE_H 56 | #define GUI_ARRAY_PRIVATE_H 57 | 58 | #include "GUI_ARRAY.h" 59 | 60 | #if GUI_WINSUPPORT 61 | 62 | /********************************************************************* 63 | * 64 | * Private types 65 | * 66 | ********************************************************************** 67 | */ 68 | typedef struct { 69 | U16 NumItems; 70 | WM_HMEM haHandle; /* Handle to buffer holding handles */ 71 | } GUI_ARRAY_OBJ; 72 | 73 | /********************************************************************* 74 | * 75 | * Private functions 76 | * 77 | ********************************************************************** 78 | */ 79 | WM_HMEM GUI_ARRAY__GethItem (const GUI_ARRAY_OBJ * pThis, unsigned int Index); 80 | void * GUI_ARRAY__GetpItem (const GUI_ARRAY_OBJ * pThis, unsigned int Index); 81 | void * GUI_ARRAY__GetpItemLocked(const GUI_ARRAY_OBJ * pThis, unsigned int Index); 82 | int GUI_ARRAY__SethItem ( GUI_ARRAY_OBJ * pThis, unsigned int Index, WM_HMEM hItem); 83 | 84 | #endif /* GUI_WINSUPPORT */ 85 | 86 | #endif /* GUI_ARRAY_PRIVATE_H */ 87 | 88 | -------------------------------------------------------------------------------- /inc/5.32/GUI_FontIntern.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUI_FontIntern.h 31 | Purpose : Internal decalrations used in font files 32 | ---------------------------END-OF-HEADER------------------------------ 33 | 34 | Attention : Do not modify this file ! If you do, you will not 35 | be able do update to a later GUI version ! 36 | 37 | */ 38 | 39 | /** 40 | ****************************************************************************** 41 | * @attention 42 | * 43 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 44 | * You may not use this file except in compliance with the License. 45 | * You may obtain a copy of the License at: 46 | * 47 | * http://www.st.com/software_license_agreement_liberty_v2 48 | * 49 | * Unless required by applicable law or agreed to in writing, software 50 | * distributed under the License is distributed on an "AS IS" BASIS, 51 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 52 | * See the License for the specific language governing permissions and 53 | * limitations under the License. 54 | * 55 | ****************************************************************************** 56 | */ 57 | 58 | #ifndef GUI_FONTINTERN_H /* Guard against multiple inclusion */ 59 | #define GUI_FONTINTERN_H 60 | 61 | #include "GUI.h" 62 | 63 | #if defined(__cplusplus) 64 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 65 | #endif 66 | 67 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font8ASCII_Prop; 68 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontF8x13_ASCII_Prop1; 69 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontF8x15B_ASCII_Prop1; 70 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font10S_ASCII_FontProp1; 71 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font10ASCIIProp1; 72 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13ASCII_Prop1; 73 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13B_ASCII_Prop1; 74 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13H_ASCII_Prop1; 75 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13HB_ASCII_Prop1; 76 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font16_1_FontProp1; 77 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font16ASCIIProp1; 78 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font16B_ASCII_Prop1; 79 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font20_ASCII_Prop1; 80 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font20B_ASCII_Prop1; 81 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font24_ASCII_Prop1; 82 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font24B_ASCII_Prop1; 83 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font32_ASCII_Prop1; 84 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font32B_ASCII_Prop1; 85 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontComic18B_ASCII_Prop1; 86 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontComic24B_ASCII_Prop1; 87 | 88 | extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font16_HK_CharInfo[169]; 89 | 90 | #if defined(__cplusplus) 91 | } 92 | #endif 93 | 94 | 95 | #endif /* Guard against multiple inclusion */ 96 | 97 | /*************************** End of file ****************************/ 98 | -------------------------------------------------------------------------------- /inc/5.32/GUI_HOOK.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUI_HOOK.h 31 | Purpose : Hook handling routines 32 | --------------------END-OF-HEADER------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GUI_HOOK_H 55 | #define GUI_HOOK_H 56 | 57 | #include "WM_Intern.h" 58 | 59 | #if GUI_WINSUPPORT 60 | 61 | #if defined(__cplusplus) 62 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 63 | #endif 64 | 65 | /********************************************************************* 66 | * 67 | * Types 68 | * 69 | ********************************************************************** 70 | */ 71 | 72 | typedef int GUI_HOOK_FUNC(WM_MESSAGE* pMsg); 73 | 74 | typedef struct GUI_HOOK { 75 | struct GUI_HOOK* pNext; 76 | GUI_HOOK_FUNC* pHookFunc; 77 | } GUI_HOOK; 78 | 79 | /********************************************************************* 80 | * 81 | * Functions 82 | * 83 | ********************************************************************** 84 | */ 85 | 86 | void GUI_HOOK_Add (GUI_HOOK** ppFirstHook, GUI_HOOK* pNewHook, GUI_HOOK_FUNC* pHookFunc); 87 | void GUI_HOOK_Remove(GUI_HOOK** ppFirstHook, GUI_HOOK* pHook); 88 | 89 | #if defined(__cplusplus) 90 | } 91 | #endif 92 | 93 | #endif /* GUI_WINSUPPORT */ 94 | #endif /* GUI_HOOK_H */ 95 | 96 | /*************************** End of file ****************************/ 97 | -------------------------------------------------------------------------------- /inc/5.32/GUI_SIM_Win32.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUI_SIM_Win32.h 31 | Purpose : Declares public functions of Simulation 32 | ---------------------------------------------------------------------- 33 | */ 34 | 35 | #ifndef SIM_GUI_H 36 | #define SIM_GUI_H 37 | 38 | #include 39 | 40 | #if defined(__cplusplus) 41 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 42 | #endif 43 | 44 | /******************************************************************** 45 | * 46 | * Data 47 | * 48 | ********************************************************************* 49 | */ 50 | extern HINSTANCE SIM_GUI_hInst; 51 | extern HWND SIM_GUI_hWndMain; 52 | 53 | /******************************************************************** 54 | * 55 | * Types 56 | * 57 | ********************************************************************* 58 | */ 59 | typedef struct { 60 | HWND hWndMain; 61 | HWND ahWndLCD[16]; 62 | HWND ahWndColor[16]; 63 | } SIM_GUI_INFO; 64 | 65 | typedef int SIM_GUI_tfHook (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, int * pResult); 66 | typedef void SIM_GUI_tfDelayHandler (int ms); 67 | typedef void SIM_GUI_tfExecIdleHandler(void); 68 | 69 | /******************************************************************** 70 | * 71 | * Interface 72 | * 73 | ********************************************************************* 74 | */ 75 | void SIM_GUI_ShowDevice (int OnOff); 76 | void SIM_GUI_SetCallback (int (* pfCallback)(SIM_GUI_INFO * pInfo)); 77 | void SIM_GUI_HandleKeyEvents (unsigned Msg, WPARAM wParam); 78 | HWND SIM_GUI_CreateCompositeWindow(HWND hParent, int x, int y, int xSize, int ySize, int DisplayIndex); 79 | HWND SIM_GUI_CreateLCDWindow (HWND hParent, int x, int y, int xSize, int ySize, int LayerIndex); 80 | HWND SIM_GUI_CreateLOGWindow (HWND hParent, int x, int y, int xSize, int ySize); 81 | HWND SIM_GUI_CreateLCDInfoWindow (HWND hParent, int x, int y, int xSize, int ySize, int LayerIndex); 82 | void SIM_GUI_Enable (void); 83 | int SIM_GUI_Init (HINSTANCE hInst, HWND hWndMain, char * pCmdLine, const char * sAppName); 84 | void SIM_GUI_CopyToClipboard (int LayerIndex); 85 | void SIM_GUI_SetLCDWindowHook (SIM_GUI_tfHook * pfHook); 86 | void SIM_GUI_SetDelayHandler (SIM_GUI_tfDelayHandler * pfHandler); 87 | void SIM_GUI_SetExecIdleHandler (SIM_GUI_tfExecIdleHandler * pfHandler); 88 | void SIM_GUI_GetCompositeSize (int * pxSize, int * pySize); 89 | int SIM_GUI_GetTransColor (void); 90 | void SIM_GUI_GetLCDPos (int * px, int * py); 91 | void SIM_GUI_Exit (void); 92 | void SIM_GUI_SetMessageBoxOnError (int OnOff); 93 | int SIM_GUI_App (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); 94 | void SIM_GUI_SetPixel (int x, int y, unsigned Color); 95 | 96 | void SIM_GUI_LOG_Time (void); 97 | void __cdecl SIM_GUI_LOG_Add (const char *format ,... ); 98 | void SIM_GUI_LOG_AddRed(void); 99 | void SIM_GUI_LOG_Clear (void); 100 | 101 | void LCDSIM_Paint (HWND hWnd); 102 | void LCDSIM_PaintComposite(HWND hWnd); 103 | void LCDSIM_SetTransMode (int LayerIndex, int TransMode); 104 | void LCDSIM_SetChroma (int LayerIndex, unsigned long ChromaMin, unsigned long ChromaMax); 105 | 106 | #if defined(__cplusplus) 107 | } 108 | #endif 109 | 110 | #endif /* SIM_GUI_H */ 111 | -------------------------------------------------------------------------------- /inc/5.32/GUI_SPRITE_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUI_SPRITE_Private.h 31 | Purpose : Private header file for sprites 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GUI_SPRITE_PRIVATE_H 55 | #define GUI_SPRITE_PRIVATE_H 56 | 57 | /********************************************************************* 58 | * 59 | * Defines 60 | * 61 | ********************************************************************** 62 | */ 63 | #define SPRITE_LOCK_H(h) (GUI_SPRITE_OBJ *)GUI_LOCK_H(h) 64 | 65 | /********************************************************************* 66 | * 67 | * Types 68 | * 69 | ********************************************************************** 70 | */ 71 | // 72 | // The sprite object 73 | // 74 | typedef struct { 75 | GUI_DEVICE * pDevice; 76 | GUI_RECT Rect; 77 | GUI_HMEM hColors; 78 | U16 Flags; 79 | const GUI_BITMAP * pBM; 80 | void (* pCB)(GUI_HSPRITE hSprite, int Cmd); // Callback routine for animated sprites 81 | GUI_HMEM hContext; 82 | } GUI_SPRITE_OBJ; 83 | 84 | 85 | #endif // GUI_SPRITE_PRIVATE_H 86 | 87 | /*************************** End of file ****************************/ 88 | -------------------------------------------------------------------------------- /inc/5.32/GUI_SetOrientation.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUI_SetOrientation.h 31 | Purpose : Private include file for GUI_SetOrientation_xxx 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GUI_SETORIENTATION_H 55 | #define GUI_SETORIENTATION_H 56 | 57 | #include "GUI_Private.h" 58 | 59 | /********************************************************************* 60 | * 61 | * Defines 62 | * 63 | ********************************************************************** 64 | */ 65 | // 66 | // Use unique context identified 67 | // 68 | #define DRIVER_CONTEXT DRIVER_CONTEXT_ORIENTATION 69 | 70 | /********************************************************************* 71 | * 72 | * Types 73 | * 74 | ********************************************************************** 75 | */ 76 | /********************************************************************* 77 | * 78 | * DRIVER_CONTEXT 79 | */ 80 | typedef struct DRIVER_CONTEXT DRIVER_CONTEXT; 81 | 82 | struct DRIVER_CONTEXT { 83 | void (* pfLog2Phys)(DRIVER_CONTEXT * pContext, int x, int y, int * px_phys, int * py_phys); 84 | U8 * pData; 85 | int BytesPerPixel; 86 | int BytesPerLine; 87 | int Orientation; 88 | int xSize, ySize; 89 | int vxSize, vySize; 90 | int PixelOffset; 91 | const GUI_ORIENTATION_API * pDrawingAPI; 92 | }; 93 | 94 | /********************************************************************* 95 | * 96 | * Private interface 97 | * 98 | ********************************************************************** 99 | */ 100 | void GUI__Sort(int * p0, int * p1); 101 | 102 | #endif /* GUI_SETORIENTATION_H */ 103 | 104 | /*************************** End of file ****************************/ 105 | -------------------------------------------------------------------------------- /inc/5.32/GUI_Type.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loogg/STemWin/9c5621fc16faaf5d98b70cfd20ad1eb309449ed5/inc/5.32/GUI_Type.h -------------------------------------------------------------------------------- /inc/5.32/GUI_Version.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GUI_Version.h 31 | Purpose : Include file defining current GUI version 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GUI_VERSION_H 55 | #define GUI_VERSION_H 56 | 57 | #define GUI_VERSION 53202 58 | 59 | #endif /* Avoid multiple inclusion */ 60 | 61 | /*************************** End of file ****************************/ 62 | -------------------------------------------------------------------------------- /inc/5.32/Global.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : GLOBAL.h 31 | Purpose : Global types etc. 32 | ---------------------------END-OF-HEADER------------------------------ 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef GLOBAL_H // Guard against multiple inclusion 55 | #define GLOBAL_H 56 | 57 | /********************************************************************* 58 | * 59 | * Macros 60 | * 61 | ********************************************************************** 62 | */ 63 | #ifndef U8 64 | #define U8 unsigned char 65 | #endif 66 | #ifndef U16 67 | #define U16 unsigned short 68 | #endif 69 | #ifndef U32 70 | #define U32 unsigned long 71 | #endif 72 | #ifndef I8 73 | #define I8 signed char 74 | #endif 75 | #ifndef I16 76 | #define I16 signed short 77 | #endif 78 | #ifndef I32 79 | #define I32 signed long 80 | #endif 81 | 82 | #endif // Avoid multiple inclusion 83 | 84 | /*************************** End of file ****************************/ 85 | -------------------------------------------------------------------------------- /inc/5.32/KNOB_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : KNOB.h 31 | Purpose : KNOB include 32 | --------------------END-OF-HEADER------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef KNOB_PRIVATE_H 55 | #define KNOB_PRIVATE_H 56 | 57 | #include "KNOB.h" 58 | #include "GUI_Private.h" 59 | 60 | #if (GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT) 61 | 62 | /********************************************************************* 63 | * 64 | * Object definition 65 | * 66 | ********************************************************************** 67 | */ 68 | typedef struct { 69 | I32 Snap; // Position where the knob snaps 70 | I32 Period; // Time it takes to stop the knob in ms 71 | GUI_COLOR BkColor; // The Bk color 72 | I32 Offset; // the offset 73 | I32 MinRange; 74 | I32 MaxRange; 75 | I32 TickSize; // Minimum movement range in 1/10 of degree 76 | I32 KeyValue; // Range of movement for one key push 77 | } KNOB_PROPS; 78 | 79 | typedef struct { 80 | WIDGET Widget; 81 | KNOB_PROPS Props; 82 | WM_HMEM hContext; 83 | I32 Angle; 84 | I32 Value; 85 | int xSize; 86 | int ySize; 87 | GUI_MEMDEV_Handle hMemSrc; 88 | GUI_MEMDEV_Handle hMemDst; 89 | GUI_MEMDEV_Handle hMemBk; 90 | } KNOB_OBJ; 91 | 92 | /********************************************************************* 93 | * 94 | * Macros for internal use 95 | * 96 | ********************************************************************** 97 | */ 98 | #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 99 | #define KNOB_INIT_ID(p) p->Widget.DebugId = KNOB_ID 100 | #else 101 | #define KNOB_INIT_ID(p) 102 | #endif 103 | 104 | #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 105 | KNOB_OBJ * KNOB_LockH(KNOB_Handle h); 106 | #define KNOB_LOCK_H(h) KNOB_LockH(h) 107 | #else 108 | #define KNOB_LOCK_H(h) (KNOB_OBJ *)GUI_LOCK_H(h) 109 | #endif 110 | 111 | /********************************************************************* 112 | * 113 | * Module internal data 114 | * 115 | ********************************************************************** 116 | */ 117 | extern KNOB_PROPS KNOB__DefaultProps; 118 | 119 | #endif // (GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT) 120 | #endif // KNOB_PRIVATE_H 121 | -------------------------------------------------------------------------------- /inc/5.32/LCDConf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loogg/STemWin/9c5621fc16faaf5d98b70cfd20ad1eb309449ed5/inc/5.32/LCDConf.h -------------------------------------------------------------------------------- /inc/5.32/LCD_ConfDefaults.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : LCD_ConfDefaults.h 31 | Purpose : Valid LCD configuration and defaults 32 | ---------------------------------------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef LCD_CONFIG_DEFAULTS_H 55 | #define LCD_CONFIG_DEFAULTS_H 56 | 57 | #include "LCDConf.h" /* Configuration header file */ 58 | 59 | /********************************************************** 60 | * 61 | * Configuration defaults 62 | */ 63 | #ifndef LCD_MIRROR_X 64 | #define LCD_MIRROR_X 0 65 | #endif 66 | #ifndef LCD_MIRROR_Y 67 | #define LCD_MIRROR_Y 0 68 | #endif 69 | #ifndef LCD_SWAP_XY 70 | #define LCD_SWAP_XY 0 71 | #endif 72 | #ifndef LCD_FIRSTCOM0 73 | #define LCD_FIRSTCOM0 0 74 | #endif 75 | #ifndef LCD_FIRSTSEG0 76 | #define LCD_FIRSTSEG0 0 77 | #endif 78 | #ifndef LCD_SWAP_RB 79 | #define LCD_SWAP_RB 0 80 | #endif 81 | #ifndef LCD_DISPLAY_INDEX 82 | #define LCD_DISPLAY_INDEX 0 83 | #endif 84 | #ifndef LCD_ENDIAN_BIG 85 | #define LCD_ENDIAN_BIG 0 86 | #endif 87 | #ifndef LCD_ALLOW_NON_OPTIMIZED_MODE 88 | #define LCD_ALLOW_NON_OPTIMIZED_MODE 1 89 | #endif 90 | 91 | #endif /* LCD_CONFIG_DEFAULTS_H */ 92 | 93 | /*************************** End of file ****************************/ 94 | -------------------------------------------------------------------------------- /inc/5.32/LCD_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : LCD_Private.h 31 | Purpose : To be used only by the display drivers 32 | ---------------------------------------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef LCD_Private_H 55 | #define LCD_Private_H 56 | 57 | #include "LCDConf.h" 58 | #include "LCD_Protected.h" 59 | #include "GUI.h" 60 | 61 | /********************************************************************* 62 | * 63 | * API functions 64 | */ 65 | extern const struct tLCDDEV_APIList_struct * /* const */ LCD_aAPI[GUI_NUM_LAYERS]; 66 | 67 | /********************************************************************* 68 | * 69 | * Support for Segment/COMLUTs 70 | */ 71 | #define LCD_TYPE_SEGTRANS U16 72 | #define LCD_TYPE_COMTRANS U16 73 | 74 | #ifdef LCD_LUT_COM 75 | extern LCD_TYPE_COMTRANS LCD__aLine2Com0[LCD_YSIZE]; 76 | #endif 77 | 78 | #ifdef LCD_LUT_SEG 79 | extern LCD_TYPE_COMTRANS LCD__aCol2Seg0[LCD_XSIZE]; 80 | #endif 81 | 82 | /********************************************************************* 83 | * 84 | * Support for multiple display controllers 85 | */ 86 | #define DECLARE_PROTOTYPES(DISTX) \ 87 | void LCD_##DISTX##_SetPixelIndex(int x, int y, int PixelIndex); \ 88 | unsigned LCD_##DISTX##_GetPixelIndex(int x, int y); \ 89 | void LCD_##DISTX##_XorPixel (int x, int y); \ 90 | void LCD_##DISTX##_DrawHLine (int x0, int y, int x1); \ 91 | void LCD_##DISTX##_DrawVLine (int x, int y0, int y1); \ 92 | void LCD_##DISTX##_FillRect (int x0, int y0, int x1, int y1); \ 93 | void LCD_##DISTX##_DrawBitmap (int x0, int y0, int xsize, int ysize, int BitsPerPixel, int BytesPerLine, const U8 * pData, int Diff, const LCD_PIXELINDEX * pTrans); \ 94 | void LCD_##DISTX##_SetOrg (int x, int y); \ 95 | void LCD_##DISTX##_On (void); \ 96 | void LCD_##DISTX##_Off (void); \ 97 | int LCD_##DISTX##_Init (void); \ 98 | void LCD_##DISTX##_SetLUTEntry (U8 Pos, LCD_COLOR Color); \ 99 | void * LCD_##DISTX##_GetDevFunc (int Index); \ 100 | void LCD_##DISTX##_ReInit (void) 101 | 102 | DECLARE_PROTOTYPES(DIST0); 103 | DECLARE_PROTOTYPES(DIST1); 104 | DECLARE_PROTOTYPES(DIST2); 105 | DECLARE_PROTOTYPES(DIST3); 106 | 107 | #endif /* Avoid multiple inclusion */ 108 | 109 | /*************************** End of file ****************************/ 110 | -------------------------------------------------------------------------------- /inc/5.32/MESSAGEBOX.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : MESSAGEBOX.h 31 | Purpose : Message box interface 32 | --------------------END-OF-HEADER------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef MESSAGEBOX_H 55 | #define MESSAGEBOX_H 56 | 57 | #include "WM.h" 58 | 59 | #if GUI_WINSUPPORT 60 | 61 | #if defined(__cplusplus) 62 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 63 | #endif 64 | 65 | WM_HWIN MESSAGEBOX_Create(const char * sMessage, const char * sCaption, int Flags); 66 | 67 | /********************************************************************* 68 | * 69 | * The callback ... 70 | * 71 | * Do not call it directly ! It is only to be used from within an 72 | * overwritten callback. 73 | */ 74 | void MESSAGEBOX_Callback(WM_MESSAGE * pMsg); 75 | 76 | #if defined(__cplusplus) 77 | } 78 | #endif 79 | 80 | #endif /* GUI_WINSUPPORT */ 81 | 82 | #endif /* MESSAGEBOX */ 83 | -------------------------------------------------------------------------------- /inc/5.32/TEXT_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : TEXT.h 31 | Purpose : TEXT include 32 | --------------------END-OF-HEADER------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef TEXT_PRIVATE_H 55 | #define TEXT_PRIVATE_H 56 | 57 | #include "TEXT.h" 58 | #include "GUI_Private.h" 59 | 60 | #if GUI_WINSUPPORT 61 | 62 | /********************************************************************* 63 | * 64 | * Object definition 65 | * 66 | ********************************************************************** 67 | */ 68 | typedef struct { 69 | const GUI_FONT * pFont; 70 | GUI_COLOR TextColor; 71 | GUI_COLOR BkColor; 72 | GUI_WRAPMODE WrapMode; 73 | } TEXT_PROPS; 74 | 75 | typedef struct { 76 | WIDGET Widget; 77 | TEXT_PROPS Props; 78 | WM_HMEM hpText; 79 | I16 Align; 80 | } TEXT_OBJ; 81 | 82 | /********************************************************************* 83 | * 84 | * Macros for internal use 85 | * 86 | ********************************************************************** 87 | */ 88 | #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 89 | #define TEXT_INIT_ID(p) p->Widget.DebugId = TEXT_ID 90 | #else 91 | #define TEXT_INIT_ID(p) 92 | #endif 93 | 94 | #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 95 | TEXT_OBJ * TEXT_LockH(TEXT_Handle h); 96 | #define TEXT_LOCK_H(h) TEXT_LockH(h) 97 | #else 98 | #define TEXT_LOCK_H(h) (TEXT_OBJ *)GUI_LOCK_H(h) 99 | #endif 100 | 101 | /********************************************************************* 102 | * 103 | * Module internal data 104 | * 105 | ********************************************************************** 106 | */ 107 | extern TEXT_PROPS TEXT__DefaultProps; 108 | 109 | #endif /* if GUI_WINSUPPORT */ 110 | #endif /* TEXT_PRIVATE_H */ 111 | -------------------------------------------------------------------------------- /inc/5.32/WINDOW_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : WINDOW_Private.h 31 | Purpose : WINDOW private header file 32 | --------------------END-OF-HEADER------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef WINDOW_PRIVATE_H 55 | #define WINDOW_PRIVATE_H 56 | 57 | #include "WM.h" 58 | 59 | #if GUI_WINSUPPORT 60 | 61 | /********************************************************************* 62 | * 63 | * Externals 64 | * 65 | ********************************************************************** 66 | */ 67 | 68 | extern GUI_COLOR WINDOW__DefaultBkColor; 69 | 70 | #endif /* GUI_WINSUPPORT */ 71 | #endif /* WINDOW_PRIVATE_H */ 72 | -------------------------------------------------------------------------------- /inc/5.32/WM_GUI.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Portions COPYRIGHT 2016 STMicroelectronics * 3 | * Portions SEGGER Microcontroller GmbH & Co. KG * 4 | * Solutions for real time microcontroller applications * 5 | ********************************************************************** 6 | * * 7 | * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG * 8 | * * 9 | * Internet: www.segger.com Support: support@segger.com * 10 | * * 11 | ********************************************************************** 12 | 13 | ** emWin V5.32 - Graphical user interface for embedded applications ** 14 | All Intellectual Property rights in the Software belongs to SEGGER. 15 | emWin is protected by international copyright laws. Knowledge of the 16 | source code may not be used to write a similar product. This file may 17 | only be used in accordance with the following terms: 18 | 19 | The software has been licensed to STMicroelectronics International 20 | N.V. a Dutch company with a Swiss branch and its headquarters in Plan- 21 | les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the 22 | purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ 23 | troller products commercialized by Licensee only, sublicensed and dis_ 24 | tributed under the terms and conditions of the End User License Agree_ 25 | ment supplied by STMicroelectronics International N.V. 26 | Full source code is available at: www.segger.com 27 | 28 | We appreciate your understanding and fairness. 29 | ---------------------------------------------------------------------- 30 | File : WM_GUI.h 31 | Purpose : Windows manager include for low level GUI routines 32 | ---------------------------------------------------------------------- 33 | */ 34 | 35 | /** 36 | ****************************************************************************** 37 | * @attention 38 | * 39 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 40 | * You may not use this file except in compliance with the License. 41 | * You may obtain a copy of the License at: 42 | * 43 | * http://www.st.com/software_license_agreement_liberty_v2 44 | * 45 | * Unless required by applicable law or agreed to in writing, software 46 | * distributed under the License is distributed on an "AS IS" BASIS, 47 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 48 | * See the License for the specific language governing permissions and 49 | * limitations under the License. 50 | * 51 | ****************************************************************************** 52 | */ 53 | 54 | #ifndef WM_GUI_H /* Make sure we only include it once */ 55 | #define WM_GUI_H 56 | 57 | #if defined(__cplusplus) 58 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 59 | #endif 60 | 61 | int WM__InitIVRSearch(const GUI_RECT* pMaxRect); 62 | int WM__GetNextIVR (void); 63 | int WM__GetOrgX_AA(void); 64 | int WM__GetOrgY_AA(void); 65 | 66 | #define WM_ITERATE_START(pRect) \ 67 | { \ 68 | if (WM__InitIVRSearch(pRect)) \ 69 | do { 70 | 71 | #define WM_ITERATE_END() \ 72 | } while (WM__GetNextIVR()); \ 73 | } 74 | 75 | #define WM_ADDORGX(x) (x += GUI_pContext->xOff) 76 | #define WM_ADDORGY(y) (y += GUI_pContext->yOff) 77 | #define WM_ADDORG(x0,y0) WM_ADDORGX(x0); WM_ADDORGY(y0) 78 | #define WM_ADDORGX_AA(x) (x += WM__GetOrgX_AA()) 79 | #define WM_ADDORGY_AA(y) (y += WM__GetOrgY_AA()) 80 | #define WM_ADDORG_AA(x0,y0) WM_ADDORGX_AA(x0); WM_ADDORGY_AA(y0) 81 | #define WM_SUBORGX(x) (x -= GUI_pContext->xOff) 82 | #define WM_SUBORGY(y) (y -= GUI_pContext->yOff) 83 | #define WM_SUBORG(x0,y0) WM_SUBORGX(x0); WM_SUBORGY(y0) 84 | 85 | #if defined(__cplusplus) 86 | } 87 | #endif 88 | 89 | 90 | #endif /* Avoid multiple inclusion */ 91 | 92 | /*************************** End of file ****************************/ 93 | -------------------------------------------------------------------------------- /inc/5.44/DIALOG.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : Dialog.h 44 | Purpose : Dialog box include 45 | --------------------END-OF-HEADER------------------------------------- 46 | */ 47 | 48 | #ifndef DIALOG_H 49 | #define DIALOG_H 50 | 51 | #include "WM.h" 52 | #include "BUTTON.h" 53 | #include "CALENDAR.h" 54 | #include "CHECKBOX.h" 55 | #include "CHOOSECOLOR.h" 56 | #include "CHOOSEFILE.h" 57 | #include "DROPDOWN.h" 58 | #include "EDIT.h" 59 | #include "FRAMEWIN.h" 60 | #include "GRAPH.h" 61 | #include "HEADER.h" 62 | #include "ICONVIEW.h" 63 | #include "IMAGE.h" 64 | #include "LISTBOX.h" 65 | #include "LISTVIEW.h" 66 | #include "LISTWHEEL.h" 67 | #include "MENU.h" 68 | #include "MULTIEDIT.h" 69 | #include "MULTIPAGE.h" 70 | #include "PROGBAR.h" 71 | #include "RADIO.h" 72 | #include "SCROLLBAR.h" 73 | #include "SLIDER.h" 74 | #include "SPINBOX.h" 75 | #include "SWIPELIST.h" 76 | #include "TEXT.h" 77 | #include "TREEVIEW.h" 78 | #include "KNOB.h" 79 | 80 | #if GUI_WINSUPPORT 81 | 82 | #if defined(__cplusplus) 83 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 84 | #endif 85 | 86 | /********************************************************************* 87 | * 88 | * WINDOW API 89 | */ 90 | WM_HWIN WINDOW_CreateEx (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id, WM_CALLBACK * cb); 91 | WM_HWIN WINDOW_CreateUser (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id, WM_CALLBACK * cb, int NumExtraBytes); 92 | WM_HWIN WINDOW_CreateIndirect (const GUI_WIDGET_CREATE_INFO * pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK * cb); 93 | GUI_COLOR WINDOW_GetDefaultBkColor(void); 94 | int WINDOW_GetUserData (WM_HWIN hObj, void * pDest, int NumBytes); 95 | void WINDOW_SetBkColor (WM_HWIN hObj, GUI_COLOR Color); 96 | void WINDOW_SetDefaultBkColor(GUI_COLOR Color); 97 | int WINDOW_SetUserData (WM_HWIN hObj, const void * pSrc, int NumBytes); 98 | 99 | void WINDOW_Callback(WM_MESSAGE * pMsg); 100 | 101 | #if defined(__cplusplus) 102 | } 103 | #endif 104 | 105 | #endif // GUI_WINSUPPORT 106 | #endif // DIALOG_H 107 | 108 | /*************************** End of file ****************************/ 109 | -------------------------------------------------------------------------------- /inc/5.44/GUIConf.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 : GUIConf.h 30 | Purpose : Configures emWins abilities, fonts etc. 31 | ---------------------------------------------------------------------- 32 | */ 33 | 34 | /** 35 | ****************************************************************************** 36 | * @attention 37 | * 38 | *

© Copyright (c) 2018 STMicroelectronics. 39 | * All rights reserved.

40 | * 41 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 42 | * the "License"; You may not use this file except in compliance with the License. 43 | * You may obtain a copy of the License at: 44 | * http://www.st.com/SLA0044 45 | * 46 | ****************************************************************************** 47 | */ 48 | 49 | #ifndef GUICONF_H 50 | #define GUICONF_H 51 | 52 | /********************************************************************* 53 | * 54 | * Multi layer/display support 55 | */ 56 | #define GUI_NUM_LAYERS 2 // Maximum number of available layers 57 | 58 | /********************************************************************* 59 | * 60 | * Multi tasking support 61 | */ 62 | 63 | #define GUI_OS (1) 64 | 65 | 66 | /********************************************************************* 67 | * 68 | * Configuration of touch support 69 | */ 70 | #ifndef GUI_SUPPORT_TOUCH 71 | #define GUI_SUPPORT_TOUCH (0) // Support touchscreen 72 | #endif 73 | 74 | /********************************************************************* 75 | * 76 | * Default font 77 | */ 78 | #define GUI_DEFAULT_FONT &GUI_Font6x8 79 | 80 | /********************************************************************* 81 | * 82 | * Configuration of available packages 83 | */ 84 | #define GUI_SUPPORT_MOUSE (1) /* Support a mouse */ 85 | #define GUI_WINSUPPORT (1) /* Use window manager */ 86 | #define GUI_SUPPORT_MEMDEV (1) /* Memory device package available */ 87 | #define GUI_SUPPORT_DEVICES (1) /* Enable use of device pointers */ 88 | 89 | #endif /* Avoid multiple inclusion */ 90 | -------------------------------------------------------------------------------- /inc/5.44/GUIDRV_DCache.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUIDRV_DCache.h 44 | Purpose : Interface definition for GUIDRV_DCache driver 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUIDRV_DCACHE_H 49 | #define GUIDRV_DCACHE_H 50 | 51 | #if defined(__cplusplus) 52 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 53 | #endif 54 | 55 | /********************************************************************* 56 | * 57 | * Display driver 58 | */ 59 | // 60 | // Address 61 | // 62 | extern const GUI_DEVICE_API GUIDRV_DCache_API; 63 | 64 | // 65 | // Macros to be used in configuration files 66 | // 67 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 68 | 69 | #define GUIDRV_DCACHE &GUIDRV_Win_API 70 | 71 | #else 72 | 73 | #define GUIDRV_DCACHE &GUIDRV_DCache_API 74 | 75 | #endif 76 | 77 | /********************************************************************* 78 | * 79 | * Public routines 80 | */ 81 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 82 | 83 | #define GUIDRV_DCache_AddDriver(pDevice, pDriver) 84 | #define GUIDRV_DCache_SetMode1bpp(pDevice) 85 | 86 | #else 87 | 88 | void GUIDRV_DCache_AddDriver (GUI_DEVICE * pDevice, GUI_DEVICE * pDriver); 89 | void GUIDRV_DCache_SetMode1bpp(GUI_DEVICE * pDevice); 90 | 91 | #endif 92 | 93 | #if defined(__cplusplus) 94 | } 95 | #endif 96 | 97 | #endif /* GUIDRV_DCACHE_H */ 98 | 99 | /*************************** End of file ****************************/ 100 | -------------------------------------------------------------------------------- /inc/5.44/GUIDRV_Dist.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUIDRV_Dist.h 44 | Purpose : Interface definition for GUIDRV_Dist driver 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUIDRV_DIST_H 49 | #define GUIDRV_DIST_H 50 | 51 | #if defined(__cplusplus) 52 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 53 | #endif 54 | 55 | /********************************************************************* 56 | * 57 | * Display driver 58 | */ 59 | // 60 | // Address 61 | // 62 | extern const GUI_DEVICE_API GUIDRV_Dist_API; 63 | 64 | // 65 | // Macros to be used in configuration files 66 | // 67 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 68 | 69 | #define GUIDRV_DIST &GUIDRV_Win_API 70 | 71 | #else 72 | 73 | #define GUIDRV_DIST &GUIDRV_Dist_API 74 | 75 | #endif 76 | 77 | /********************************************************************* 78 | * 79 | * Public routines 80 | */ 81 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 82 | 83 | #define GUIDRV_Dist_AddDriver(pDevice, pDriver, pRect) 84 | 85 | #else 86 | 87 | void GUIDRV_Dist_AddDriver(GUI_DEVICE * pDevice, GUI_DEVICE * pDriver, GUI_RECT * pRect); 88 | 89 | #endif 90 | 91 | #if defined(__cplusplus) 92 | } 93 | #endif 94 | 95 | #endif /* GUIDRV_DIST_H */ 96 | 97 | /*************************** End of file ****************************/ 98 | -------------------------------------------------------------------------------- /inc/5.44/GUIDRV_NoOpt_1_8.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUIDRV_NoOpt_1_8.h 44 | Purpose : Interface definition for non optimized drawing functions 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #include "GUI_Private.h" 49 | 50 | #ifndef GUIDRV_NOOPT_1_8_H 51 | #define GUIDRV_NOOPT_1_8_H 52 | 53 | void GUIDRV__NoOpt_XorPixel (GUI_DEVICE * pDevice, int x, int y); 54 | void GUIDRV__NoOpt_DrawHLine (GUI_DEVICE * pDevice, int x0, int y, int x1); 55 | void GUIDRV__NoOpt_DrawVLine (GUI_DEVICE * pDevice, int x, int y0, int y1); 56 | void GUIDRV__NoOpt_FillRect (GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1); 57 | void GUIDRV__NoOpt_DrawBitmap(GUI_DEVICE * pDevice, int x0, int y0, int xSize, int ySize, int BitsPerPixel, int BytesPerLine, const U8 * pData, int Diff, const LCD_PIXELINDEX * pTrans); 58 | 59 | #endif 60 | 61 | /*************************** End of file ****************************/ 62 | -------------------------------------------------------------------------------- /inc/5.44/GUIDRV_Template.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUIDRV_Template.h 44 | Purpose : Interface definition for GUIDRV_Template driver 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUIDRV_TEMPLATE_H 49 | #define GUIDRV_TEMPLATE_H 50 | 51 | /********************************************************************* 52 | * 53 | * Display drivers 54 | */ 55 | // 56 | // Addresses 57 | // 58 | extern const GUI_DEVICE_API GUIDRV_Win_API; 59 | 60 | extern const GUI_DEVICE_API GUIDRV_Template_API; 61 | 62 | // 63 | // Macros to be used in configuration files 64 | // 65 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) 66 | 67 | #define GUIDRV_TEMPLATE &GUIDRV_Win_API 68 | 69 | #else 70 | 71 | #define GUIDRV_TEMPLATE &GUIDRV_Template_API 72 | 73 | #endif 74 | 75 | #endif 76 | 77 | /*************************** End of file ****************************/ 78 | -------------------------------------------------------------------------------- /inc/5.44/GUIMTDRV_TangoC32.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUIMTDRV_TangoC32.h 44 | Purpose : Interface definition for GUIMTDRV_TangoC32 driver 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUIMTDRV_TANGOC32_H 49 | #define GUIMTDRV_TANGOC32_H 50 | 51 | #include "GUI_Type.h" 52 | 53 | #if defined(__cplusplus) 54 | //extern "C" { /* Make sure we have C-declarations in C++ programs */ 55 | #endif 56 | 57 | /********************************************************************* 58 | * 59 | * Types 60 | * 61 | ********************************************************************** 62 | */ 63 | typedef struct { 64 | int LayerIndex; 65 | // 66 | // Initialization 67 | // 68 | void (* pf_I2C_Init)(unsigned char SlaveAddr); 69 | // 70 | // Read- and write access 71 | // 72 | int (* pf_I2C_Read )(unsigned char * pData, int Start, int Stop); 73 | int (* pf_I2C_ReadM )(unsigned char * pData, int NumItems, int Start, int Stop); 74 | int (* pf_I2C_Write )(unsigned char Data, int Start, int Stop); 75 | int (* pf_I2C_WriteM)(unsigned char * pData, int NumItems, int Start, int Stop); 76 | // 77 | // 7-bit address to be used to address the I2C slave 78 | // 79 | U8 SlaveAddr; 80 | } GUIMTDRV_TANGOC32_CONFIG; 81 | 82 | /********************************************************************* 83 | * 84 | * Interface 85 | * 86 | ********************************************************************** 87 | */ 88 | int GUIMTDRV_TangoC32_Init(GUIMTDRV_TANGOC32_CONFIG * pConfig); 89 | int GUIMTDRV_TangoC32_Exec(void); 90 | 91 | #endif /* GUIMTDRV_TANGOC32_H */ 92 | 93 | /*************************** End of file ****************************/ 94 | -------------------------------------------------------------------------------- /inc/5.44/GUI_ARRAY.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUI_ARRAY.h 44 | Purpose : Array handling routines 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUI_ARRAY_H 49 | #define GUI_ARRAY_H 50 | 51 | #include "WM_Intern.h" 52 | 53 | #if GUI_WINSUPPORT 54 | 55 | /********************************************************************* 56 | * 57 | * Public types 58 | * 59 | ********************************************************************** 60 | */ 61 | typedef WM_HMEM GUI_ARRAY; 62 | 63 | /********************************************************************* 64 | * 65 | * Public functions 66 | * 67 | ********************************************************************** 68 | */ 69 | GUI_ARRAY GUI_ARRAY_Create (void); 70 | int GUI_ARRAY_AddItem (GUI_ARRAY hArray, const void * pNew, int Len); 71 | void GUI_ARRAY_Delete (GUI_ARRAY hArray); 72 | WM_HMEM GUI_ARRAY_GethItem (GUI_ARRAY hArray, unsigned int Index); 73 | unsigned GUI_ARRAY_GetNumItems (GUI_ARRAY hArray); 74 | void * GUI_ARRAY_GetpItemLocked (GUI_ARRAY hArray, unsigned int Index); 75 | int GUI_ARRAY_SethItem (GUI_ARRAY hArray, unsigned int Index, WM_HMEM hItem); 76 | WM_HMEM GUI_ARRAY_SetItem (GUI_ARRAY hArray, unsigned int Index, const void * pData, int Len); 77 | void GUI_ARRAY_DeleteItem (GUI_ARRAY hArray, unsigned int Index); 78 | char GUI_ARRAY_InsertBlankItem (GUI_ARRAY hArray, unsigned int Index); 79 | WM_HMEM GUI_ARRAY_InsertItem (GUI_ARRAY hArray, unsigned int Index, int Len); 80 | void * GUI_ARRAY_ResizeItemLocked(GUI_ARRAY hArray, unsigned int Index, int Len); 81 | 82 | #endif /* GUI_WINSUPPORT */ 83 | 84 | #endif /* GUI_ARRAY_H */ 85 | 86 | /*************************** End of file ****************************/ 87 | -------------------------------------------------------------------------------- /inc/5.44/GUI_ARRAY_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUI_ARRAY_Private.h 44 | Purpose : Private array handling routines, should be used only 45 | from within GUI_ARRAY... routines! 46 | ---------------------------END-OF-HEADER------------------------------ 47 | */ 48 | 49 | #ifndef GUI_ARRAY_PRIVATE_H 50 | #define GUI_ARRAY_PRIVATE_H 51 | 52 | #include "GUI_ARRAY.h" 53 | 54 | #if GUI_WINSUPPORT 55 | 56 | /********************************************************************* 57 | * 58 | * Private types 59 | * 60 | ********************************************************************** 61 | */ 62 | typedef struct { 63 | U16 NumItems; 64 | WM_HMEM haHandle; /* Handle to buffer holding handles */ 65 | } GUI_ARRAY_OBJ; 66 | 67 | /********************************************************************* 68 | * 69 | * Private functions 70 | * 71 | ********************************************************************** 72 | */ 73 | WM_HMEM GUI_ARRAY__GethItem (const GUI_ARRAY_OBJ * pThis, unsigned int Index); 74 | void * GUI_ARRAY__GetpItem (const GUI_ARRAY_OBJ * pThis, unsigned int Index); 75 | void * GUI_ARRAY__GetpItemLocked(const GUI_ARRAY_OBJ * pThis, unsigned int Index); 76 | int GUI_ARRAY__SethItem ( GUI_ARRAY_OBJ * pThis, unsigned int Index, WM_HMEM hItem); 77 | 78 | #endif /* GUI_WINSUPPORT */ 79 | 80 | #endif /* GUI_ARRAY_PRIVATE_H */ 81 | 82 | /*************************** End of file ****************************/ 83 | -------------------------------------------------------------------------------- /inc/5.44/GUI_FontIntern.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUI_FontIntern.h 44 | Purpose : Internal declarations used in font files 45 | ---------------------------END-OF-HEADER------------------------------ 46 | 47 | Attention : Do not modify this file ! If you do, you will not 48 | be able do update to a later GUI version ! 49 | 50 | */ 51 | 52 | 53 | #ifndef GUI_FONTINTERN_H /* Guard against multiple inclusion */ 54 | #define GUI_FONTINTERN_H 55 | 56 | #include "GUI.h" 57 | 58 | #if defined(__cplusplus) 59 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 60 | #endif 61 | 62 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font8ASCII_Prop; 63 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontF8x13_ASCII_Prop1; 64 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontF8x15B_ASCII_Prop1; 65 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font10S_ASCII_FontProp1; 66 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font10ASCIIProp1; 67 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13ASCII_Prop1; 68 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13B_ASCII_Prop1; 69 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13H_ASCII_Prop1; 70 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font13HB_ASCII_Prop1; 71 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font16_1_FontProp1; 72 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font16ASCIIProp1; 73 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font16B_ASCII_Prop1; 74 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font20_ASCII_Prop1; 75 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font20B_ASCII_Prop1; 76 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font24_ASCII_Prop1; 77 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font24B_ASCII_Prop1; 78 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font32_ASCII_Prop1; 79 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font32B_ASCII_Prop1; 80 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontComic18B_ASCII_Prop1; 81 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontComic24B_ASCII_Prop1; 82 | 83 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font6x8ASCII_Prop0; 84 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font8x16ASCII_Prop0; 85 | extern GUI_CONST_STORAGE GUI_FONT_PROP GUI_Font8x8ASCII_Prop0; 86 | 87 | extern GUI_CONST_STORAGE GUI_CHARINFO GUI_Font16_HK_CharInfo[169]; 88 | 89 | #if defined(__cplusplus) 90 | } 91 | #endif 92 | 93 | 94 | #endif /* Guard against multiple inclusion */ 95 | 96 | /*************************** End of file ****************************/ 97 | -------------------------------------------------------------------------------- /inc/5.44/GUI_GCache_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUI_GCache_Private.h 44 | Purpose : Private header 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUI_GCACHE_PRIVATE_H 49 | #define GUI_GCACHE_PRIVATE_H 50 | 51 | #include "GUI_Private.h" 52 | 53 | /********************************************************************* 54 | * 55 | * Defines 56 | * 57 | ********************************************************************** 58 | */ 59 | #define DRIVER_CONTEXT DRIVER_CONTEXT_GCACHE 60 | 61 | /********************************************************************* 62 | * 63 | * Types 64 | * 65 | ********************************************************************** 66 | */ 67 | /********************************************************************* 68 | * 69 | * DRIVER_CONTEXT 70 | */ 71 | typedef struct { 72 | int x0, y0, x1, y1, IsDirty; 73 | int xSize, ySize; 74 | int CacheLocked; 75 | int MemSize; 76 | int BitsPerPixel; 77 | int BytesPerLine; 78 | // 79 | // Line buffer for reading operation 80 | // 81 | LCD_PIXELINDEX * pLineBuffer; 82 | // 83 | // Palette for drawing 'cache bitmap' 84 | // 85 | LCD_PIXELINDEX * pPalette; 86 | // 87 | // Cache management 88 | // 89 | void (* pfReadRect) (GUI_DEVICE * pDevice, int _x0, int _y0, int _x1, int _y1, LCD_PIXELINDEX * pBuffer); 90 | void (* pfSendCacheRect)(GUI_DEVICE * pDevice); 91 | U32 * pVMEM; 92 | // 93 | // Drawing functions 94 | // 95 | void (* pfDrawBitmap )(GUI_DEVICE * pDevice, int _x0, int _y0, int xsize, int ysize, int _BitsPerPixel, int _BytesPerLine, const U8 * pData, int Diff, const LCD_PIXELINDEX * pTrans); 96 | void (* pfDrawHLine )(GUI_DEVICE * pDevice, int _x0, int _y0, int _x1); 97 | void (* pfDrawVLine )(GUI_DEVICE * pDevice, int _x , int _y0, int _y1); 98 | void (* pfFillRect )(GUI_DEVICE * pDevice, int _x0, int _y0, int _x1, int _y1); 99 | LCD_PIXELINDEX (* pfGetPixelIndex)(GUI_DEVICE * pDevice, int _x, int _y); 100 | void (* pfSetPixelIndex)(GUI_DEVICE * pDevice, int _x, int _y, LCD_PIXELINDEX ColorIndex); 101 | void (* pfXorPixel )(GUI_DEVICE * pDevice, int _x, int _y); 102 | // 103 | // GetData function 104 | // 105 | void *(* pfGetDevData )(GUI_DEVICE * pDevice, int Index); 106 | } DRIVER_CONTEXT; 107 | 108 | /********************************************************************* 109 | * 110 | * Interface 111 | * 112 | ********************************************************************** 113 | */ 114 | GUI_DEVICE * GUI_GCACHE__CreateEx(int LayerIndex, const LCD_API_COLOR_CONV * pColorConvAPI, int BitsPerPixel); 115 | 116 | #endif 117 | 118 | /*************************** End of file ****************************/ 119 | -------------------------------------------------------------------------------- /inc/5.44/GUI_HOOK.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | 43 | ---------------------------------------------------------------------- 44 | File : GUI_HOOK.h 45 | Purpose : Hook handling routines 46 | --------------------END-OF-HEADER------------------------------------- 47 | */ 48 | 49 | #ifndef GUI_HOOK_H 50 | #define GUI_HOOK_H 51 | 52 | #include "WM_Intern.h" 53 | 54 | #if GUI_WINSUPPORT 55 | 56 | #if defined(__cplusplus) 57 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 58 | #endif 59 | 60 | /********************************************************************* 61 | * 62 | * Types 63 | * 64 | ********************************************************************** 65 | */ 66 | 67 | typedef int GUI_HOOK_FUNC(WM_MESSAGE* pMsg); 68 | 69 | typedef struct GUI_HOOK { 70 | struct GUI_HOOK* pNext; 71 | GUI_HOOK_FUNC* pHookFunc; 72 | } GUI_HOOK; 73 | 74 | /********************************************************************* 75 | * 76 | * Functions 77 | * 78 | ********************************************************************** 79 | */ 80 | 81 | void GUI_HOOK_Add (GUI_HOOK** ppFirstHook, GUI_HOOK* pNewHook, GUI_HOOK_FUNC* pHookFunc); 82 | void GUI_HOOK_Remove(GUI_HOOK** ppFirstHook, GUI_HOOK* pHook); 83 | 84 | #if defined(__cplusplus) 85 | } 86 | #endif 87 | 88 | #endif /* GUI_WINSUPPORT */ 89 | #endif /* GUI_HOOK_H */ 90 | 91 | /*************************** End of file ****************************/ 92 | -------------------------------------------------------------------------------- /inc/5.44/GUI_SPRITE_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUI_SPRITE_Private.h 44 | Purpose : Private header file for sprites 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUI_SPRITE_PRIVATE_H 49 | #define GUI_SPRITE_PRIVATE_H 50 | 51 | /********************************************************************* 52 | * 53 | * Defines 54 | * 55 | ********************************************************************** 56 | */ 57 | #define SPRITE_LOCK_H(h) (GUI_SPRITE_OBJ *)GUI_LOCK_H(h) 58 | 59 | /********************************************************************* 60 | * 61 | * Types 62 | * 63 | ********************************************************************** 64 | */ 65 | // 66 | // The sprite object 67 | // 68 | typedef struct { 69 | GUI_DEVICE * pDevice; 70 | GUI_RECT Rect; 71 | GUI_HMEM hColors; 72 | U16 Flags; 73 | const GUI_BITMAP * pBM; 74 | void (* pCB)(GUI_HSPRITE hSprite, int Cmd); // Callback routine for animated sprites 75 | GUI_HMEM hContext; 76 | } GUI_SPRITE_OBJ; 77 | 78 | 79 | #endif // GUI_SPRITE_PRIVATE_H 80 | 81 | /*************************** End of file ****************************/ 82 | -------------------------------------------------------------------------------- /inc/5.44/GUI_SetOrientation.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUI_SetOrientation.h 44 | Purpose : Private include file for GUI_SetOrientation_xxx 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUI_SETORIENTATION_H 49 | #define GUI_SETORIENTATION_H 50 | 51 | #include "GUI_Private.h" 52 | 53 | /********************************************************************* 54 | * 55 | * Defines 56 | * 57 | ********************************************************************** 58 | */ 59 | // 60 | // Use unique context identified 61 | // 62 | #define DRIVER_CONTEXT DRIVER_CONTEXT_ORIENTATION 63 | 64 | /********************************************************************* 65 | * 66 | * Types 67 | * 68 | ********************************************************************** 69 | */ 70 | /********************************************************************* 71 | * 72 | * DRIVER_CONTEXT 73 | */ 74 | typedef struct DRIVER_CONTEXT DRIVER_CONTEXT; 75 | 76 | struct DRIVER_CONTEXT { 77 | void (* pfLog2Phys)(DRIVER_CONTEXT * pContext, int x, int y, int * px_phys, int * py_phys); 78 | U8 * pData; 79 | int BytesPerPixel; 80 | int BytesPerLine; 81 | int Orientation; 82 | int xSize, ySize; 83 | int vxSize, vySize; 84 | int PixelOffset; 85 | const GUI_ORIENTATION_API * pDrawingAPI; 86 | }; 87 | 88 | /********************************************************************* 89 | * 90 | * Private interface 91 | * 92 | ********************************************************************** 93 | */ 94 | void GUI__Sort(int * p0, int * p1); 95 | 96 | #endif /* GUI_SETORIENTATION_H */ 97 | 98 | /*************************** End of file ****************************/ 99 | -------------------------------------------------------------------------------- /inc/5.44/GUI_Type.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loogg/STemWin/9c5621fc16faaf5d98b70cfd20ad1eb309449ed5/inc/5.44/GUI_Type.h -------------------------------------------------------------------------------- /inc/5.44/GUI_Version.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : GUI_Version.h 44 | Purpose : Include file defining current GUI version 45 | ---------------------------END-OF-HEADER------------------------------ 46 | */ 47 | 48 | #ifndef GUI_VERSION_H 49 | #define GUI_VERSION_H 50 | 51 | #define GUI_VERSION 54401 52 | 53 | #endif /* Avoid multiple inclusion */ 54 | 55 | /*************************** End of file ****************************/ 56 | -------------------------------------------------------------------------------- /inc/5.44/Global.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : Global.h 44 | Purpose : Global types 45 | In case your application already has a Global.h, you should 46 | merge the files. In order to use Segger code, the types 47 | U8, U16, U32, I8, I16, I32 need to be defined in Global.h; 48 | additional definitions do not hurt. 49 | Revision: $Rev: 6050 $ 50 | ---------------------------END-OF-HEADER------------------------------ 51 | */ 52 | 53 | #ifndef GLOBAL_H // Guard against multiple inclusion 54 | #define GLOBAL_H 55 | 56 | #define U8 unsigned char 57 | #define I8 signed char 58 | #define U16 unsigned short 59 | #define I16 signed short 60 | #ifdef __x86_64__ 61 | #define U32 unsigned 62 | #define I32 int 63 | #else 64 | #define U32 unsigned long 65 | #define I32 signed long 66 | #endif 67 | 68 | #ifdef _WIN32 69 | // 70 | // Microsoft VC6 compiler related 71 | // 72 | #ifdef __MINGW32__ 73 | #define U64 unsigned long long 74 | #define I64 long long 75 | #else 76 | #define U64 unsigned __int64 77 | #define U128 unsigned __int128 78 | #define I64 __int64 79 | #define I128 __int128 80 | #if _MSC_VER <= 1200 81 | #define U64_C(x) x##UI64 82 | #else 83 | #define U64_C(x) x##ULL 84 | #endif 85 | #endif 86 | #else 87 | // 88 | // C99 compliant compiler 89 | // 90 | #define U64 unsigned long long 91 | #define I64 signed long long 92 | #define U64_C(x) x##ULL 93 | #endif 94 | 95 | #endif // Avoid multiple inclusion 96 | 97 | /*************************** End of file ****************************/ 98 | -------------------------------------------------------------------------------- /inc/5.44/KNOB_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : KNOB.h 44 | Purpose : KNOB include 45 | --------------------END-OF-HEADER------------------------------------- 46 | */ 47 | 48 | #ifndef KNOB_PRIVATE_H 49 | #define KNOB_PRIVATE_H 50 | 51 | #include "KNOB.h" 52 | #include "GUI_Private.h" 53 | 54 | #if (GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT) 55 | 56 | /********************************************************************* 57 | * 58 | * Object definition 59 | * 60 | ********************************************************************** 61 | */ 62 | typedef struct { 63 | I32 Snap; // Position where the knob snaps 64 | I32 Period; // Time it takes to stop the knob in ms 65 | GUI_COLOR BkColor; // The Bk color 66 | I32 Offset; // the offset 67 | I32 MinRange; 68 | I32 MaxRange; 69 | I32 TickSize; // Minimum movement range in 1/10 of degree 70 | I32 KeyValue; // Range of movement for one key push 71 | } KNOB_PROPS; 72 | 73 | typedef struct { 74 | WIDGET Widget; 75 | KNOB_PROPS Props; 76 | WM_HMEM hContext; 77 | I32 Angle; 78 | I32 Value; 79 | int xSize; 80 | int ySize; 81 | GUI_MEMDEV_Handle hMemSrc; 82 | GUI_MEMDEV_Handle hMemDst; 83 | GUI_MEMDEV_Handle hMemBk; 84 | } KNOB_OBJ; 85 | 86 | /********************************************************************* 87 | * 88 | * Macros for internal use 89 | * 90 | ********************************************************************** 91 | */ 92 | #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 93 | #define KNOB_INIT_ID(p) p->Widget.DebugId = KNOB_ID 94 | #else 95 | #define KNOB_INIT_ID(p) 96 | #endif 97 | 98 | #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 99 | KNOB_OBJ * KNOB_LockH(KNOB_Handle h); 100 | #define KNOB_LOCK_H(h) KNOB_LockH(h) 101 | #else 102 | #define KNOB_LOCK_H(h) (KNOB_OBJ *)GUI_LOCK_H(h) 103 | #endif 104 | 105 | /********************************************************************* 106 | * 107 | * Module internal data 108 | * 109 | ********************************************************************** 110 | */ 111 | extern KNOB_PROPS KNOB__DefaultProps; 112 | 113 | #endif // (GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT) 114 | #endif // KNOB_PRIVATE_H 115 | -------------------------------------------------------------------------------- /inc/5.44/LCDConf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loogg/STemWin/9c5621fc16faaf5d98b70cfd20ad1eb309449ed5/inc/5.44/LCDConf.h -------------------------------------------------------------------------------- /inc/5.44/LCDConf_FlexColor_Template.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 : LCDConf_FlexColor_Template.h 30 | Purpose : Display driver configuration file 31 | ---------------------------END-OF-HEADER------------------------------ 32 | */ 33 | 34 | /** 35 | ****************************************************************************** 36 | * @attention 37 | * 38 | *

© Copyright (c) 2018 STMicroelectronics. 39 | * All rights reserved.

40 | * 41 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 42 | * the "License"; You may not use this file except in compliance with the License. 43 | * You may obtain a copy of the License at: 44 | * http://www.st.com/SLA0044 45 | * 46 | ****************************************************************************** 47 | */ 48 | 49 | #ifndef LCDCONF_H 50 | #define LCDCONF_H 51 | 52 | #endif /* LCDCONF_H */ 53 | 54 | /*************************** End of file ****************************/ 55 | -------------------------------------------------------------------------------- /inc/5.44/LCD_ConfDefaults.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : LCD_ConfDefaults.h 44 | Purpose : Valid LCD configuration and defaults 45 | ---------------------------------------------------------------------- 46 | */ 47 | 48 | #ifndef LCD_CONFIG_DEFAULTS_H 49 | #define LCD_CONFIG_DEFAULTS_H 50 | 51 | #include "LCDConf.h" /* Configuration header file */ 52 | 53 | /********************************************************** 54 | * 55 | * Configuration defaults 56 | */ 57 | #ifndef LCD_MIRROR_X 58 | #define LCD_MIRROR_X 0 59 | #endif 60 | #ifndef LCD_MIRROR_Y 61 | #define LCD_MIRROR_Y 0 62 | #endif 63 | #ifndef LCD_SWAP_XY 64 | #define LCD_SWAP_XY 0 65 | #endif 66 | #ifndef LCD_FIRSTCOM0 67 | #define LCD_FIRSTCOM0 0 68 | #endif 69 | #ifndef LCD_FIRSTSEG0 70 | #define LCD_FIRSTSEG0 0 71 | #endif 72 | #ifndef LCD_SWAP_RB 73 | #define LCD_SWAP_RB 0 74 | #endif 75 | #ifndef LCD_DISPLAY_INDEX 76 | #define LCD_DISPLAY_INDEX 0 77 | #endif 78 | #ifndef LCD_ENDIAN_BIG 79 | #define LCD_ENDIAN_BIG 0 80 | #endif 81 | #ifndef LCD_ALLOW_NON_OPTIMIZED_MODE 82 | #define LCD_ALLOW_NON_OPTIMIZED_MODE 1 83 | #endif 84 | 85 | #endif /* LCD_CONFIG_DEFAULTS_H */ 86 | 87 | /*************************** End of file ****************************/ 88 | -------------------------------------------------------------------------------- /inc/5.44/LCD_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : LCD_Private.h 44 | Purpose : To be used only by the display drivers 45 | ---------------------------------------------------------------------- 46 | */ 47 | 48 | #ifndef LCD_Private_H 49 | #define LCD_Private_H 50 | 51 | #include "LCDConf.h" 52 | #include "LCD_Protected.h" 53 | #include "GUI.h" 54 | 55 | /********************************************************************* 56 | * 57 | * API functions 58 | */ 59 | extern const struct tLCDDEV_APIList_struct * /* const */ LCD_aAPI[GUI_NUM_LAYERS]; 60 | 61 | /********************************************************************* 62 | * 63 | * Support for Segment/COMLUTs 64 | */ 65 | #define LCD_TYPE_SEGTRANS U16 66 | #define LCD_TYPE_COMTRANS U16 67 | 68 | #ifdef LCD_LUT_COM 69 | extern LCD_TYPE_COMTRANS LCD__aLine2Com0[LCD_YSIZE]; 70 | #endif 71 | 72 | #ifdef LCD_LUT_SEG 73 | extern LCD_TYPE_COMTRANS LCD__aCol2Seg0[LCD_XSIZE]; 74 | #endif 75 | 76 | 77 | /********************************************************************* 78 | * 79 | * Support for multiple display controllers 80 | */ 81 | #define DECLARE_PROTOTYPES(DISTX) \ 82 | void LCD_##DISTX##_SetPixelIndex(int x, int y, int PixelIndex); \ 83 | unsigned LCD_##DISTX##_GetPixelIndex(int x, int y); \ 84 | void LCD_##DISTX##_XorPixel (int x, int y); \ 85 | void LCD_##DISTX##_DrawHLine (int x0, int y, int x1); \ 86 | void LCD_##DISTX##_DrawVLine (int x, int y0, int y1); \ 87 | void LCD_##DISTX##_FillRect (int x0, int y0, int x1, int y1); \ 88 | void LCD_##DISTX##_DrawBitmap (int x0, int y0, int xsize, int ysize, int BitsPerPixel, int BytesPerLine, const U8 * pData, int Diff, const LCD_PIXELINDEX * pTrans); \ 89 | void LCD_##DISTX##_SetOrg (int x, int y); \ 90 | void LCD_##DISTX##_On (void); \ 91 | void LCD_##DISTX##_Off (void); \ 92 | int LCD_##DISTX##_Init (void); \ 93 | void LCD_##DISTX##_SetLUTEntry (U8 Pos, LCD_COLOR Color); \ 94 | void * LCD_##DISTX##_GetDevFunc (int Index); \ 95 | void LCD_##DISTX##_ReInit (void) 96 | 97 | DECLARE_PROTOTYPES(DIST0); 98 | DECLARE_PROTOTYPES(DIST1); 99 | DECLARE_PROTOTYPES(DIST2); 100 | DECLARE_PROTOTYPES(DIST3); 101 | 102 | #endif /* Avoid multiple inclusion */ 103 | 104 | /*************************** End of file ****************************/ 105 | -------------------------------------------------------------------------------- /inc/5.44/MESSAGEBOX.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : MESSAGEBOX.h 44 | Purpose : Message box interface 45 | --------------------END-OF-HEADER------------------------------------- 46 | */ 47 | 48 | #ifndef MESSAGEBOX_H 49 | #define MESSAGEBOX_H 50 | 51 | #include "WM.h" 52 | 53 | #if GUI_WINSUPPORT 54 | 55 | #if defined(__cplusplus) 56 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 57 | #endif 58 | 59 | WM_HWIN MESSAGEBOX_Create(const char * sMessage, const char * sCaption, int Flags); 60 | 61 | /********************************************************************* 62 | * 63 | * The callback ... 64 | * 65 | * Do not call it directly ! It is only to be used from within an 66 | * overwritten callback. 67 | */ 68 | void MESSAGEBOX_Callback(WM_MESSAGE * pMsg); 69 | 70 | #if defined(__cplusplus) 71 | } 72 | #endif 73 | 74 | #endif /* GUI_WINSUPPORT */ 75 | 76 | #endif /* MESSAGEBOX */ 77 | 78 | /*************************** End of file ****************************/ 79 | -------------------------------------------------------------------------------- /inc/5.44/TEXT_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : TEXT.h 44 | Purpose : TEXT include 45 | --------------------END-OF-HEADER------------------------------------- 46 | */ 47 | 48 | #ifndef TEXT_PRIVATE_H 49 | #define TEXT_PRIVATE_H 50 | 51 | #include "TEXT.h" 52 | #include "GUI_Private.h" 53 | 54 | #if GUI_WINSUPPORT 55 | 56 | /********************************************************************* 57 | * 58 | * Object definition 59 | * 60 | ********************************************************************** 61 | */ 62 | typedef struct { 63 | const GUI_FONT * pFont; 64 | GUI_COLOR TextColor; 65 | GUI_COLOR BkColor; 66 | GUI_WRAPMODE WrapMode; 67 | } TEXT_PROPS; 68 | 69 | typedef struct { 70 | WIDGET Widget; 71 | TEXT_PROPS Props; 72 | WM_HMEM hpText; 73 | I16 Align; 74 | } TEXT_OBJ; 75 | 76 | /********************************************************************* 77 | * 78 | * Macros for internal use 79 | * 80 | ********************************************************************** 81 | */ 82 | #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 83 | #define TEXT_INIT_ID(p) p->Widget.DebugId = TEXT_ID 84 | #else 85 | #define TEXT_INIT_ID(p) 86 | #endif 87 | 88 | #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL 89 | TEXT_OBJ * TEXT_LockH(TEXT_Handle h); 90 | #define TEXT_LOCK_H(h) TEXT_LockH(h) 91 | #else 92 | #define TEXT_LOCK_H(h) (TEXT_OBJ *)GUI_LOCK_H(h) 93 | #endif 94 | 95 | /********************************************************************* 96 | * 97 | * Module internal data 98 | * 99 | ********************************************************************** 100 | */ 101 | extern TEXT_PROPS TEXT__DefaultProps; 102 | 103 | #endif /* if GUI_WINSUPPORT */ 104 | #endif /* TEXT_PRIVATE_H */ 105 | 106 | /*************************** End of file ****************************/ 107 | -------------------------------------------------------------------------------- /inc/5.44/WINDOW_Private.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : WINDOW_Private.h 44 | Purpose : WINDOW private header file 45 | --------------------END-OF-HEADER------------------------------------- 46 | */ 47 | 48 | #ifndef WINDOW_PRIVATE_H 49 | #define WINDOW_PRIVATE_H 50 | 51 | #include "WM.h" 52 | 53 | #if GUI_WINSUPPORT 54 | 55 | /********************************************************************* 56 | * 57 | * Object definition 58 | * 59 | ********************************************************************** 60 | */ 61 | 62 | typedef struct { 63 | WIDGET Widget; 64 | WM_CALLBACK * cb; 65 | WM_HWIN hFocusedChild; 66 | WM_DIALOG_STATUS * pDialogStatus; 67 | GUI_COLOR BkColor; 68 | } WINDOW_OBJ; 69 | 70 | /********************************************************************* 71 | * 72 | * Externals 73 | * 74 | ********************************************************************** 75 | */ 76 | 77 | extern GUI_COLOR WINDOW__DefaultBkColor; 78 | 79 | #endif /* GUI_WINSUPPORT */ 80 | #endif /* WINDOW_PRIVATE_H */ 81 | 82 | /*************************** End of file ****************************/ 83 | -------------------------------------------------------------------------------- /inc/5.44/WM_GUI.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 | 30 | ****************************************************************************** 31 | * @attention 32 | * 33 | *

© Copyright (c) 2018 STMicroelectronics. 34 | * All rights reserved.

35 | * 36 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 37 | * the "License"; You may not use this file except in compliance with the License. 38 | * You may obtain a copy of the License at: 39 | * http://www.st.com/SLA0044 40 | * 41 | ****************************************************************************** 42 | ---------------------------------------------------------------------- 43 | File : WM_GUI.h 44 | Purpose : Windows manager include for low level GUI routines 45 | ---------------------------------------------------------------------- 46 | */ 47 | 48 | #ifndef WM_GUI_H /* Make sure we only include it once */ 49 | #define WM_GUI_H 50 | 51 | #if defined(__cplusplus) 52 | extern "C" { /* Make sure we have C-declarations in C++ programs */ 53 | #endif 54 | 55 | int WM__InitIVRSearch(const GUI_RECT* pMaxRect); 56 | int WM__GetNextIVR (void); 57 | int WM__GetOrgX_AA(void); 58 | int WM__GetOrgY_AA(void); 59 | 60 | #define WM_ITERATE_START(pRect) \ 61 | { \ 62 | if (WM__InitIVRSearch(pRect)) \ 63 | do { 64 | 65 | #define WM_ITERATE_END() \ 66 | } while (WM__GetNextIVR()); \ 67 | } 68 | 69 | #define WM_ADDORGX(x) (x += GUI_pContext->xOff) 70 | #define WM_ADDORGY(y) (y += GUI_pContext->yOff) 71 | #define WM_ADDORG(x0,y0) WM_ADDORGX(x0); WM_ADDORGY(y0) 72 | #define WM_ADDORGX_AA(x) (x += WM__GetOrgX_AA()) 73 | #define WM_ADDORGY_AA(y) (y += WM__GetOrgY_AA()) 74 | #define WM_ADDORG_AA(x0,y0) WM_ADDORGX_AA(x0); WM_ADDORGY_AA(y0) 75 | #define WM_SUBORGX(x) (x -= GUI_pContext->xOff) 76 | #define WM_SUBORGY(y) (y -= GUI_pContext->yOff) 77 | #define WM_SUBORG(x0,y0) WM_SUBORGX(x0); WM_SUBORGY(y0) 78 | 79 | #if defined(__cplusplus) 80 | } 81 | #endif 82 | 83 | 84 | #endif /* Avoid multiple inclusion */ 85 | 86 | /*************************** End of file ****************************/ 87 | -------------------------------------------------------------------------------- /src/GUIConf.c: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * SEGGER Microcontroller GmbH & Co. KG * 3 | * Solutions for real time microcontroller applications * 4 | ********************************************************************** 5 | * * 6 | * (c) 1996 - 2017 SEGGER Microcontroller GmbH & Co. KG * 7 | * * 8 | * Internet: www.segger.com Support: support@segger.com * 9 | * * 10 | ********************************************************************** 11 | 12 | ** emWin V5.44 - 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 : GUIConf.c 30 | Purpose : Display controller initialization 31 | ---------------------------END-OF-HEADER------------------------------ 32 | */ 33 | 34 | /** 35 | ****************************************************************************** 36 | * @attention 37 | * 38 | *

© Copyright (c) 2018 STMicroelectronics. 39 | * All rights reserved.

40 | * 41 | * This software component is licensed by ST under Ultimate Liberty license SLA0044, 42 | * the "License"; You may not use this file except in compliance with the License. 43 | * You may obtain a copy of the License at: 44 | * http://www.st.com/SLA0044 45 | * 46 | ****************************************************************************** 47 | */ 48 | 49 | #include "GUI.h" 50 | 51 | /********************************************************************* 52 | * 53 | * Defines 54 | * 55 | ********************************************************************** 56 | */ 57 | // 58 | // Define the available number of bytes available for the GUI 59 | // 60 | #define GUI_NUMBYTES (PKG_STEMWIN_MEM_SIZE * 1024) 61 | 62 | /* Define the average block size */ 63 | #define GUI_BLOCKSIZE 0x80 64 | 65 | /********************************************************************* 66 | * 67 | * Public code 68 | * 69 | ********************************************************************** 70 | */ 71 | /********************************************************************* 72 | * 73 | * GUI_X_Config 74 | * 75 | * Purpose: 76 | * Called during the initialization process in order to set up the 77 | * available memory for the GUI. 78 | */ 79 | void GUI_X_Config(void) 80 | { 81 | // 82 | // 32 bit aligned memory area 83 | // 84 | static U32 aMemory[GUI_NUMBYTES / 4]; 85 | // 86 | // Assign memory to emWin 87 | // 88 | GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES); 89 | GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE); 90 | // 91 | // Set default font 92 | // 93 | GUI_SetDefaultFont(GUI_FONT_6X8); 94 | } 95 | 96 | /*************************** End of file ****************************/ 97 | -------------------------------------------------------------------------------- /src/SConscript: -------------------------------------------------------------------------------- 1 | from building import * 2 | 3 | cwd = GetCurrentDir() 4 | src = Glob('*.c') 5 | CPPPATH = [] 6 | 7 | LIBPATH = [cwd] 8 | LIBS = [] 9 | if GetDepend(['ARCH_ARM_CORTEX_M4']): 10 | LIBS += ['STemWin_CM4_OS_wc16_ot'] 11 | CPPPATH += [cwd + '/../inc/5.44'] 12 | 13 | if GetDepend(['ARCH_ARM_CORTEX_M3']): 14 | LIBS += ['STemWin532_CM3_OS_Keil'] 15 | CPPPATH += [cwd + '/../inc/5.32'] 16 | 17 | group = DefineGroup('STemWin', src, depend = ['PKG_USING_STEMWIN'], CPPPATH = CPPPATH, LIBS = LIBS, LIBPATH=LIBPATH) 18 | 19 | Return('group') 20 | -------------------------------------------------------------------------------- /src/STemWin532_CM3_OS_Keil.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loogg/STemWin/9c5621fc16faaf5d98b70cfd20ad1eb309449ed5/src/STemWin532_CM3_OS_Keil.lib -------------------------------------------------------------------------------- /src/STemWin_CM4_OS_wc16_ot.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loogg/STemWin/9c5621fc16faaf5d98b70cfd20ad1eb309449ed5/src/STemWin_CM4_OS_wc16_ot.lib --------------------------------------------------------------------------------