emWin Release notes,最新版本为V5.20

来源:互联网 发布:eclipse 查看java源码 编辑:程序博客网 时间:2024/05/22 00:28

      看了一下,从V5.12到V5.20的更新。无非是修正一些一般遇不到的bug,增加了一些新的芯片支持。添加了几个widget: tooltip, calendar等。评估了下,暂时不升级。



从MDK安装路径下的\Keil\ARM\Segger\emWin\Doc摘录


Release notes for emWin Version 5.20d

  1. New features
  2. Program corrections
  3. Release history
  4. Miscellaneous

New features / improvements

Version 5.20b

  1. Language Support:
    • New functions added to support application defined text buffers for language resource files: 
      - GUI_LANG_GetTextBuffered() 
      - GUI_LANG_GetTextBufferedEx()

Version 5.20

  1. Core:
    • New color conversions added: GUICC_M8888I, GUICC_M1555I, GUICC_M4444I, GUICC_1616I, GUICC_88666I.
    • New function GUI_SPRITE_CreateHidden() and GUI_SPRITE_CreateHiddenEx() added to be able to create sprites in hidden state.
    • New function GUI_SetOnErrorFunc() added to be able to set up a hook function to be called on serious errors.
  2. Display drivers:
    • GUIDRV_SLin: 
      - Support for S1D13305 added.
    • GUIDRV_FlexColor: 
      - Support for Himax HX8340 and HX8301 added. 
      - Support for Hitachi HD66772 added. 
      - Support for Ilitek ILI9220 and ILI9221 added. 
      - Support for Samsung S6D0117 added. 
      - Support for Sitronix ST7712 added.
  3. Common dialogs:
    • New common dialog CALENDAR added to be able to generate a dialog for selecting a calendar date.
    • New function CALENDAR_Create() added to be able to create a CALENDAR dialog.
    • New function CALENDAR_GetDate() added to be able to get the current date.
    • New function CALENDAR_GetSel() added to be able to get the current selection.
    • New function CALENDAR_SetDate() added to be able to set the current date.
    • New function CALENDAR_SetSel() added to be able to set the current selection.
    • New function CALENDAR_SetDefaultBkColor() added to be able to set the default background colors to be used.
    • New function CALENDAR_SetDefaultColor() added to be able to set the default foreground colors to be used.
    • New function CALENDAR_SetDefaultDays() added to be able to set up the weekday abbreviations to be shown.
    • New function CALENDAR_SetDefaultFont() added to be able to set the default fonts to be used.
    • New function CALENDAR_SetDefaultMonths() added to be able to set the months names to be used.
    • New function CALENDAR_SetDefaultSize() added to be able to set up the default sizes to be used.
  4. VNC-Server:
    • New function GUI_VNC_SetLockFrame() added to be able to manage locking within VNC server on systems with indirect display controller interface.

Version 5.18

  1. Core:
    • Internal global data structure 'GUI_Context' does no longer exist. Use of this structure has been replaced by using the new global pointer 'GUI_pContext'.
  2. BitmapConverter:
    • Support for creating animated sprites and cursors automatically from GIF-files added under 'File/Create animated cursor/sprite from GIF'.
  3. Antialiasing:
    • New function GUI_AA_SetDrawMode() added to be able to use the current background color instead of the content of the frame buffer.
  4. Window manager:
    • New function WM_SetCaptureMove() added to be able to make a window moveable.
    • New functions WM_Screen2hWin() and WM_Screen2hWinEx() added to be able to get the first window handle below the given position.
  5. Widgets:
    • SPINBOX widget: 
      - New function SPINBOX_SetRange() added to be able to set the desired range.
    • LISTVIEW widget: 
      - New function LISTVIEW_SetWrapMode() added to be able to set the desired wrap mode.
    • SPINBOX widget: 
      - New function SPINBOX_SetButtonSize() added to be able to set the horizontal size of the buttons.
    • BUTTON widget: 
      - New function BUTTON_SetReactOnTouch() added to be able to set the reaction mode.
    • TEXT widget: 
      - New function TEXT_GetText() added to be able to get the text of the given widget.
  6. Memory devices:
    • New function GUI_MEMDEV_SerializeBMP() added to be able to save the content of a memory device as a BMP file.
  7. Display drivers:
    • Custom drivers: 
      Need to be reworked because of replacing 'GUI_Context' with 'GUI_pContext'.
    • GUIDRV_FlexColor: 
      GUIDRV_FlexColor_SetInterface66709_B16() replaced by GUIDRV_FlexColor_SetReadFunc66709_B16() 
      GUIDRV_FlexColor_SetInterface66712_B16() replaced by GUIDRV_FlexColor_SetReadFunc66712_B16() 
      GUIDRV_FlexColor_SetInterface66720_B16() replaced by GUIDRV_FlexColor_SetReadFunc66720_B16() 
      - Support for Solomon SSD1284, SSD1289, SSD1298 added. 
      - Support for Himax HX8352B added.
    • GUIDRV_S1D13781: 
      - Reworked in order to support rotation.
    • GUIDRV_Lin: 
      - 1bpp variant of driver now supports display sizes which are a multiples of 8.

Version 5.16

  1. New ToolTip support:
    • New function WM_TOOLTIP_AddTool() added to be able to add a tool to a ToolTip object.
    • New function WM_TOOLTIP_Create() added to be able to create a ToolTip object.
    • New function WM_TOOLTIP_Delete() added to be able to delete a ToolTip object.
    • New function WM_TOOLTIP_SetDefaultFont() added to be able to set the default font to be used to draw the ToolTip text.
    • New function WM_TOOLTIP_SetDefaultColor() added to be able to set the default colors to be used to draw the ToolTips.
    • New function WM_TOOLTIP_SetDefaultPeriod() added to be able to set up the periods to be used with the ToolTips.
  2. New language support:
    • New function GUI_LANG_GetNumItems() added to be able to get the available number of languages.
    • New function GUI_LANG_GetText() added to be able to get a pointer to a text specified by the text index.
    • New function GUI_LANG_GetTextEx() added to be able to get a pointer to a text specified by text index and language index.
    • New function GUI_LANG_LoadCSV() added to be able to read a CSV file with different languages.
    • New function GUI_LANG_LoadCSVEx() added to be able to read a CSV file with different languages without having the complete file in RAM.
    • New function GUI_LANG_LoadText() added to be able to read a text resource file with only one language.
    • New function GUI_LANG_LoadTextEx() added to be able to read a text resource file with only one language without having the complete file in RAM.
    • New function GUI_LANG_SetLang() added to be able to set the current language to be used.
    • New function GUI_LANG_SetMaxNumLang() added to be able to set the maximum available number of languages.
    • New function GUI_LANG_SetSep() added to be able to set the separator to be used within CSV files.
  3. New CHOOSECOLOR dialog:
    • New function CHOOSECOLOR_Create() added to be able to create a dialog for choosing a color.
    • New function CHOOSECOLOR_GetSel() added to be able to get the current selection.
    • New function CHOOSECOLOR_SetSel() added to be able to set the current selection.
    • New function CHOOSECOLOR_SetDefaultColor() added to be able to set the default colors to be used.
    • New function CHOOSECOLOR_SetDefaultSpace() added to be able to set the space between the colors.
    • New function CHOOSECOLOR_SetDefaultBorder() added to be able to set the space between dialog border and color rectangles.
    • New function CHOOSECOLOR_SetDefaultButtonSize() added to be able to set the button size to be used.
  4. New CHOOSEFILE dialog:
    • New function CHOOSEFILE_Create() added to be able to create a dialog for brousing through a directory structure and to select a file.
    • New function CHOOSEFILE_EnableToolTips() added to be able to enable ToolTips within the CHOOSEFILE dialog.
    • New function CHOOSEFILE_SetButtonText() added to be able to set the button text to be used.
    • New function CHOOSEFILE_SetDefaultButtonText() added to be able to set the default button text to be used for new dialogs.
    • New function CHOOSEFILE_SetToolTips() added to be able to set the text shown within the ToolTips.
    • New function CHOOSEFILE_SetTopMode() added to be able to use the button bar at the top of the dialog.
  5. Widgets:
    • ICONVIEW widget: 
      - New function ICONVIEW_EnableStreamAuto() added to be able to use all kinds of streamed bitmaps with the widget.
    • DROPDOWN widget: 
      - New function DROPDOWN_SetUpMode() added to be able to open the widget upwards.
    • SPINBOX widget: 
      - New function SPINBOX_SetButtonSize() added to be able to set the horizontal size of the buttons.
    • BUTTON widget: 
      - New function BUTTON_SetReactOnTouch() added to be able to set the reaction mode.
  6. New touch driver added:
    • New touch driver GUITDRV_ADS7846 added.
  7. Memory devices:
    • New function GUI_MEMDEV_RotateHQT() added to be able to improve the performance with images containing a large amount of completely transparent pixels.
  8. Core:
    • New function GUI_GetKeyState() available to be able to get the current key state (pressed or unpressed).
    • New function GUI_PID_IsPressed() available to be able to check if the PID is currently in pressed state.
    • New function LCD_SetMaxNumColors() available to be able to reduce memory consumption on systems using less than 256 colors.
    • New color conversions GUICC_1_2, GUICC_1_4, GUICC_1_5, GUICC_1_8, GUICC_1_16, GUICC_1_24 added to be able to use the b/w version with drivers written for higher color depths.
  9. Display drivers:
    • GUIDRV_FlexColor: 
      - Support for Ilitek ILI9335, ILI9338, ILI9340, ILI9341, ILI9342 added. 
      - Support for Samsung S6E63D6 added.
    • GUIDRV_SPage: 
      - Support for Sitronix ST7591 added. 
      - Support for Epson S1D15605, S1D15606, S1D15607, S1D15608, S1D15705, S1D15710, S1D15714 added. 
      - Support for Integrated Solutions Technology IST3020 added. 
      - Support for New Japan Radio Company NJU6676 added. 
      - Support for Novatek NT7502, NT7534, NT7538, NT75451 added. 
      - Support for Samsung S6B0719, S6B0713, S6B0724, S6B1713 added. 
      - Support for Sino Wealth SH1101A added. 
      - Support for Sitronix ST7522, ST7565, ST7567 added. 
      - Support for Solomon SSD1805, SSD1303, SSD1815 added. 
      - Support for UltraChip UC1608, UC1701, UC1601, UC1606 added. 
      - Support for Sunplus SPLC501C added. 
      - Support for Epson S1D15E05, S1D15E06, S1D15719, S1D15721 added.
    • GUIDRV_Lin: 
      - New optimised routines for 8bpp available.
    • New driver GUIDRV_S1D13781 available.

Version 5.14

  1. Widgets:
    • SPINBOX widget: 
      - New SPINBOX widget added to be able to spin values up and down.
    • IMAGE widget: 
      - New IMAGE widget added to be able to add images or animations to a window.
    • DROPDOWN widget: 
      - New function DROPDOWN_GetItemText() added to be able to get the text of an item.
    • EDIT widget: 
      - New function EDIT_SetBkColor() added to be able to get the background color of the widget.
  2. Display drivers:
    • GUIDRV_FlexColor: 
      - Support for Solomon SSD1961 added. 
      - Support for Renesas R61526 added. 
      - Support for FocalTech FT1509 added. 
      - Support for Ilitek ILI9342 added. 
      - Support for Himax HX8347 and HX8352 added.
    • GUIDRV_07X1: 
      - Support for Novatek NT7508 added.
    • GUIDRV_Page1bpp: 
      - Support for Solomon SSD1821 added.
  3. Core:
    • Streamed bitmaps: 
      - New function GUI_DrawStreamedBitmap555Ex() added to be able to draw 16bpp bitmaps with 5 bits blue, 5 bits green and 5 bits red from a non addressable area. 
      - New function GUI_DrawStreamedBitmapM555Ex() added to be able to draw 16bpp bitmaps with 5 bits red, 5 bits green and 5 bits blue from a non addressable area. 
      - New function GUI_DrawStreamedBitmap565Ex() added to be able to draw 16bpp bitmaps with 5 bits blue, 6 bits green and 5 bits red from a non addressable area. 
      - New function GUI_DrawStreamedBitmapM565Ex() added to be able to draw 16bpp bitmaps with 5 bits red, 6 bits green and 5 bits blue from a non addressable area. 
      - New function GUI_DrawStreamedBitmap24Ex() added to be able to draw 16bpp bitmaps with 8 bits blue, 8 bits green and 8 bits red from a non addressable area. 
      - New function GUI_DrawStreamedBitmapExAuto() added to be able to draw any kind of currently supported streamed bitmap from a non addressable area. 
      - New function GUI_DrawStreamedBitmapAuto() added to be able to draw any kind of currently supported streamed bitmap.
    • New function GUI_CURSOR_SelectAnim() added to be able to set an animated cursor.
    • New function GUI_SPRITE_CreateAnim() added to be able to create animated sprites.
    • GUIBuilder:
      • Support for IMAGE widget added.
    • Window manager:
      • Motion support added (gesture support): 
        - New function WM_MOTION_Enable() added to be able to enable the motion support of the window managed. 
        - New function WM_MOTION_SetDeceleration() added to be able to set the deceleration of a currently moving window. 
        - New function WM_MOTION_SetDefaultPeriod() added to be able to set the default period of the deceleration period after releasing the PID. 
        - New function WM_MOTION_SetMotion() added to be able to start a window moving operation by defining axis, speed and deceleration. 
        - New function WM_MOTION_SetMoveable() added to be able to make a window 'moveable'. 
        - New function WM_MOTION_SetMovement() added to be able to start a window moving operation by defining axis, speed and distance. 
        - New function WM_MOTION_SetSpeed() added to be able to start a window moving operation by defining axis and speed.
      • WM_MOVE message now sends movement information by a pointer to a WM_MOVE_INFO structure.
    • Simulation:
      • New function SIM_GUI_Enable() added.

    Version 5.12

    1. Core:
      • New function GUI_CopyRect() added to be able to copy rectangular areas.
      • New function GUI_MULTIBUF_UseSingleBuffer() added to be able to use one framebuffer for multiple layers.
      • New color conversions GUICC_666_9 and GUICC_M666_9 added.
    2. Display drivers:
      • New runtime configurable driver GUIDRV_FlexColor which can be used as replacement for GUIDRV_CompactColor.
      • New runtime configurable driver GUIDRV_SPage which can be used as replacement for GUIDRV_1611.
      • New runtime configurable driver GUIDRV_Dist which can be used for multiple controllers on one display.
      • GUIDRV_Lin: 
        - Support for LCD_DEVFUNC_COPYRECT added.
      • GUIDRV_CompactColor_16: 
        - Support for Solomon SSD1961 added.
    3. Memory devices:
      • Drawing of high- and true color memory devices accelerated.
      • New function GUI_MEMDEV_ShiftWindow() added to be able to shift in the content of a new window by shifting out the old content simultaneously.
      • New function GUI_MEMDEV_MarkDirty() added to be able to invalidate a given area.
    4. Widgets:
      • ICONVIEW widget: 
        - New function ICONVIEW_AddStreamedBitmapItem() added to be able to use streamed bitmaps. 
        - New function ICONVIEW_AddStreamedBitmapItem() added to be able to use streamed bitmaps. 
        - New function ICONVIEW_GetItemUserData() added to be able to get item related user data. 
        - New function ICONVIEW_GetItemText() added to be able to get the text of a given item. 
        - New function ICONVIEW_GetNumItems() added to be able to get the number of items of the widget. 
        - New function ICONVIEW_InsertBitmapItem() added to be able to insert a bitmap image. 
        - New function ICONVIEW_InsertStreamedBitmapItem() added to be able to insert a streamed bitmap image. 
        - New function ICONVIEW_SetBitmapItem() added to be able to change the desired bitmap. 
        - New function ICONVIEW_SetFrame() added to be able to change the frame size. 
        - New function ICONVIEW_SetItemText() added to be able to change the item text. 
        - New function ICONVIEW_SetItemUserData() added to be able to set item related user data. 
        - New function ICONVIEW_SetSpace() added to be able to change the space between the items. 
        - New function ICONVIEW_SetStreamedBitmapItem() added to be able to change the desired streamed bitmap. 
        - New function ICONVIEW_SetTextAlign() added to be able to change the text alignment of the widget.
      • LISTWHEEL widget: 
        - New function LISTWHEEL_SetBkColor() added to be able to change the background color.
      • TEXT widget: 
        - New function TEXT_GetNumLines() added to be able to get the number of text lines.
      • TREEVIEW widget: 
        - New function TREEVIEW_SetBitmapOffset() added to be able to add an offset for drawing the plus- and minus bitmap. 
        - New function TREEVIEW_SetIndent() added to be able to change the indention. 
        - New function TREEVIEW_SetOwnerDraw() added to be able to add a custom drawing function. 
        - New function TREEVIEW_SetTextIndent() added to be able to change the text indention.
      • BUTTON widget: 
        - New function BUTTON_SetTextOffset() added to be able to add an offset for drawing the button text.
      • LISTVIEW widget: 
        - New function LISTVIEW_SetHeaderHeight() added to be able to set the height of the header.

    Version 5.10

    1. Widgets:
      • GUIBuilder now available.
    2. Display drivers:
      • GUIDRV_CompactColor_16:
        - Support for Ilitek ILI9328 and ILI9221 added. 
        - Support for Sitronix ST7715.
      • GUIDRV_Bitplains:
        - New function GUIDRV_BitPlains_Config() added to be able to mirror the pixels within a byte.
    3. Memory devices:
      • New function GUI_MEMDEV_MarkDirty() added to be able to mark an area of a memory device as 'touched'.

    Version 5.08

    1. Core:
      • Multiple buffering added to be able to use 'Double Buffering' or 'Tripple Buffering'.
      • New function GUI_MULTIBUF_Config() added to be able to set up multiple buffers.
      • New functions GUI_MULTIBUF_Begin() and GUI_MULTIBUF_End() added to use multiple buffers.
      • New function GUI_UC_EnableBIDI() added to be able to configure the use of bidirectional text at runtime.
      • New function GUI_CreateBitmapFromStreamRLEAlpha() added to be able to use streamed compressed alpha channel bitmaps.
      • New function GUI_CreateBitmapFromStreamRLE32() added to be able to use streamed compressed bitmaps with alpha channel.
      • New function GUI_SetSignalEventFunc() added to be able to set up a function which signals an event.
      • New function GUI_SetWaitEventFunc() added to be able to set up a function which waits for an event.
      • New function GUI_SetWaitEventTimedFunc() added to be able to set up a function which waits for an event for the given period.
      • New function LCD_SetDevFunc() added to be able to add optional display driver routines.
    2. Widgets:
      • New configuration macro WIDGET_USE_FLEX_SKIN which can be used to change the default behavior of the widgets to use 'Skinning' per default.
      • New functions <WIDGET>_SetUserData() added to be able to add custom data to a widget. (This function has been added to all widgets)
      • New functions <WIDGET>_GetUserData() added to be able to retrieve custom data from a widget. (This function has been added to all widgets)
      • New functions <WIDGET>_CreateUser() added to be able to add memory for custom cata to a widget. (This function has been added to all widgets)
      • Interface of LISTWHEEL_SetUserData() and LISTWHEEL_GetUserData() changed because of the new <WIDGET>_SetUserData() functions.
      • Function LISTVIEW_SetUserData() and LISTVIEW_GetUserData() renamed to LISTVIEW_SetUserDataRow() and LISTVIEW_GetUserDataRow() because of the new <WIDGET>_SetUserData() and <WIDGET>_GetUserData() functions.
      • New function BUTTON_SetReactOnLevel() added to be able to set up the button to react on level changes only.
      • New function ICONVIEW_DeleteItem() added to be able to delete single items.
      • New function TREEVIEW_ITEM_CollapseAll() added to be able to collapse each item of the given node.
      • New function TREEVIEW_ITEM_ExpandAll() added to be able to expand each item of the given node.
      • New function SCROLLBAR_SetThumbSizeMin() added to be able to set up the minimum size of the thumb.
      • New function SCROLLBAR_GetThumbSizeMin() added to be able to get the minimum size of the thumb.
      • New function ICONVIEW_CreateIndirect() added to be able to use the widget with the dialog creation functions.
      • New function LISTWHEEL_CreateIndirect() added to be able to use the widget with the dialog creation functions.
      • New function BUTTON_GetTextAlign() added to be able to get the text alignment of the widget.
    3. Memory devices:
      • New function GUI_MEMDEV_SetAnimationCallback() added to be able to set up a function which is called after each step of the animation.
      • New animation function GUI_MEMDEV_ShiftInWindow() added to be able to shift in the given window from the top, left, right or bottom edge.
      • New animation function GUI_MEMDEV_ShiftOutWindow() added to be able to shift out the given window to the top, left, right or bottom edge.
    4. FontConverter:
      • New function 'File/Merge C file' added to be able to merge font files.
      • New command line option 'merge' added to be able to merge font files per command line.
    5. BitmapConverter:
      • New format 'True color with alpha channel, compressed' added to be able to use compressed alpha bitmaps.
      • New format 'Alpha channel, compressed' added to be able to use only the alpha channel with the current foreground color.
      • New function 'Image/Convert Into/Best pPalette + transparency' added to be able to convert alpha bitmaps into palette based bitmaps with transparency.
    6. Window manager:
      • New message WM_PRE_PAINT added which is send to a window immediately before the first WM_PAINT message is send.
      • New message WM_POST_PAINT added which is send to a window immediately after the last WM_PAINT message has been send.
      • New function WM_MULTIBUF_Enable() added to be able to let the window manager use multiple buffers automatically.
      • Automatic use of cache locking and unlocking added.

    Version 5.06

    1. Skinning:
      • Skinning for the most common widgets (BUTTON, CHECKBOX, DROPDOWN, FRAMEWIN, HEADER, PROGBAR, RADIO, SCROLLBAR, SLIDER) added. 
        The following functions are available:
        - <WIDGET>_GetSkinFlexProps() added to retrieve the configurable parameters of the given skin. 
        - <WIDGET>_SetSkinClassic() added to (re)set the classic look and feel of the given widget. 
        - <WIDGET>_SetSkin() added to be able to set the desired skin for the given widget. 
        - <WIDGET>_DrawSkinFlex() added as default callback function of the 'flex'-skin. 
        - <WIDGET>_SetDefaultSkin() added to be able to set a new default skin for new widgets. 
        - <WIDGET>_SetSkinFlexProps() added to be able to configure the default 'flex'-skin by the given configuration structure. 
        - <WIDGET>_SetDefaultSkinClassic() added to set the classic design as default for new widgets.
    2. Memory devices:
      • New function GUI_MEMDEV_FadeDevices() added to be able to smoothly fade the given devices.
      • New function GUI_MEMDEV_FadeInWindow() added to be able to smoothly fade in a given window.
      • New function GUI_MEMDEV_FadeOutWindow() added to be able to smoothly fade out a given window.
      • New function GUI_MEMDEV_MoveInWindow() added to be able to 'move in and optional rotate' a window from a given coordinate.
      • New function GUI_MEMDEV_MoveOutWindow() added to be able to 'move out and optional rotate' a window from a given coordinate.
    3. Core:
      • New function GUI_DrawGradientRoundedV() added to be able to draw vertical gradients with rounded corners.
      • New function GUI_DrawGradientRoundedH() added to be able to draw horizontal gradients with rounded corners.
      • New function GUI_DrawRoundedFrame() added to be able to draw rounded frames.
      • New function GUI_SetDefaultFont() added to be able to set the default font used after GUI_Init().
      • New function GUI_GetPixelIndex() added to be able to get the pixel index value of the given position.
      • New function GUI_UC_EnableBIDI() added to be able to enable bidirectional text support at runtime as required for example for Arabic and Hebrew.
    4. Widgets:
      • New function BUTTON_SetReactOnLevel() added to be able to configure the behavior of BUTTON widgets.
      • New function GRAPH_DATA_XY_SetOwnerDraw() added to be able to set up a owner draw function for the GRAPH_DADA_XY object.
      • New function LISTVIEW_SetItemBitmap() added to be able to set a bitmap to be drawn in the given cell.
      • New function LISTWHEEL_SetPos() added to be able to set the current position of the LISTWHEEL without moving.
      • New function SCROLLBAR_GetNumItems() added to be able to get the appropriate value.
      • New function SCROLLBAR_GetPageSize() added to be able to get the appropriate value.
    5. Multitasking:
      • New function GUITASK_SetMaxTask() added to be able to configure the maximum number of tasks.
    6. Simulation:
      • New function SIM_GUI_SetCallback() added.
      • New function SIM_GUI_ShowDevice() added.
    7. Display drivers:
      • New function GUI_SetOrientation() added.
      • New driver GUIDRV_S1D15G00 added.
      • New driver GUIDRV_SLin added.
      • New driver GUIDRV_S1D13748 added. (Replacement for GUIDRV_13748)
      • New driver GUIDRV_S1D13748 added.
      • GUIDRV_CompactColor_16:
        - Support for Himax HX8353 added. 
        - Support for LGDP4551 added. 
        - Support for Orisetech SPFD54124C added. 
        - Support for Renesas R61505 added. 
        - Support for Sitronix ST7735 and ST7787 added. 
        - Support for Solomon SSD1284 and SSD2119 added.
      • Driver GUIDRV_07X1 added.
      • Driver GUIDRV_Fujitsu_16 added.

    Version 5.04

    1. Display drivers:
      • New driver GUIDRV_BitPlains added.
      • New driver GUIDRV_SLin added.
      • New driver GUIDRV_SSD1926 added.
      • Driver GUIDRV_1611 added.
      • Driver GUIDRV_6331 added.
      • Driver GUIDRV_Page1bpp added.
      • GUIDRV_CompactColor_16: 
        - Support for Himax HX8352 added. 
        - Support for Solomon SSD1355 and SSD1963 added. 
        - Support for Orisetech SPFD5414D added. 
        - Support for Ilitek ILI9320 and ILI9326 added.
    2. VNC server:
      • New function GUI_VNC_EnableKeyboardInput() added.
      • New function GUI_VNC_GetNumConnections() added.
      • New function GUI_VNC_SetPassword() added.
      • New function GUI_VNC_SetProgName() added.
      • New function GUI_VNC_SetSize() added.
      • New function GUI_VNC_RingBell() added.
    3. Core:
      • New function GUI_DispStringInRectWrap() added to draw text within the given rectangle.
      • New function GUI_WrapGetNumLines() added to calculate the required number of lines for the given text.
      • New function GUI_EnableAlpha() added to enable automatic software alpha blending.
      • New function GUI_RestoreUserAlpha() added to restore the previous user alpha value.
      • New function GUI_SetUserAlpha() added to set an additional user alpha blending value.
      • New function GUI_CreateBitmapFromStream() added to create a bitmap from a stream of any format.
      • New function GUI_DrawStreamedBitmapEx() added to draw a streamed bitmap without loading it completely into RAM.
      • New function GUI_GetStreamedBitmapInfo() added to get information about a streamed bitmap.
      • New function GUI_GetStreamedBitmapInfoEx() added to get information about a streamed bitmap which is not located within the addressable CPU area.
      • New function GUI_SetStreamedBitmapHook() added to set a function which can be used to manipulate the palette of a streamed bitmap at runtime.
      • New function GUI_CreateBitmapFromStreamIDX() added to create a bitmap from a stream of an index based bitmap.
      • New function GUI_CreateBitmapFromStreamRLE4() added to create a bitmap from a stream of an RLE4 compressed bitmap.
      • New function GUI_CreateBitmapFromStreamRLE8() added to create a bitmap from a stream of an RLE8 compressed bitmap.
      • New function GUI_CreateBitmapFromStream565() added to create a bitmap from a stream of a high color bitmap.
      • New function GUI_CreateBitmapFromStreamM565() added to create a bitmap from a stream of a high color bitmap.
      • New function GUI_CreateBitmapFromStream555() added to create a bitmap from a stream of a high color bitmap.
      • New function GUI_CreateBitmapFromStreamM555() added to create a bitmap from a stream of a high color bitmap.
      • New function GUI_CreateBitmapFromStreamRLE16() added to create a bitmap from a stream of a RLE compressed high color bitmap.
      • New function GUI_CreateBitmapFromStreamRLEM16() added to create a bitmap from a stream of a RLE compressed high color bitmap.
      • New function GUI_CreateBitmapFromStream24() added to create a bitmap from a stream of a true color bitmap.
      • New function GUI_CreateBitmapFromStreamAlpha() added to create a bitmap from a stream of a true color bitmap with alpha blending.
    4. Fonts:
      • Support for new font formats extended AA2 and extended AA4 added.
      • New framed font F20F_ASCII added.
      • New fonts F6x8_ASCII and F6x8_1 added.
      • New fonts F8x8_ASCII and F8x8_1 added.
      • New fonts F8x16_ASCII and F8x16_1 added.
    5. Keyboard support:
      • Input buffer added.
    6. Pointer input devices:
      • Input buffer added.

    Version 5.02

    1. Core:
      • GUI_DrawBitmapEx(): Support for alpha bitmaps added.
    2. VNC:
      • GUI_VNC_RingBell() added.
      • GUI_VNC_GetNumConnections() added.
    3. Display drivers:
      • GUIDRV_CompactColor_16.c: 
        - Support for Himax HX8340 added. 
        - Support for Solomon SSD1298 added. 
        - Support for Epson S1D19122 added. 
        - Support for cache control added.
      • New driver added to support Sitronix ST7529.

    Program corrections

    Version 5.20d

    1. Display drivers and core:
      • Return value and/or parameter of cache control function not consistent. Problem solved.

    Version 5.20c

    1. GUIBuilder:
      • The tool is not able to open files created by older versions. Problem solved.
    2. GIF-images:
      • Under certain circumstances GUI_GIF_GetInfo() does not return the correct number of subimages. Problem solved.

    Version 5.20b

    1. Widgets:
      • The ICONVIEW widget may be under certain circumstances not displayed properly. Problem solved.
    2. Core:
      • GUI_Exit() does not work correct. Problem solved.
    3. Tools:
      • When creating a dialog containing an IMAGE widget without image using the GUIBuilder, storing and reloading the source code was not done properly. Problem solved.
      • The "New" menu in the GUIBuilder does not contain recently added widgets. Problem solved.

    Version 5.20a

    1. Handling of error-, logging- and warning messages:
      • The character arrays which store the error messages and hex values are dimensioned too small. Problem solved.
      • The function parameters which are used to store hex values are of type int. Should be I32 to make sure the size is 32 bit on every target system. Problem solved.
    2. Widgets:
      • Several CHECKBOX widgets using the FlexSkin can not be of different sizes. Problem solved.
      • Using the LISTWHEEL widget without any items may lead to application crashes. Problem solved.
    3. Simulation:
      • When using Multiple Buffering and Multiple Layers the composite view does not work properly. Problem solved.
    4. Tools:
      • Converting files using Bin2C results in global unsized arrays. Changed to static arrays of a fixed size.
      • Parameter flags for indirect creation may be deleted when storing a file using the GUIBuilder.

    Version 5.18d

    1. Display drivers:
      • Several display driver initialization functions are of type void, but should return an int value. Problem solved.

    Version 5.18c

    1. EDIT widget and BiDi:
      • When EDIT widget is used in "DecMode" and BiDi support is enabled, digits are not displayed. Problem solved.
    2. Language resource:
      • Using a UTF-8 encoded text file as a language resource does not work. Problem solved.
    3. LISTWHEEL widget:
      • Under certain circumstances the LISTWHEEL does not stop moving after a call of LISTWHEEL_MoveToPos(). Problem solved.

    Version 5.18b

    1. Memory allocation:
      • Under certain circumstances the remaining free memory returned by GUI_ALLOC_GetNumFreeBytes() can not be allocated at once. Problem solved.
    2. VNC-server:
      • Using the VNC-server with display drivers having an indirect interface could fail. Problem solved by adding the function GUI_VNC_SetLockFrame().

    Version 5.18a

    1. Sprites:
      • Sprites are not displayed correctly in certain cases. Problem solved.

    Version 5.18

    1. Multitasking support:
      • Working with cursors and similar devices does not work right with multitasking. Problem solved.
    2. BitmapConverter:
      • Animated GIFs are shown as a black square. Problem solved.

    Version 5.16d

    1. GUIDRV_FlexColor:
      • Filling of driver variants with cache too slow. Problem solved.
    2. GUIDRV_S1D13781:
      • Display rotation does not work properly. Problem solved.
      • Illegal pointer access during initialization. Problem solved.
    3. EDIT widget:
      • Editing of values do not work right under certain circumstances. Problem solved.

    Version 5.16c

    1. Window Manager:
      • If the number of invalid rectangles exceeds a certain amount the Window Manager stops working. Problem solved.
      • In certain cases the background of transparent windows is not drawn correctly. Problem solved.

    Version 5.16b

    1. Memory devices:
      • Function pointer _pcbSetAlpha() in GUIDEV_Banding.c had wrong prototype. Problem solved.

    Version 5.16a

    1. Core:
      • Compressed ARGB bitmaps and compressed alpha channel bitmaps don't work right if clipping is required. Problem solved.
    2. MEMDEV:
      • Under certain circumstances GUI_EnableAlpha() does not work right with banding memory devices. Problem solved.

    Version 5.14e

    1. Core:
      • Under certain circumstances allocation of fixed blocks fail in spite of having enough memory. Problem solved.
    2. MEMDEV:
      • Under certain circumstances some pixels are not calculated right when using image rotation (HQ and HQT). Problem solved.

    Version 5.14d

    1. Window manager:
      • Under certain circumstances automatic locking/unlocking of display driver cache (if available) not executed correctly. Problem solved.

    Version 5.14c

    1. VNC-server:
      • Some color modes of RealVNC and TightVNC not supported. Problem solved.
    2. Antialiasing:
      • Function GUI_AA_FillRoundedRect() do not work correctly within window callback routines. Problem solved.
    3. Multitasking:
      • Under certain circumstances GUI_WaitEvent() does not work right. Problem solved.

    Version 5.14b

    1. Streamed bitmaps:
      • Drawing streamed bitmaps from external memory and transparent windows may cause an error. Problem solved.
      • Under certain circumstance drawing streamed bitmaps without palette does not function properly, since buffer allocation is not done correctly. Problem solved.
    2. LISTWHEEL widget:
      • Pressing the LISTWHEEL after LISTWHEEL_MoveToPos() has been used for start turning the LISTWHEEL can't be started again via PID. Problem solved.

    Version 5.14a

    1. SPINBOX widget:
      • Drawing issues may occur when switching between enabled and disabled state and changing the value. Problem solved.
      • Parent window does not receive any notification in case the value is changed. Problem solved.

    Version 5.12g

    1. Core:
      • When drawing rotated text with GUI_ROTATE_CW and GUI_ROTATE_CCW clipping does not work correctly. Problem solved.

    Version 5.12h

    1. Window manager:
      • Under certain circumstances the handles returnd by WM_GetScrollbarH() and WM_GetScrollbarV() are wrong. Problem solved.
    2. LISTBOX widget:
      • LISTBOX_InsertString() and LISTBOX_DeleteString() does not work right under certain circumstances. Problem solved.

    Version 5.12g

    1. Cursor:
      • Usage of different cursors may lead to a repetitive adding of records to the registration of the _OnExit()-function. Problem solved.

    Version 5.12f

    1. MENU widget:
      • Under certain circumstances submenus are not able to receive key messages. Problem solved.
    2. FRAMEWIN widget:
      • FRAMEWIN widgets are not able to be created with Skinning turned on using WIDGET_USE_FLEX_SKIN. Problem solved.
    3. Alpha Blending:
      • Usage of alpha blending leads to a repetitive adding of records to the registration of _OnExit()-functions. Problem solved.
    4. Display Drivers:
      • In case a customer purchases emWin b/w and a display driver which does not support 1bpp mode, emWin is not able to work.
        This problem is solved by creating additional color conversion routines, which convert colors to black and white using 2bpp or 4bpp.

    Version 5.12e

    1. MEMDEV:
      • Writing the content of a 16-bit memory device to a 32-bit memory device does not work properly. Problem solved.
    2. PID:
      • The Window manager causes the function GUI_PID_GetState() to always read the oldest PID state from the PID buffer. Problem solved.

    Version 5.12d

    1. MENU widget:
      • Under certain circumstances submenus without submenu handle don't work. Problem solved.

    Version 5.12c

    1. Core:
      • Superfluous copy operation of payload data of topmost free memory block. Problem solved.

    Version 5.12b

    1. FRAMEWIN widget:
      • When working with FRAMEWIN_SetSkin() all skinned FRAMEWIN widgets use the same callback function. Problem solved.
    2. EXT fonts:
      • When GUIPROP_EXT__ClearLine() is called with Len <= 0 drawing the background could be wrong. Problem solved.

    Version 5.12a

    1. Memory devices:
      • Under certain circumstances drawing of 32bpp memory devices on systems with a color depth of 24bpp or higher could fail. Problem solved.
      • Use of automatically memory devices on systems short on memory could lead in memory consumption. Problem solved.
      • Window animation functions can fail under certain circumstances and lead in undefined behavior. Problem solved.
    2. Core:
      • If memory allocation fails because of too less memory blocks, the amount of remaining memory becomes invalid. Problem solved.
    3. Window manager:
      • After creating windows or memory devices when processing the WM_PRE_PAINT message, drawing of the window could be wrong. Problem solved.

    Version 5.10b

    1. SIF fonts:
      • GUI_SIF__GetCharInfo_ExtFrm() does not read all required variables for GUI__GetOverlap(). Problem solved.

    Version 5.10a

    1. XBF fonts:
      • Buffer in GUI_XBF__GetCharInfo() too small. Problem solved.

    Version 5.08e

    1. Memory devices (1bpp):
      • Drawing of 1bpp memory devices with transparency is limited on multiples of 8 for position and size. Problem solved
      • Under certain circumstances drawing of text with GUI_TM_XOR does not work completely right with 1bpp memory devices. Problem solved
    2. EDIT widget:
      • Under certain circumstances an invalid pointer is used in function _InsertChar(). Problem solved
    3. LISTVIEW widget:
      • Under certain circumstances LISTVIEW_SetItemBitmap() with high color bitmaps causes a warning: 'Locked handles exist'. Problem solved

    Version 5.08d

    1. Display driver cache management:
      • LCD_ControlCache() does not use GUI__ManageCacheEx(). Problem solved.
    2. PROGBAR widget:
      • Skinning routine does not work right when PROGBAR_SetText() was used. Problem solved

    Version 5.08c

    1. Touch Analog:
      • The function GUI_TOUCH_SetOrientationPhys() is not working correctly. Problem solved.
    2. BiDi:
      • IAR ARM compiler V6.10.2 does not translate GUI__BiDi.c because of a tool internal error. emWin code changed to be able to work with compiler bug.
    3. Displaying strings:
      • Trying to display a string with a not existing character at the end of a line can cause the line to be not aligned correctly. Problem solved.

    Version 5.08b

    1. GUI_PID:
      • PID buffer entries are not stored correctly. Problem solved.

    Version 5.08a

    1. String alignment:
      • Under certain circumstances string alignment does not work right. Problem solved.
    2. Bidirectional text:
      • Mixed strings with only one single RTL character at the beginning are not shown right. Problem solved.

    Version 5.06d

    1. Display drivers:
      • GUIDRV_Lin drawing of 8bpp device dependent bitmaps does not work right on 16 bit CPUs. Problem solved.
    2. MENU widget:
      • Under certain circumstances submenus are not completely visible. Problem solved.

    Version 5.06c

    1. Drawing BMP-files:
      • Under certain circumstances drawing of BMP files fails. Problem solved.

    Version 5.06b

    1. Display drivers:
      • GUIDRV_SSD1926 and GUIDRV_Lin for 1, 2, 4 and 8bpp does not work completely right with 16 bit CPUs. Problem solved.
    2. Widget library:
      • Some warnings wiht 16 bit CPUs and GUI_DEBUG_LEVEL > 1. Problem solved.
    3. Color conversion:
      • GUICC_233 does not work right with 16 bit CPUs. Problem solved.

    Version 5.06a

    1. Memory devices:
      • The window effect functions do not return 0 on success. Problem solved.
    2. SCROLLBAR widget:
      • Scrollbar does not stop moving at the desired position when keeping pressed shaft area. Problem solved.
    3. LISTBOX widget:
      • Under certain circumstances scrolling per keyboard does not work completely right. Problem solved.
    4. RADIO_SKIN_FLEX:
      • Under certain circumstances the focus rectangle is not initialized right. Problem solved.
    5. Core:
      • Drawing of horizontal and rounded gradients fail if both colors are the same. Problem solved.

    Version 5.04h

    1. TREEVIEW widget:
      • Under certain circumstances TREEVIEW_GetItem() returns a wrong handle. Problem solved.

    Version 5.04g

    1. Cache control:
      • Under certain circumstances the function LCD_ControlCache() does not work right. Problem solved.
    2. LISTWHEEL widget:
      • Under certain circumstances a variable was not initialized. Problem solved.

    Version 5.04f

    1. RADIO widget:
      • When using custom bitmaps under certain circumstances the button text is not aligned to the button images. Problem solved.

    Version 5.04e

    1. EDIT widget:
      • Function EDIT_SetCursorAtChar() does not use ..LOCK() and ..UNLOCK(). Problem solved.

    Version 5.04d

    1. XBF font format:
      • XBF fonts do not work on big endian systems. Problem solved.

    Version 5.04c

    1. Bitmaps:
      • Under certain circumstances 16 bit bitmaps are not drawn on systems with a color depth of 24bpp. Problem solved.

    Version 5.04b

    1. Widget library:
      • Deleting EDIT or MULTIEDIT widget with blinking cursors cause an undefined behaviour. Problem solved.
    2. JPEG images:
      • Downscaling does not work correct under certain circumstances. Problem solved.

    Version 5.04a

    1. Simulation:
      • Reading back pixel information fails if WM is not used. Problem solved.
    2. WM:
      • Function WM__PaintWinAndOverlays() had no prototype. Problem solved.

    Version 5.02n

    1. LISTVIEW widget:
      • Under certain circumstances locked handles exist when calling the parents callback function. Problem solved.

    Version 5.02m

    1. Core:
      • Some drivers require the function LCD__GetColorIndex() which does not exist. Problem solved.

    Version 5.02l

    1. Window manager & alpha blending:
      • Under certain circumstances the window manager does not recalculate pointers after drawing operations. Problem solved.

    Version 5.02k

    1. LISTVIEW widget:
      • The header position is not updated correctly when using the thumb area of the scrollbar. Problem solved.
    2. GUIDRV_LIN_xxx_24:
      • The 24 bit versions of the driver won't work right because of using a wrong address offset. Problem solved.

    Version 5.02i

    1. Simulation:
      • Under certain circumstances modal dialogs do not receive the release message of a button. Problem solved.
    2. DROPDOWN widget:
      • Memory locking problem under certain circumstances in DROPDOWN_Expand(). Problem solved.
    3. JPEG decoding:
      • Under certain circumstances decoding of progressive JPEGS fails. Problem solved.
    4. Core:
      • Under certain circumstances a pointer in the device structure was not initialized. Problem solved.

    Version 5.02h

    1. ICONVIEW widget:
      • Under certain circumstances a pointer in the drawing routine became invalid. Problem solved.

    Version 5.02g

    1. Display driver:
      • Driver migration GUIDRV_6331.c added.

    Version 5.02f

    1. Display driver:
      • Driver migration GUIDRV_13700.c added.

    Version 5.02e

    1. Streamed bitmaps:
      • Beta version of drawing streamed bitmaps from non addressable media added.

    Version 5.02d

    1. TREEVIEW widget:
      • Problem with TREEVIEW_GET_LAST. Problem solved

    Version 5.02c

    1. General:
      • Removed some warnings wit IAR compiler.

    Version 5.02b

    1. BMP files:
      • Drawing BMP files with a negative horizontal position does not work right. Problem solved.

    Version 5.02a

    1. XBF Fonts:
      • Characters with a negative cursor offset are not shown right. Problem solved.

    Version 5.02

    1. VNC:
      • Connection closed when copying text into clipboard of host. Problem solved.

    Release history

    VersionRelease dateAvailabilityV5.20d2013-04-10Point releaseV5.20c2013-03-19General releaseV5.20b2013-03-07Point releaseV5.20a2013-03-01Point releaseV5.202013-02-18Point releaseV5.18d2012-11-29Point releaseV5.18c2012-11-06Point releaseV5.18b2012-10-05Point releaseV5.18a2012-10-02Point releaseV5.182012-09-17General releaseV5.16d2012-09-04Point releaseV5.16c2012-08-16Point releaseV5.16b2012-06-25Point releaseV5.16a2012-06-21Point releaseV5.162012-06-04General releaseV5.14e2012-05-02Point releaseV5.14d2012-02-15Point releaseV5.14c2012-02-08Point releaseV5.14b2012-02-01General releaseV5.14a2012-01-25Point releaseV5.142011-01-13Point releaseV5.12i2011-12-16Point releaseV5.12h2011-10-27Point releaseV5.12g2011-08-16Point releaseV5.12f2011-08-16Point releaseV5.12e2011-08-09Point releaseV5.12d2011-07-27Point releaseV5.12c2011-07-25General releaseV5.12b2011-07-21Point releaseV5.12a2011-07-18General releaseV5.122011-06-28General releaseV5.10b2011-05-30Point releaseV5.10a2011-05-04Point releaseV5.102011-03-30General releaseV5.08e2011-03-09Point releaseV5.08d2011-03-07Point releaseV5.08c2011-02-16Point releaseV5.08b2011-02-08Point releaseV5.08a2011-01-25Point releaseV5.082011-01-12General releaseV5.06d2011-01-03Point releaseV5.06c2010-11-30Point releaseV5.06b2010-11-23Point releaseV5.06a2010-10-22General releaseV5.062010-09-09General releaseV5.04h2010-06-08Point releaseV5.04g2010-05-16Point releaseV5.04f2010-04-14Point releaseV5.04e2010-03-23Point releaseV5.04d2010-03-08Point releaseV5.04c2010-02-26Point releaseV5.04b2010-02-03Point releaseV5.04a2010-01-14Point releaseV5.042010-01-04General releaseV5.02n2009-12-15Point releaseV5.02m2009-12-14Point releaseV5.02l2009-12-10Point releaseV5.02k2009-11-24Point releaseV5.02i2009-10-29Point releaseV5.02h2009-10-09Point releaseV5.02g2009-10-07Point releaseV5.02f2009-10-01Point releaseV5.02e2009-09-24Point releaseV5.02d2009-09-21Point releaseV5.02c2009-07-28Point releaseV5.02b2009-07-23Point releaseV5.02a2009-07-02Point releaseV5.022009-06-16Point releaseV5.002009-04-02First version covered by this document

    Miscellaneous

    This document was first released with version 5.00 of the software. Software released earlier is documented internally. This information is available at request.


    原创粉丝点击