没有合适的资源?快使用搜索试试~ 我知道了~
首页Segger emWin5.22:嵌入式图形界面软件库详解
Segger emWin5.22:嵌入式图形界面软件库详解
5星 · 超过95%的资源 需积分: 9 44 下载量 97 浏览量
更新于2024-07-21
收藏 11.23MB PDF 举报
"STemWin5.22是Segger公司开发的一款专为嵌入式系统设计的图形软件库,其版本号为V5.22。emWin库简化了在嵌入式平台上构建图形用户界面(GUI)的过程,通过提供一系列预定义的函数接口,用户可以快速创建和管理复杂的图形元素,而无需关心底层的图形绘制算法。文档UM03001是emWin V5.22的用户和参考指南,发布日期为2013年7月4日。"
emWin图形库的核心功能包括:
1. **图形界面元素**:emWin提供了丰富的图形元素,如按钮、文本框、滚动条、菜单、图像视图等,这些元素可以通过简单的API调用来创建和操作,极大地简化了GUI的开发。
2. **颜色和字体支持**:用户可以设定不同颜色和字体风格,以满足各种视觉效果的需求。
3. **触摸屏支持**:emWin支持触摸屏输入,允许用户与图形界面进行交互。
4. **图形优化**:库内部集成了高效的图形算法,确保在有限的嵌入式资源下也能流畅运行。
5. **内存管理**:emWin能有效地管理内存,适应不同的内存配置,确保程序的稳定性和性能。
6. **多语言支持**:支持多种语言的字符串显示,方便国际化的应用开发。
7. **事件处理**:emWin提供了一套事件驱动的模型,能够处理用户的点击和其他交互事件。
8. **动画支持**:可以实现图形元素的平滑移动、旋转等动画效果。
9. **兼容性**:emWin兼容多种硬件平台和LCD控制器,包括ST公司的产品,因此被称为STemWin。
10. **文档和工具**:Segger提供了详细的用户手册和参考指南,帮助开发者理解和使用emWin,同时还有调试工具辅助开发过程。
11. **更新和维护**:Segger会定期更新emWin以提高功能和性能,用户需要确保使用的是最新版的手册以获取最新的信息。
需要注意的是,Segger明确指出文档中的规格可能有误,并且保留随时更改的权利,不提供任何明示或暗示的保修,包括适销性和特定用途适用性的保修。用户在使用emWin时,应确保手动更新到最新的版本,以获取最佳的性能和最新的特性。
STemWin5.22是一个强大的图形库,旨在使嵌入式设备的GUI开发变得更加便捷高效,尤其适用于需要图形用户界面的物联网(IoT)设备、消费电子和工业自动化等领域。
16
UM03001 User & Reference Guide for emWin V5.22 © 1997 - 2013 SEGGER Microcontroller GmbH & Co. KG
3.5.2.1 Modifying WinMain .................................................................................. 62
3.5.2.2 Example application................................................................................. 63
3.5.3 Integration into the embOS Simulation....................................................... 64
3.5.3.1 WinMain................................................................................................. 64
3.5.3.2 Target program (main) ............................................................................ 66
3.5.4 GUI simulation API .................................................................................. 67
4 Viewer............................................................................................................................71
4.1 Using the viewer ..................................................................................... 72
4.1.1 Using the simulation and the viewer .......................................................... 72
4.1.2 Using the viewer with virtual pages ........................................................... 73
4.1.3 Always on top......................................................................................... 73
4.1.4 Open further windows of the display output ................................................ 73
4.1.5 Zooming ................................................................................................ 74
4.1.6 Copy the output to the clipboard ............................................................... 74
4.1.7 Using the viewer with multiple displays ...................................................... 75
4.1.8 Using the viewer with multiple layers ......................................................... 75
5 Displaying Text ..............................................................................................................77
5.1 Basic routines......................................................................................... 78
5.2 Text API................................................................................................. 79
5.3 Routines to display text............................................................................ 80
5.4 Selecting text drawing modes ................................................................... 87
5.5 Selecting text alignment........................................................................... 89
5.6 Setting the current text position................................................................ 91
5.7 Retrieving the current text position............................................................ 92
5.8 Routines to clear a window or parts of it..................................................... 92
6 Displaying Values ..........................................................................................................93
6.1 Value API............................................................................................... 94
6.2 Displaying decimal values......................................................................... 95
6.3 Displaying floating point values ................................................................. 99
6.4 Displaying binary values..........................................................................102
6.5 Displaying hexadecimal values.................................................................103
6.6 Version of emWin...................................................................................104
7 2-D Graphic Library......................................................................................................105
7.1 Graphic API ...........................................................................................106
7.2 Drawing modes......................................................................................109
7.3 Query current client rectangle..................................................................110
7.4 Pen size ................................................................................................111
7.5 Basic drawing routines............................................................................112
7.6 Alpha blending.......................................................................................118
7.7 Drawing bitmaps....................................................................................121
7.8 Drawing streamed bitmaps......................................................................124
7.9 Drawing lines.........................................................................................132
7.10 Drawing polygons...................................................................................136
7.11 Drawing circles ......................................................................................141
7.12 Drawing ellipses.....................................................................................142
7.13 Drawing arcs .........................................................................................143
7.14 Drawing graphs .....................................................................................145
7.15 Drawing pie charts .................................................................................146
7.16 Saving and restoring the GUI-context .......................................................147
7.17 Clipping ................................................................................................148
8 Displaying bitmap files .................................................................................................149
8.1 BMP file support.....................................................................................150
8.1.1 Supported formats .................................................................................150
8.1.2 BMP file API...........................................................................................150
UM03001 User & Reference Guide for emWin V5.22 © 1997 - 2013 SEGGER Microcontroller GmbH & Co. KG
17
8.2 JPEG file support ................................................................................... 157
8.2.1 Supported JPEG compression methods ..................................................... 157
8.2.2 Converting a JPEG file to C source............................................................ 157
8.2.3 Displaying JPEG files .............................................................................. 157
8.2.4 Memory usage ...................................................................................... 158
8.2.5 Progressive JPEG files ............................................................................ 158
8.2.6 JPEG file API ......................................................................................... 158
8.3 GIF file support ..................................................................................... 163
8.3.1 Converting a GIF file to C source ............................................................. 163
8.3.2 Displaying GIF files ................................................................................ 163
8.3.3 Memory usage ...................................................................................... 163
8.3.4 GIF file API ........................................................................................... 164
8.4 PNG file support .................................................................................... 172
8.4.1 Converting a PNG file to C source ............................................................ 172
8.4.2 Displaying PNG files ............................................................................... 172
8.4.3 Memory usage ...................................................................................... 172
8.4.4 PNG file API .......................................................................................... 172
8.5 Getting data with the ...Ex() functions...................................................... 176
9 Bitmap Converter.........................................................................................................179
9.1 What it does ......................................................................................... 180
9.2 Loading a bitmap................................................................................... 181
9.2.1 Supported input file formats.................................................................... 181
9.2.2 Loading from a file................................................................................. 181
9.2.3 Using the clipboard ................................................................................ 181
9.3 Color conversion.................................................................................... 182
9.4 Using a custom palette........................................................................... 183
9.4.1 Saving a palette file ............................................................................... 183
9.4.2 Palette file format.................................................................................. 183
9.4.3 Palette files for fixed palette modes.......................................................... 183
9.4.4 Converting a bitmap .............................................................................. 184
9.5 Generating C files from bitmaps............................................................... 184
9.5.1 Supported bitmap formats ...................................................................... 184
9.5.2 Palette information ................................................................................ 184
9.5.3 Transparency ........................................................................................ 185
9.5.4 Alpha blending ...................................................................................... 185
9.5.5 Selecting the best format........................................................................ 186
9.5.6 Saving the file....................................................................................... 188
9.6 Generating C stream files ....................................................................... 189
9.7 Compressed bitmaps.............................................................................. 190
9.8 Creating animated sprites / cursors.......................................................... 190
9.9 Command line usage.............................................................................. 193
9.9.1 Format for commands ............................................................................ 193
9.9.2 Valid command line options..................................................................... 193
9.10 Example of a converted bitmap ............................................................... 195
10 Fonts..........................................................................................................................197
10.1 Introduction.......................................................................................... 198
10.2 Font types ............................................................................................ 198
10.3 Font formats ......................................................................................... 200
10.3.1 C file format ......................................................................................... 200
10.3.2 System Independent Font (SIF) format..................................................... 200
10.3.3 External Bitmap Font (XBF) format .......................................................... 201
10.3.4 iType font engine support ....................................................................... 202
10.3.5 TrueType Font (TTF) format .................................................................... 203
10.4 Converting a TTF file to C source ............................................................. 204
10.5 Declaring custom fonts........................................................................... 204
10.6 Selecting a font ..................................................................................... 204
10.7 Font API............................................................................................... 205
10.8 C file related font functions ..................................................................... 206
18
UM03001 User & Reference Guide for emWin V5.22 © 1997 - 2013 SEGGER Microcontroller GmbH & Co. KG
10.9 ’SIF’ file related font functions..................................................................207
10.10 ’TTF’ file related font functions .................................................................209
10.11 ’XBF’ file related font functions.................................................................212
10.12 Common font-related functions ................................................................214
10.13 Character sets .......................................................................................218
10.13.1 ASCII ...................................................................................................218
10.13.2 ISO 8859-1 Western Latin character set....................................................218
10.13.3 Unicode ................................................................................................220
10.14 Font Converter.......................................................................................221
10.14.1 Adding fonts..........................................................................................221
10.15 Standard fonts.......................................................................................222
10.15.1 Font identifier naming convention.............................................................222
10.15.2 Font file naming convention.....................................................................223
10.15.3 Measurement, ROM-size and character set of fonts .....................................223
10.15.4 Proportional fonts...................................................................................224
10.15.4.1 Overview ..............................................................................................224
10.15.4.2 Measurement, ROM size and used files......................................................224
10.15.4.3 Characters ............................................................................................226
10.15.5 Proportional fonts, framed.......................................................................233
10.15.5.1 Overview ..............................................................................................233
10.15.5.2 Measurement, ROM size and used files......................................................233
10.15.5.3 Characters ............................................................................................233
10.15.6 Monospaced fonts ..................................................................................234
10.15.6.1 Overview ..............................................................................................234
10.15.6.2 Measurement, ROM size and used files......................................................235
10.15.6.3 Characters ............................................................................................236
10.15.7 Digit fonts (proportional).........................................................................241
10.15.7.1 Overview ..............................................................................................241
10.15.7.2 Measurement, ROM size and used files......................................................241
10.15.7.3 Characters ............................................................................................241
10.15.8 Digit fonts (monospaced) ........................................................................243
10.15.8.1 Overview ..............................................................................................243
10.15.8.2 Measurement, ROM size and used files......................................................243
10.15.8.3 Characters ............................................................................................243
11 Font Converter...........................................................................................................245
11.1 Requirements ........................................................................................246
11.2 Using the Font Converter.........................................................................247
11.2.1 Creating an emWin font file from a Windows font .......................................247
11.2.2 Font generation options dialog .................................................................249
11.2.2.1 Type of font to generate..........................................................................249
11.2.2.2 Encoding...............................................................................................250
11.2.2.3 Antialiasing ...........................................................................................250
11.2.3 Font Dialog............................................................................................250
11.2.3.1 Font, Font Style, and Size .......................................................................251
11.2.3.2 Script ...................................................................................................251
11.2.3.3 Unit of Size ...........................................................................................251
11.2.4 User Interface........................................................................................251
11.2.4.1 Selecting the current character ................................................................251
11.2.4.2 Toggling character status ........................................................................251
11.2.4.3 Selecting pixels......................................................................................252
11.2.4.4 Modifying character bits ..........................................................................252
11.2.4.5 Operations ............................................................................................252
11.2.4.6 Modifying the viewing mode ....................................................................253
11.3 Options.................................................................................................253
11.3.1 Saving the font ......................................................................................255
11.3.1.1 Creating a C file .....................................................................................255
11.3.1.2 Creating a System Independent Font (SIF) ................................................255
11.3.1.3 Creating an External Binary Font (XBF) .....................................................255
11.3.2 Modifying an existing C font file................................................................256
11.3.3 Merging fonts with existing C font files ......................................................257
UM03001 User & Reference Guide for emWin V5.22 © 1997 - 2013 SEGGER Microcontroller GmbH & Co. KG
19
11.4 Pattern files .......................................................................................... 258
11.4.1 Creating pattern files using Notepad......................................................... 258
11.4.2 Creating pattern files using the Font Converter .......................................... 258
11.4.3 Enabling characters using a pattern file .................................................... 258
11.5 Supported output modes ........................................................................ 259
11.5.1 Standard mode ..................................................................................... 259
11.5.2 Antialiased modes.................................................................................. 259
11.6 Command line options............................................................................ 260
11.6.1 Table of commands................................................................................ 260
11.6.2 Execution examples ............................................................................... 261
11.7 Font Examples ...................................................................................... 262
11.7.1 Resulting C code, standard mode............................................................. 262
11.8 Resulting C code, 2 bpp antialiased mode ................................................. 263
11.9 Resulting C code, 4 bpp antialiased mode ................................................. 264
11.10 Resulting C code, extended mode ............................................................ 265
12 Movies........................................................................................................................267
12.1 Introduction.......................................................................................... 268
12.2 Requirements........................................................................................ 268
12.3 Creating JPEG files with FFmpeg.exe ........................................................ 268
12.4 Creating an EMF file............................................................................... 269
12.5 Modifying the conversion result ............................................................... 270
12.6 Using JPEG2Movie.................................................................................. 270
12.7 Movies API............................................................................................ 271
13 Colors.........................................................................................................................277
13.1 Predefined colors................................................................................... 278
13.2 The color bar test routine ....................................................................... 278
13.3 Fixed palette modes............................................................................... 279
13.4 Detailed fixed palette mode description .................................................... 281
13.5 Application defined color conversion......................................................... 292
13.6 Custom palette mode ............................................................................. 293
13.7 Gamma correction ................................................................................. 293
13.8 Color API.............................................................................................. 294
13.8.1 Basic color functions .............................................................................. 294
13.8.2 Index & color conversion ........................................................................ 296
14 Memory Devices ........................................................................................................299
14.1 Using Memory Devices: an illustration ...................................................... 300
14.2 Supported color depth (bpp) ................................................................... 300
14.3 Memory Devices and the Window Manager................................................ 301
14.4 Memory Devices and multiple layers......................................................... 301
14.5 Memory requirements ............................................................................ 301
14.6 Performance ......................................................................................... 302
14.7 Basic functions ...................................................................................... 303
14.8 In order to be able to use Memory Devices................................................ 303
14.9 Multi layer / multi display configurations................................................... 303
14.10 Configuration options ............................................................................. 303
14.11 Memory device API ................................................................................ 304
14.12 Basic functions...................................................................................... 306
14.13 Banding Memory Device ......................................................................... 324
14.14 Auto device object ................................................................................. 325
14.15 Measurement device object..................................................................... 327
14.16 Animation functions ............................................................................... 329
14.17 Animation functions (Window Manager required)........................................ 330
14.18 Blurring functions .................................................................................. 333
14.19 Blurring and Blending functions (Window Manager required)........................ 336
15 Execution Model: Single Task / Multitask ..................................................................339
20
UM03001 User & Reference Guide for emWin V5.22 © 1997 - 2013 SEGGER Microcontroller GmbH & Co. KG
15.1 Supported execution models....................................................................340
15.2 Single task system (superloop) ................................................................340
15.2.1 Description............................................................................................340
15.2.2 Superloop example (without emWin) ........................................................340
15.2.3 Advantages ...........................................................................................340
15.2.4 Disadvantages .......................................................................................340
15.2.5 Using emWin .........................................................................................341
15.2.6 Superloop example (with emWin).............................................................341
15.3 Multitask system: one task calling emWin..................................................341
15.3.1 Description............................................................................................341
15.3.2 Advantages ...........................................................................................341
15.3.3 Disadvantages .......................................................................................341
15.3.4 Using emWin .........................................................................................342
15.4 Multitask system: multiple tasks calling emWin ..........................................342
15.4.1 Description............................................................................................342
15.4.2 Advantages ...........................................................................................342
15.4.3 Disadvantages .......................................................................................342
15.4.4 Using emWin .........................................................................................342
15.4.5 Recommendations..................................................................................343
15.4.6 Example ...............................................................................................343
15.5 Configuration functions for multitasking support.........................................343
15.6 Configuration macros for multitasking support ...........................................345
15.7 Kernel interface API................................................................................347
15.7.1 Examples ..............................................................................................349
16 The Window Manager (WM)......................................................................................351
16.1 Description of terms ...............................................................................352
16.2 Callback mechanism, invalidation, rendering and keyboard input ..................353
16.2.1 Rendering without callbacks.....................................................................353
16.2.2 Rendering using callbacks .......................................................................354
16.2.3 Overwriting callback functions..................................................................354
16.2.4 Background window redrawing and callback...............................................355
16.2.5 Invalidation...........................................................................................356
16.2.6 Rendering of transparent windows............................................................356
16.2.7 Automatic use of memory devices ............................................................356
16.2.8 Automatic use of multiple frame buffers ....................................................357
16.2.9 Automatic use of display driver cache .......................................................357
16.2.10 Keyboard input ......................................................................................357
16.3 Motion support.......................................................................................357
16.3.1 Enabling motion support of the WM ..........................................................357
16.3.2 Basic motion support for a window ...........................................................357
16.3.2.1 Using creation flags ................................................................................357
16.3.2.2 Using API function..................................................................................358
16.3.3 Advanced motion support........................................................................358
16.3.3.1 WM_MOTION message and WM_MOTION_INFO..........................................358
16.4 ToolTips................................................................................................359
16.4.1 How they work.......................................................................................359
16.4.2 Creating ToolTips ...................................................................................359
16.4.2.1 Creating ToolTips for dialog items.............................................................359
16.4.2.2 Creating ToolTips for simple windows........................................................360
16.5 Messages ..............................................................................................360
16.5.1 Message structure ..................................................................................360
16.5.2 List of messages ....................................................................................361
16.5.3 System-defined messages.......................................................................362
16.5.4 Pointer input device (PID) messages.........................................................365
16.5.5 System-defined notification codes ............................................................369
16.5.6 Application-defined messages ..................................................................369
16.6 Configuration options..............................................................................370
16.7 WM API.................................................................................................371
16.7.1 Using the WM API functions.....................................................................373
16.7.2 WM API: Basic functions..........................................................................374
剩余1140页未读,继续阅读
2018-07-28 上传
2023-08-13 上传
2023-05-26 上传
2023-05-26 上传
2023-07-01 上传
2023-07-28 上传
2024-01-15 上传
qq_30560031
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功