emWin
图形库
图形用户界面
版本 5.12
手册修订版 0
www.segger.com
嵌入式软件的解决方案
2
章节
免责声明
本文中所含的规格信息据信是准确的,但不担保完全没有错误。本手册中所含信息可能会因功能或性
能改善而变更,恕不另行通知。请确保您手中的手册是最新版本。虽然此处所提供信息据信是准确的,
但如有任何错误或疏漏, SEGGER Microcontroller GmbH & Co. KG (制造商)概不承担任何责
任。制造商不作 (用户因而也不会获得)任何担保或条件,无论是明示的、暗含的、法定的还是以任
何函件形式与用户确认的。特别地,制造商拒绝承担任何适销性或特定目的适用性的担保。
版权声明
如无制造商的事先书面许可,不得截取本手册的任何部分或者以任何方式修改 PDF 文件。本文件中所
述软件基于许可证提供,且只能根据此许可证的条款进行使用或复制。
© 2011 SEGGER Microcontroller GmbH & Co. KG, Hilden / 德国
商标
本手册中提及的名称可能是其各自所属公司的商标。
各品牌和产品名称均为其各自所有者的商标或注册商标。
注册
请通过电子邮件注册软件。这样,我们就能确保在有更新时,您会立即收到更新或者更新通知。
注册时,请提供以下信息:
• 公司名称和地址
• 您的姓名
• 您的职位
• 您的电子邮件地址和电话号码
• 产品名称和版本
请将这些信息发送至:register@segger.com
联系地址
SEGGER Microcontroller GmbH & Co. KG
In den Weiden 11
D-40721 Hilden
德国
电话:+49 2103-2878-0
传真:+49 2103-2878-28
电子邮件:support@segger.com
网址:http://www.segger.com
手册版本
本手册讲述的是最新软件版本。软件的版本编号请见本章节稍后的 “软件版本”表。如有任何差错,
请通知我们,我们将尽快尽力为您提供帮助。
有关任何未明确的其他信息和程序,请联系我们。
印刷日期:12/9/11
emWin V5.12 用户参考手册
© 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG
3
版本
日期
作
者
描述
第 17 章 “窗口对象 (小工具)”
- 添加新函数 LISTVIEW_SetHeaderHeight()。
- 添加新函数 ICONVIEW_AddStreamedBitmapItem()。
- 添加新函数 ICONVIEW_GetItemText()。
- 添加新函数 ICONVIEW_GetItemUserData()。
- 添加新函数 ICONVIEW_GetNumItems()。
- 添加新函数 ICONVIEW_InsertBitmapItem()。
- 添加新函数 ICONVIEW_InsertStreamedBitmapItem()。
- 添加新函数 ICONVIEW_SetBitmapItem()。
- 添加新函数 ICONVIEW_SetFrame()。
- 添加新函数 ICONVIEW_SetItemText()。
- 添加新函数 ICONVIEW_SetItemUserData()。
- 添加新函数 ICONVIEW_SetSpace()。
- 添加新函数 ICONVIEW_SetStreamedBitmapItem()。
- 添加新函数 ICONVIEW_SetTextAlign()。
- 添加新函数 TEXT_GetNumLines()。
第 30 章 “显示驱动”
- 添加新显示驱动:
GUIDRV_Dist
GUIDRV_SPage
- GUIDRV_CompactColor_16 支持的新显示控制器:
66709:所罗门 SSD1961
- LCD_SetDevFunc():添加 LCD_DEVFUNC_COPYRECT。
- GUIDRV_Lin:添加对 LCD_DEVFUNC_COPYRECT 的支持。
第 30 章 “显示驱动”
- 新显示驱动:GUIDRV_FlexColor
第 14 章 “存储设备”
- GUI_USE_MEMDEV_1BPP_FOR_SCREEN 的默认值是 1。
- 添加新函数 GUI_MEMDEV_MarkDirty()。
添加第 19 章 “GUIBuilder”。
第 30 章 “显示驱动”
- GUIDRV_CompactColor_16 支持的新显示控制器:
66708: Ilitek ILI9328
66709: Sitronix ST7715
66772: Ilitek ILI9221
- 添加新函数 GUIDRV_BitPlains_Config()。
5.12R0
110621
AS
JE
5.10R1
110531
5.10R0
110329
AS
JE
AS
JE
emWin V5.12 用户参考手册
© 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG
4
章节
版本
日期
作
者
描述
第 9 章 “2D 图形库”
- 添加新函数 GUI_CreateBitmapFromStreamRLEAlpha()。
- 添加新函数 GUI_CreateBitmapFromStreamRLE32()。
- 函数 GUI_CreateBitmapFromStream() 支持额外格式。
- 添加新函数 GUI_UC_EnableBIDI()。
第 12 章 “位图转换器”
- 添加新格式 “Alpha 通道,压缩”。
- 添加新格式 “带 Alpha 通道的真彩色,压缩”。
- 添加新功能 Image/Convert Into/Best Palette + transparency。
第 14 章 “存储设备”
- 添加新函数 GUI_MEMDEV_SetAnimationCallback()。
- 添加新函数 GUI_MEMDEV_ShiftInWindow()。
- 添加新函数 GUI_MEMDEV_ShiftOutWindow()。
第 15 章 “执行模型”
- 添加新函数 GUI_SetSignalEventFunc()。
- 添加新函数 GUI_SetWaitEventFunc()。
- 添加新函数 GUI_SetWaitEventTimedFunc()。
- 编译时间配置宏的定义变更。
第 16 章 “窗口管理器”
- 添加新函数 WM_MULTIBUF_Enable()。
- 添加新消息 WM_PRE_PAINT 和 WM_POST_PAINT。
第 17 章 “小工具”
- LISTVIEW_SetUserData() 重命名为 LISTVIEW_SetUserDataRow()。
- LISTVIEW_GetUserData() 重命名为 LISTVIEW_GetUserDataRow()。
- 为所有小工具添加新函数 _SetUserData。
- 为所有小工具添加新函数 _GetUserData。
- 为所有小工具添加新函数 _CreateUser。
- 添加新函数 BUTTON_GetTextAlign()。
- 添加新函数 BUTTON_SetReactOnLevel()。
- 添加新函数 ICONVIEW_CreateIndirect()。
- 添加新函数 ICONVIEW_DeleteItem()。
- 添加新函数 LISTWHEEL_CreateIndirect()。
- 添加新函数 SCROLLBAR_SetThumbSizeMin()。
- 添加新函数 SCROLLBAR_GetThumbSizeMin()。
- 添加新函数 TREEVIEW_ITEM_CollapseAll()。
- 添加新函数 TREEVIEW_ITEM_ExpandAll()。
第 19 章 “皮肤设置”
- 添加新编译时间配置宏 WIDGET_USE_FLEX_SKIN。
- 新消息 WIDGET_ITEM_GET_RADIUS 添加到帧窗口皮肤。
第 20 章 “多重缓冲”。
- 添加新函数 GUI_MULTIBUF_Begin()。
- 添加新函数 GUI_MULTIBUF_End()。
- 添加新函数 GUI_MULTIBUF_Config()。
第 9 章 “字体”:
- 添加新函数 GUI_SetDefaultFont()。
第 12 章 “存储设备”:
- 添加新函数 GUI_MEMDEV_FadeDevices()。
第 15 章 “小工具”:
- 添加新函数 SCROLLBAR_GetNumItems()。
- 添加新函数 SCROLLBAR_GetPageSize()。
- 添加新函数 BUTTON_SetReactOnLevel()。
- 添加新函数 LISTWHEEL_SetPos()。
- 添加新函数 GRAPH_DATA_XY_SetOwnerDraw()。
- 添加新函数 LISTVIEW_SetItemBitmap()。
新第 17 章 “皮肤设置”:
- 为最通用小工具添加皮肤设置功能。
第 26 章 “显示驱动”:
- 添加新函数 GUI_SetOrientation() (旋转设备)。
- 给 GUIDRV_Lin 添加用于 16、 24 和 32 bpp 的新 OXY 定向。
5.08R0
110112
AS
JE
5.06R0
100907
JE
emWin V5.12 用户参考手册
© 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG
5
版本
日期
作
者
描述
5.04R2
100526
AS
5.04R1
100505
AS
5.04R0
100104
JE
- 章节 “小工具”中的新函数 LISTVIEW_SetItemBitmap()
- 章节 “小工具”中的新函数 GRAPH_DATA_XY_SetOwnerDraw()
- 章节 “字体”中的新函数 GUI_SetDefaultFont()
- 章节 “2-D 图形库”中的新函数 GUI_GetPixelIndex()
- 章节 “执行模型”中的新函数 GUITASK_SetMaxTask()
- GUIDRV_CompactColor_16:
添加对以下显示控制器的支持:
Himax HX8353、 LGDP4551、 Orisetech SPFD54124C、 Renesas R61505、
矽创 ST7735 和 ST7787、所罗门 SSD1284 和 SSD2119。
- 给每个使用驱动宏的驱动添加宏。
添加驱动 “GUIDRV_S1D15G00”和 “GUIDRV_SLin”
各种修正
章节 “2-D 图形库”:
- 新函数 GUI_DrawGradientRoundedV()
- 新函数 GUI_DrawGradientRoundedH()
- 新函数 GUI_DrawRoundedFrame()
第 12 章 “存储设备”:
- 新函数 GUI_MEMDEV_MoveInWindow()
- 新函数 GUI_MEMDEV_MoveOutWindow()
- 新函数 GUI_MEMDEV_FadeInWindow()
- 新函数 GUI_MEMDEV_FadeOutWindow()
章节 “模拟”
- 新函数 SIM_GUI_SetCallback()
- 新函数 SIM_GUI_ShowDevice()
第 26 章 “VNC 服务器”:
- 添加新函数 GUI_VNC_EnableKeyboardInput()。
- 添加新函数 GUI_VNC_GetNumConnections()。
- 添加新函数 GUI_VNC_SetPassword()。
- 添加新函数 GUI_VNC_SetProgName()。
- 添加新函数 GUI_VNC_SetSize()。
- 添加新函数 GUI_VNC_RingBell()。
emWin V5.12 用户参考手册
© 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG
6
章节
版本
日期
作
者
描述
第 5 章 “显示驱动”:
- 添加新函数 GUI_DispStringInRectWrap()。
- 添加新函数 GUI_WrapGetNumLines()。
第 7 章 “2-D 图形库”:
- 添加新函数 GUI_EnableAlpha()。
- 添加新函数 GUI_RestoreUserAlpha()。
- 添加新函数 GUI_SetUserAlpha()。
- 添加新函数 GUI_CreateBitmapFromStream()。
- 添加新函数 GUI_DrawStreamedBitmapEx()。
- 添加新函数 GUI_GetStreamedBitmapInfo()。
- 添加新函数 GUI_GetStreamedBitmapInfoEx()。
- 添加新函数 GUI_SetStreamedBitmapHook()。
- 添加新函数 GUI_CreateBitmapFromStreamIDX()。
- 添加新函数 GUI_CreateBitmapFromStreamRLE4()。
- 添加新函数 GUI_CreateBitmapFromStreamRLE8()。
- 添加新函数 GUI_CreateBitmapFromStream565()。
- 添加新函数 GUI_CreateBitmapFromStreamM565()。
- 添加新函数 GUI_CreateBitmapFromStream555()。
- 添加新函数 GUI_CreateBitmapFromStreamM555()。
- 添加新函数 GUI_CreateBitmapFromStreamRLE16()。
- 添加新函数 GUI_CreateBitmapFromStreamRLEM16()。
- 添加新函数 GUI_CreateBitmapFromStream24()。
- 添加新函数 GUI_CreateBitmapFromStreamAlpha()。
第 9 章 “字体”:
- 添加新字体 F20F_ASCII (框架式)。
- 添加新字体 F6x8_ASCII 和 F6x8_1。
- 添加新字体 F8x8_ASCII 和 F8x8_1。
- 添加新字体 F8x16_ASCII 和 F8x16_1。
- 添加对扩展 AA2 和扩展 AA4 新字体格式的支持。
第 12 章 “存储设备”:
- 添加对多图层 / 显示的考量。
第 14 章 “窗口管理器”:
- WM_DeleteWindow() 现在还删除了所有相关定时器。
第 15 章 “小工具”:
- 添加新函数 WINDOW_SetBkColor()。
第 19 章 “指针输入装置”:
- 添加 PID 缓冲区。
- 修订对触摸校准的解释。
第 20 章 “键盘”:
- 添加键盘缓冲区。
第 25 章 “显示驱动”:
- 添加新驱动 GUIDRV_BitPlains。
- 添加新驱动 GUIDRV_SLin。
- 添加新驱动 GUIDRV_SSD1926。
- 添加驱动 GUIDRV_1611。
- 添加驱动 GUIDRV_6331。
- 添加驱动 GUIDRV_7529。
- 添加驱动 GUIDRV_Page1bpp。
- GUIDRV_CompactColor_16:添加对以下显示控制器的支持:奇景 HX8340 和
HX8352、所罗门 SSD1298、 SSD1355 和 SSD1963、爱普生 S1D19122、
Orisetech SPFD5414D、 Ilitek ILI9320 和 ILI9326
第 3 章 “模拟器”:
- 全面修订。
第 8 章 “显示位图文件”
- 添加 PNG 支持。
5.04R0
100104
JE
5.00R1
090409
JE
5.00R0
090326
JE 软件已全面修订。有关各早期版本的修订历史记录,请参阅较早文档。
emWin V5.12 用户参考手册
© 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG
7
SEGGER Microcontroller GmbH & Co. KG 开发和经销
用于嵌入式系统的软件开发工具和 ANCI C 软件组件(中间件),
涉及电信、医疗技术、消费电子、汽车和工业自动化等多种行业。
SEGGER 的目标是通过提供小型灵活并易于使用的中间件,使
开发人员可以集中精力于具体应用,从而缩短嵌入式应用的
软件开发时间。
我们最受欢迎的产品有 emWin 和 embOS,前者是一款用
于嵌入式应用的通用图形软件包,后者是一种小型、高效的实时内核。emWin 完全采用 ANSI C 编写,可
轻松用于任何 CPU 和几乎所有显示器。以下 PC 工具是其的完美补充:位图转换器、字体转换器、模拟器
和查看器。 embOS 支持大多数 8/16/32 位 CPU。其存储器占用面积小,因此适于单芯片应用。
除了重点关注软件工具外, SEGGER 还研发和生产用于闪存宏控制器的编程工具,以及辅助研发、调试和
生产的 JTAG 仿真器 J-Link,它已迅速成为调试 ARM 内核存取的行业标准。
办公地址:
http://www.segger.com
美国办事处:
http://www.segger-us.com
SEGGER 工具
Flasher
闪存编程器
主要用于微控制器的闪存编程工具。
J-Link
ARM 内核的 JTAG 仿真器
用于 ARM 内核的 USB 驱动 JTAG 界面。
J-Trace
带跟踪的 JTAG 仿真器
用于 ARM 内核的 USB 驱动 JTAG 界面带跟踪存储器,支持
ARM ETM (嵌入式跟踪宏单元)。
J-Link / J-Trace 相关软件
与 SEGGER 盏男幸当曜糐 TAG 仿真器一同使用的附加软
件,包括闪存编程软件和闪存断点。
嵌入式软件
(中间件)
emWin
图形软件和 GUI
emWin 设计用于提供高效且独立于处理器和
显示控制器的图形用户界面 (GUI),用于任何
使用图形显示进行操作的应用。我们提供有初
学者套装、评估版和试用版。
embOS
实时操作系统
embOS 是一种实时操作系统 (RTOS),设计用
于为复杂的实时应用提供占用资源最小的完整多
任务系统。其中包含仿形PC工具embOSView。
emFile
文件系统
emFile 是支持 FAT12、FAT16 和 FAT32 的嵌
入式文件系统。 emFile 已经过优化,可在保持
高速度的同时耗用最少的 RAM 和 ROM。可使
用各种不同的设备驱动,如 NAND 和 NOR 闪存
的驱动、 SD/MMC 和 CompactFlash 卡的驱
动。
USB 协议栈
USB 设备协议栈
USB 协议栈设计用于在任何使用 USB 客户端控
制器的嵌入式系统中工作。支持块通信和大多
数标准设备类别。
emWin V5.12 用户参考手册
© 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG
8
章节
emWin V5.12 用户参考手册
© 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG