emWin
带图形用户界面的图形库
用户参考手册
文 档: UM03001
软件版本: V5.42
文档修订: 0
日 期: July 31, 2017
A product of SEGGER Microcontroller GmbH & Co. KG
www.segger.com
2
CHAPTER
免责声明
本文中所含的规格信息据信是准确的,但不担保完全没有错误。本手册中所含信息可能会因功能或性
能改善而变更,恕不另行通知。请确保您手中的手册是最新版本。虽然此处所提供信息据信是准确的,
但如有任何错误或疏漏, SEGGER Microcontroller GmbH & Co. KG (制造商)概不承担任何责
任。制造商不作(用户因而也不会获得)任何担保或条件,无论是明示的、暗含的、法定的还是以任
何函件形式与用户确认的。特别地,制造商拒绝承担任何适销性或特定目的适用性的担保。
版权声明
如无制造商的事先书面许可,不得截取本手册的任何部分或者以任何方式修改 PDF 文件。本文件中所述
软件基于许可证提供,且只能根据此许可证的条款进行使用或复制。
© 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG, Hilden / Germany
商标
本手册中提及的名称可能是其各自所属公司的商标。
各品牌和产品名称均为其各自所有者的商标或注册商标。
联系地址
SEGGER Microcontroller GmbH & Co. KG
In den Weiden 11
D-40721 Hilden
Germany
Tel.+49 2103-2878-0
Fax.+49 2103-2878-28
E-mail: support@segger.com
Internet: http://www.segger.com
手册版本
本手册讲述的是最新软件版本。软件的版本编号请见本章节稍后的“软件版本”表。如有任何差错,请
通知我们,我们将尽快尽力为您提供帮助。
有关任何未明确的其他信息和程序,请联系我们。
印刷日期:July 31, 2017
UM03001 emWin V5.42 用户参考手册
© 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG
软 件版本 修订
日 期
作 者
描述
3
5.42
5.40
5.40
0
2
1
170731
170524
170508
SC
JE
JE
第 6 章 ‘显示文本’
- 添加新函数 GUI_DispStringInRectWrapEx()。
- 添加新函数 GUI_SetStrikeWidth()。
第 8 章 ‘2-D 图形库’
- 添加新函数 GUI_AddRect()。
第 10 章 ‘位图转换器’
- Description about options dialog
第 19 章 ‘控件’
- 添加新函数 CHECKBOX_GetBkColor()。
- 添加新函数 CHECKBOX_GetBoxBkColor()。
- 添加新函数 CHECKBOX_GetFocusColor()。
- 添加新函数 CHECKBOX_GetFont()。
- 添加新函数 CHECKBOX_GetTextAlign()。
- 添加新函数 CHECKBOX_GetTextColor()。
- 添加新函数 DROPDOWN_GetBkColor()。
- 添加新函数 DROPDOWN_GetColor()。
- 添加新函数 DROPDOWN_GetFont()。
- 添加新函数 DROPDOWN_GetTextColor()。
- 添加新函数 GRAPH_GetColor()。
- 添加新函数 HEADER_GetFont()。
- 添加新函数 ICONVIEW_GetBkColor()。
- 添加新函数 ICONVIEW_GetFont()。
- 添加新函数 ICONVIEW_GetTextColor()。
- 添加新函数 ICONVIEW_GetReleasedItem()。
- 添加新函数 LISTBOX_GetBkColor()。
- 添加新函数 LISTBOX_GetTextColor()。
- 添加新函数 MENU_GetBkColor()。
- 添加新函数 MENU_GetFont()。
- 添加新函数 MENU_GetTextColor()。
- 添加新函数 MULTIEDIT_GetBkColor()。
- 添加新函数 MULTIEDIT_GetFont()。
- 添加新函数 MULTIEDIT_GetTextColor()。
- 添加新函数 MULTIEDIT_ShowCursor()。
- 添加新函数 MULTIPAGE_GetBkColor()。
- 添加新函数 MULTIPAGE_GetTextColor()。
- 添加新函数 PROGBAR_GetBarColor()。
- 添加新函数 PROGBAR_GetFont()。
- 添加新函数 RADIO_GetBkColor()。
- 添加新函数 RADIO_GetFocusColor()。
- 添加新函数 RADIO_GetFont()。
- 添加新函数 RADIO_GetTextColor()。
- 添加新函数 SCROLLBAR_GetColor()。
- 添加新函数 SPINBOX_GetFont()。
- 添加新函数 SPINBOX_GetTextColor()。
- 添加新函数 TEXT_SetDec()。
第 20 章 ‘对话框’
- 添加新函数 CALENDAR_AddKey()。
第 33 章 ‘显示驱动’
- 16bpp 支持 GUIDRV_S1D13L01。
- 16bpp 支持 GUIDRV_S1D13781。
- 添加新函数 LCD_SetBufferPtr()。
- 添加新函数 LCD_SetBufferPtrEx()。
第 9 章 ‘显示位图文件’
- PNG 库下载链接修改。
- 第 11 章 ‘字体’
- iType and iTypeSpark glue code 下载链接修改。
- Freetype 库下载链接修改。
- XBF 格式描述。
第 33 章 ‘显示驱动’
- 添加新的驱动 GUIDRV_S1D13L01。
- 添加新的驱动 GUIDRV_S1D13L02。
- 添加新的驱动 GUIDRV_S1D13L04。
表 0.1:修订历史
UM03001 emWin V5.42 用户参考手册
© 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG
4
CHAPTER
软 件版本 修订
日 期
作 者
描述
0
0
5.40
5.38
170302
161124
表 0.1:修订历史
JE
JE
SC
第 3 章 ‘模拟’
- 函数 SIM_GUI_SaveCompositeBMP()。
第 6 章 ‘显示文本’
- 函数 GUI_WrapSetSeparators()。
- 函数 GUI_WrapGetPositions()。
第 13 章 ‘电影’
- 函数 GUI_MOVIE_DrawFrame()。
第 19 章 ‘控件’
- 函数 ICONVIEW_GetItemBitmap()。
- 函数 ICONVIEW_SetOwnerDraw()。
- 函数 MULTIEDIT_SetCursorCharPos()。
- 函数 MULTIEDIT_SetCursorPixelPos()。
- 函数 WIDGET_SetFocusable()。
- 函数 WIDGET_EnableStreamAuto()。
第 10 章 ‘位图转换器’
- 位图转换器现在支持 JPEG 文件
- 新的命令行选项 ’reducecolors’。
- 新的命令行选项’hide’。
- 新的命令行选项’scale’。
第 18 章 ‘窗口管理器’
- 函数 WM_GetNumInvalidWindows()。
- 函数 WM_MOTION_SetThreshold()。
- ’Overlapping’支持添加到 WM_MOTION.
- 添加新变量到 WM_MOTION_INFO.
第 33 章 ‘显示驱动’
- 函数 LCD_On() and LCD_OnEx()。
- 函数 LCD_Off() and LCD_OffEx()。
第 38 章 ‘配置’
- 函数 GUI_SetpfMemset()。
- 函数 GUI_SetpfMemcpy()。
第 3 章 ‘模拟’
- 函数 SIM_GUI_Delay()。
- 函数 SIM_GUI_ExecIdle()。
- 函数 SIM_GUI_GetTime()。
第 8 章 ‘2-D 图形库’
- 函数 GUI_GCACHE_4_Create()。
- 函数 GUI_GCACHE_4_CreateEx()。
第 11 章 ‘字体’
- 函数 GUI_GetDefaultFont()。
第 14 章 ‘动画’
- 函数 GUI_ANIM_StartEx()。
- 函数 GUI_ANIM_Stop()。
第 15 章 ‘颜色’
- 函数 GUI_GetDefaultBkColor()。
- 函数 GUI_GetDefaultColor()。
- 函数 GUI_SetDefaultBkColor()。
- 函数 GUI_SetDefaultColor()。
第 16 章 ‘内存设备’
- 函数 GUI_MEMDEV_MULTIBUF_Enable()。
第 18 章 ‘窗口管理器’
- 解释如何与 WM 和多层工作。
第 19 章 ‘控件’
- MULTIEDIT: GUI_KEY_PGUP and GUI_KEY_PGDOWN。
第 26 章 ‘指针输入设备’
- 函数 GUI_PID_SetHook()。
第 33 章 ‘显示驱动’
- LCD_DEVFUNC_DRAWBMP_32BPP 添加到 LCD_SetDevFunc().
- 添加新的驱动 GUIDRV_S1D13513。
- GUIDRV_FlexColor: 24bpp 模式添加到 F66720.
第 34 章 ‘VNC 服务器’
- 函数 GUI_VNC_SetRetryCount()。
第 36 章 ‘定时和执行相关的函数’
- 函数 GUI_GetTimeSlice()。
- 函数 GUI_SetTimeSlice()。
- 第 38 章 ‘配置’
- 解释添加如何与帧缓冲器和 DCACHE 工作
- 函数 GUI_SetFuncDrawAlpha()。
- 函数 GUI_DCACHE_Clear()。
- 函数 GUI_DCACHE_SetClearCacheHook()。
UM03001 emWin V5.42 用户参考手册
© 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG
软 件版本 修订
日 期
作 者
描述
5
JE
第 37 章 ‘性能和资源使用情况’
- ARM Cortex-M4 和 A9 性能值。
- 图像性能值计算。
JE 第 33 章 ‘显示驱动’
- GUIDRV_FlexColor: 24bpp 模式。
第 19 章 ‘控件’
- 函数 SWIPELIST_GetThreshold()。
- 函数 SWIPELIST_SetThreshold()。
- 函数 SWIPELIST_SetDefaultThreshold()。
- 函数 SWIPELIST_GetDefaultThreshold()。
- 函数 GRAPH_DATA_YT_GetValue()。
- 函数 GRAPH_DATA_XY_GetPoint()。
第 31 章 ‘抗锯齿’
- 函数 GUI_AA_EnableGammaAA4()。
- 函数 GUI_AA_SetGammaAA4()。
- 函数 GUI_AA_GetGammaAA4()。
第 32 章 ‘语言支持’
- Unicode 标准兼容解释。
- 函数 GUI_UC_SetBaseDir()。
第 33 章 ‘显示驱动’
- 支持 Sitronix ST7796 添加到 GUIDRV_FlexColor.
- 支持 LDT LD7138 添加到 to GUIDRV_FlexColor.
- 支持 SP9230 添加到 to GUIDRV_FlexColor.
- 支持 IST3501 添加到 GUIDRV_SPage.
- 支持 Sitronix ST7570 添加到 GUIDRV_SPage.
JE 第 1 章 ‘简介’
- 添加编译器限制: ’char’需要 8 位。
JE 第 33 章 ‘显示驱动’
5.36
5.36
5.36
5.34
5.34
5.34
160906
160901
160829
160621
160517
160425
2
1
0
2
1
0
表 0.1:修订历史
JE
JE
- GUIDRV_SH_MEM: LS013B7DH06 删除, 仅支持 b/w。
第 2 章 ‘入门指南’
- 函数 GUI_IsInitialized()。
第 3 章 ‘模拟’
- 函数 SIM_GUI_SaveBMP()。
- 函数 SIM_GUI_SaveBMPEx。
第 8 章 ‘2-D 图形库’
- 函数 GUI_QR_Create()。
- 函数 GUI_QR_Delete()。
- 函数 GUI_QR_Draw()。
- 函数 GUI_QR_GetInfo()。
- 函数 GUI_SetControlHook()。
第 9 章 ‘显示位图文件’
- 函数 GUI_BMP_EnableAlpha()。
第 11 章 ‘字体’
- 支持 iTypeSpark®字体引擎。
第 19 章 ‘控件’
- 函数 LISTBOX_GetOwner()。
第 26 章 ‘指针输入设备’
- 函数 GUI_PID_SetInitFunc()。
第 33 章 ‘显示驱动’
- Sharp Memory LCDs 新显示驱动。
第 34 章 ‘VNC 服务器’
- 文件传输能力。
第 38 章 ‘配置’
- Macro GUI_POST_INIT。
UM03001 emWin V5.42 用户参考手册
© 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG
6
CHAPTER
软 件版本 修订
日 期
作 者
描述
0
0
1
0
150930
150706
150206
150128
5.32
5.30
5.28
5.28
表 0.1:修订历史
第 3 章 ‘模拟’
- 函数 SIM_GUI_GetCompositeTouch()。
- 函数 SIM_GUI_SetCompositeTouch()。
第 5 章 ‘emWinSPY’
- RTT 连接。
第 19 章 ‘控件’
- 新的控件’SWIPELIST’。
- 函数 LISTVIEW_SetSelCol()。
- 函数 SLIDER_GetRange()。
- 函数 EDIT_EnableInversion()。
第 32 章 ‘语言支持’
- 函数 GUI_LANG_GetLang()。
第 33 章 ‘显示驱动’
- 添加命令到 LCD_X_DisplayDriver(): LCD_X_SHOWBUFFER, LCD_X_SETVIS,
LCD_X_SETPOS, LCD_X_SETSIZE, LCD_X_SETALPHA
JE
第 8 章 ‘2-D 图形库’
- 函数 GUI_PreserveTrans()。
- 函数 GUI_SetAlphaMask8888()。
第 10 章 ‘位图转换器’
- 支持保存 PNGs
- 支持新的位图格式 M8888I。
第 12 章 ‘字体转换器’
- 加载 Adobe (B)itmap (D)istribution (F)ormat (BDF)。
第 14 章 ‘动画’
- 函数 GUI_ANIM_AddItem()。
- 函数 GUI_ANIM_Create()。
- 函数 GUI_ANIM_Delete()。
- 函数 GUI_ANIM_Exec()。
- 函数 GUI_ANIM_Start()。
第 15 章 ‘颜色’
- 新的逻辑颜色模式 ARGB。
第 16 章 ‘内存设备’
- 函数 GUI_MEMDEV_WriteOpaque()。
- 函数 GUI_MEMDEV_WriteOpaqueAt()。
第 18 章 ‘窗口管理器’
- 拼接算法解释。
第 19 章 ‘控件’
- 函数 LISTWHEEL_IsMoving()。
- 函数 PROGBAR_GetMinMax()。
- 函数 PROGBAR_GetValue()。
- 函数 TEXT_GetBkColor()。
- 函数 TEXT_GetFont()。
- 函数 TEXT_GetTextAlign()。
- 函数 TEXT_GetTextColor()。
- 函数 TEXT_GetWrapMode()。
- 函数 TEXT_GetDefaultTextColor()。
- 函数 TEXT_GetDefaultWrapMode()。
第 33 章 ‘显示驱动’
- 支持 HX8369 添加到 GUIDRV_FlexColor.
- 支持 ST7715 添加到 GUIDRV_FlexColor.
- 支持 SSD1325 添加到 GUIDRV_SLin.
TTF 和 PNG 许可信息支持转变。
第 3 章 ‘模拟’
- 函数 SIM_GUI_SetTransMode()。
新第 5 章 ‘emWinSPY’
- 添加新工具 emWinSPY:
- 函数 GUI_SPY_Process()。
- 函数 GUI_SPY_SetMemHandler()。
- 函数 GUI_SPY_StartServer()。
- 函数 GUI_SPY_X_StartServer()。
第 8 章 ‘2-D 图形库’
- 函数 GUI_SetRefreshHook()。
第 11 章 ‘字体’
- Commas 添加到标准数字字体。
第 18 章 ‘控件’
- 添加一些新默认值到 FRAMEWIN 和 WINDOW.
- 函数 LISTBOX_EnableWrapMode()。
JE
AS
JE
JE
AS
UM03001 emWin V5.42 用户参考手册
© 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG
软 件版本 修订
日 期
作 者
描述
7
5.28
5.26
5.26
150128
141128
140821
0
2
1
5.26
0
140805
表 0.2:修订历史
JE
AS
第 24 章 ‘多层/多显示器支持’
- 添加软件层:
- 函数 GUI_SOFTLAYER_Enable()。
- 函数 GUI_SOFTLAYER_MULTIBUF_Enable()。
- 函数 GUI_SOFTLAYER_Refresh()。
- 函数 GUI_SOFTLAYER_SetCompositeColor()。
第 28 章 ’Sprites’
- Sprites 现在支持带 alpha 混合的真彩色位图
第 32 章 ‘显示驱动’
- LCD_DEVFUNC_DRAWBMP_8BPP 添加到 LCD_SetDevFunc().
- 支持 ST7789 添加到 GUIDRV_FlexColor.
- 支持 UC1638 添加到 GUIDRV_SPage
- 支持 Avant Electronics SBN0064G 添加到 GUIDRV_SPage
- 新的显示驱动 GUIDRV_7528。
第 37 章 ‘配置’
- 函数 GUITASK_GetMaxTask()。
- 函数 GUICC_M1555I_SetCustColorConv()。
- 函数 GUICC_M565_SetCustColorConv()。
- 函数 GUICC_M4444I_SetCustColorConv()。
- 函数 GUICC_M888_SetCustColorConv()。
- 函数 GUICC_M8888I_SetCustColorConv()。
- 函数 GUI_SetFuncAlphaBlending()。
- 函数 GUI_SetFuncGetpPalConvTable()。
- 函数 GUI_SetFuncMixColors()。
- 函数 GUI_SetFuncMixColorsBulk()。
- 函数 GUI_AA_SetpfDrawCharAA4()。
- 函数 GUI_MEMDEV_SetDrawMemdev16bppFunc()。
AS 各种修正。
JE
AS
JE
AS
第 17 章 ‘控件’
- 函数 MULTIPAGE_SetDefaultBorderSizeX()。
- 函数 MULTIPAGE_SetDefaultBorderSizeY()。 各种修正。
第 7 章 ‘2-D 图形库’
- 函数 GUI_DIRTYDEVICE_Create()。
- 函数 GUI_DIRTYDEVICE_CreateEx()。
- 函数 GUI_DIRTYDEVICE_Delete()。
- 函数 GUI_DIRTYDEVICE_DeleteEx()。
- 函数 GUI_DIRTYDEVICE_Fetch()。
- 函数 GUI_DIRTYDEVICE_FetchEx()。
第 9 章 ‘位图转换器’
- 抖动。
第 14 章 ‘内存设备’
- 函数 GUI_MEMDEV_FadeOutDevices()。
- 函数 GUI_MEMDEV_RotateHQAlpha()。
- 函数 GUI_MEMDEV_RotateAlpha()。
- 函数 GUI_MEMDEV_Dither32()。
第 16 章 ‘窗口管理器(WM)’
- 函数 WM_GetScrollbarH()。
- 函数 WM_GetScrollbarV()。
- 函数 WM_SetModalLayer()。
- 函数 WM_GetModalLayer()。
第 17 章 ‘控件’
- 函数 LISTVIEW_EnableCellSelect()。
- 函数 LISTVIEW_GetItemRect()。
- 函数 LISTVIEW_SetItemTextSorted()。
- 函数 MULTIPAGE_EnableScrollBar()。
- 函数 MULTIPAGE_SetBitmap()。
- 函数 MULTIPAGE_SetBitmapEx()。
- 函数 MULTIPAGE_SetTabHeight()。
- 函数 MULTIPAGE_SetTabWidth()。
- 函数 MULTIPAGE_SetTextAlign()。
第 29 章 ‘抗锯齿’
- 函数 GUI_AA_FillEllipse()。
第 31 章 ‘显示驱动’
- 支持 LGDP4525 添加到 GUIDRV_FlexColor.
- 支持 Ilitek ILI9488 添加到 GUIDRV_FlexColor.
- 支持 Himax HX8357 添加到 GUIDRV_FlexColor.
UM03001 emWin V5.42 用户参考手册
© 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG
8
CHAPTER
软 件版本 修订
日 期
作 者
描述
5.24
5.24
5.24
2
140429
1
140225
0
130801
表 0.3: 修订历史
Sc
AS
所有表格添加表格标题,"Permitted values"除外。
第 13 章 ‘颜色’
- 结构’LCD_PHYSPALETTE’。
- 节’Look-up table API’。
- 函数’LCD_SetLUT()’。
- 函数’LCD_SetLUTEx()’。
Sc
AS 各种修正。
JE
第 7 章 ‘2-D 图形库’
- 添加新函数 GUI_CreateBitmapFromStreamA555()。
- 添加新函数 GUI_CreateBitmapFromStreamAM555()。
- 添加新函数 GUI_CreateBitmapFromStreamA565()。
- 添加新函数 GUI_CreateBitmapFromStreamAM565()。
- 添加新函数 GUI_DrawStreamedBitmapA555Ex()。
- 添加新函数 GUI_DrawStreamedBitmapAM555Ex()。
- 添加新函数 GUI_DrawStreamedBitmapA565Ex()。
- 添加新函数 GUI_DrawStreamedBitmapAM565Ex()。
第 9 章 ‘位图转换器’
- 添加新的位图格式: 16bpp + 8 位 alpha 通道。
第 10 章 ‘字体’
- 添加新函数 GUI_TTF_CreateFontAA()。
第 13 章 ‘内存设备’
- 添加新函数 GUI_MEMDEV_ClearAlpha()。
- 添加新函数 GUI_MEMDEV_CreateFixed32()。
- 添加新函数 GUI_MEMDEV_BlendColor32()。
第 16 章 ‘窗口管理器’
- 支持圆周运动。
第 17 章 ‘控件’
- 新的控件"KNOB"。
- 添加新函数 LISTWHEEL_SetDeceleration()。
- 添加新函数 DROPDOWN_SetListHeight()。
- 添加新函数 LISTVIEW_OwnerDraw()。
- 添加新函数 LISTVIEW_SetOwnerDraw()。
- 添加新函数 LISTVIEW_GetWrapMode()。
- 添加新函数 MULTIPAGE_GetPageText()。
- 添加新函数 SPINBOX_SetEditMode()。
- 添加新函数 SPINBOX_SetStep()。
新第 25 章 ’多点触控’。
- 添加新函数 GUI_MTOUCH_Enable()。
- 添加新函数 GUI_MTOUCH_GetEvent()。
- 添加新函数 GUI_MTOUCH_GetTouchInput()。
- 添加新函数 GUI_MTOUCH_IsEmpty()。
- 添加新函数 GUI_MTOUCH_SetOrientation()。
- 添加新函数 GUI_MTOUCH_SetOrientationEx()。
- 添加新函数 GUI_MTOUCH_StoreEvent()。
- 添加新函数 WM_EnableGestures()。
UM03001 emWin V5.42 用户参考手册
© 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG