Release notes for emWin Version 5.26a
- New features
- Program corrections
- Release history
- Miscellaneous
Version 5.26
- Core:
- New DIRTYDEVICE object added to be able to monitor screen changes.
- BitmapConverter:
- MemoryDevices:
- New function GUI_MEMDEV_FadeOutDevices() added to be able to smoothly fade out the given foreground device from the given background device.
- New function GUI_MEMDEV_RotateHQAlpha() added to be able to scale and rotate the given memory device in high quality and blending it in using the given alpha value.
- New function GUI_MEMDEV_RotateAlpha() added to be able to scale and rotate the given memory device and blending it in using the given alpha value.
- New function GUI_MEMDEV_Dither32() added to be able to dither 32bpp memory devices at runtime.
- WindowManager:
- New function WM_GetScrollbarH() added to be able to get the handle of an attached horizontal scroll bar.
- New function WM_GetScrollbarV() added to be able to get the handle of an attached vertical scroll bar.
- New function WM_SetModalLayer() added to be able to limit touch input to only one layer.
- New function WM_GetModalLayer() added to be able to get the current modal layer.
- Widgets:
- LISTVIEW widget:
- New function LISTVIEW_EnableCellSelect() added to be able to switch from row select mode (default) to cell select mode.
- New function LISTVIEW_GetItemRect() added to be able to get the rectangle of the given cell.
- New function LISTVIEW_SetItemTextSorted() added to be able to set the content of a cell by addressing the row by the sorted index.
- MULTIPAGE widget:
- New function MULTIPAGE_EnableScrollBar() added to be able to enable/disable the automatic scrollbar.
- New function MULTIPAGE_SetBitmapEx() added to be able to set a bitmap to be shown at the specified offset in the tab of the given page.
- New function MULTIPAGE_SetBitmap() added to be able to set a bitmap to be shown in the tab of the given page.
- New function MULTIPAGE_SetTabWidth() added to be able to set the tab with of the given page.
- New function MULTIPAGE_SetTabHeight() added to be able to set the tab height of the widget.
- New function MULTIPAGE_SetTextAlign() added to be able to set the text alignment used to show the tab text of the widget.
- Display drivers:
- GUIDRV_FlexColor:
- Support for LG Electronics LGDP4525 added.
- Support for Ilitek ILI9488 added.
- Support for Himax HX8357 added.
- Support for RAIO RA8875 added.
- GUIDRV_SPage:
- Support for OriseTech SPLC502B added.
Version 5.24
- MultiTouch support (New):
- New function GUI_MEMDEV_BlurWinBk() added to be able to blur the background of the given window within the given period.
- New function GUI_MTOUCH_Enable() added to be able to enable and disable multi touch support.
- New function GUI_MTOUCH_GetEvent() added to be able to retrieve a multi touch event.
- New function GUI_MTOUCH_GetTouchInput() added to be able to retrieve touch point information of a multi touch event.
- New function GUI_MTOUCH_IsEmpty() added to be able to check if the multi touch buffer is empty or not.
- New function GUI_MTOUCH_SetOrientation() added to be able to configure the orientation of the MTouch screen.
- New function GUI_MTOUCH_StoreEvent() added to be able to put an event into the MTouch buffer of emWin.
- Memory devices:
- New function GUI_MEMDEV_ClearAlpha() added to be able to clear the alpha values of a 32 bpp memory device specified by a mask device for defining the area to be used.
- New function GUI_MEMDEV_CreateFixed32() added to be able to create a 32 bpp memory device.
- New function GUI_MEMDEV_BlendColor32() added to be able to blend a 32 bpp memory device with the given color and the given intensity.
- Antialiasing:
- New function GUI_AA_PreservreTrans() added to be able to preserve the transparency information when drawing into a 32 bpp memory device.
- TTF-Font Support:
- New function GUI_TTF_CreateFontAA() added to be able to use antialiased TTF-fonts.
- Window manager:
- New function WM_EnableGestures() added to be able to receive WM_GESTURE messages.
- Support for circular motion added.
- Widgets:
- KNOB widget (New):
- New function KNOB_AddValue() added to be able to turn the knob via application.
- New function KNOB_GetValue() added to be able to get the current turning position.
- New function KNOB_SetBkColor() added to be able to change the transparent background to a dedicated color.
- New function KNOB_SetBkDevice() added to be able to set a memory device for drawing the background.
- New function KNOB_SetDevice() added to be able to specify the appearance of the knob.
- New function KNOB_SetKeyValue() added to be able to specify the amount of steps as keyboard reaction.
- New function KNOB_SetOffset() added to be able to specify an offset for the drawing operation.
- New function KNOB_SetPeriod() added to be able to set up the period used to stop the knob.
- New function KNOB_SetPos() added to be able to set the knob to a dedicated position.
- New function KNOB_SetRange() added to be able to specify the range for movement.
- New function KNOB_SetSnap() added to be able to set up snapping operations.
- New function KNOB_SetTickSize() added to be able to set up the smallest unit of movement.
- LISTWHEEL widget:
- New function LISTWHEEL_SetDeceleration() added to be able to set up the deceleration used to stop the motion.
- DROPDOWN widget:
- New function DROPDOWN_SetListHeight() added to be able to set up the height of the expanded dropdown list.
- ICONVIEW widget:
- New function ICONVIEW_CreateIndirect() added to be able to use the widget within dialog resource tables.
- ICONVIEW widget:
- New function LISTVIEW_OwnerDraw() added to be able to be able to manage the default drawing operation of a cell.
- New function LISTVIEW_SetOwnerDraw() added to be able to set up a custom function for drawing a cell.
- New function LISTVIEW_GetWrapMode() added to be able to return the current text wrapping mode.
- MULTIPAGE widget:
- New function MULTIPAGE_GetPageText() added to be able to retrieve the label of the given page.
- SPINBOX widget:
- New function SPINBOX_SetEditMode() added to be able to set up the desired mode ('SPINBOX_EM_STEP' or 'SPINBOX_EM_EDIT').
- New function SPINBOX_SetStep() added to be able to set the increment used for one step.
- Display drivers:
- GUIDRV_FlexColor:
- Support for Ilitek ILI9163 added.
- Support for RAIO RA8870 added.
- GUIDRV_SLin:
- Support for Solomon SSD1351 added.
- Support for RAIO RA8835 added.
- GUIDRV_SPage:
- Support for Samsung S6B0108 added.
- Support for Hitachi HD61202 added.
- Core:
- Support for new bitmap formats with 16bpp color information and 8 bit alpha channel added.
- Streamed bitmaps:
- New function GUI_DrawStreamedBitmapA555Ex() added to be able to draw 16bpp bitmaps with 5 bits blue, 5 bits green and 5 bits red and 8 bit alpha channel from a non addressable area.
- New function GUI_DrawStreamedBitmapAM555Ex() added to be able to draw 16bpp bitmaps with 5 bits red, 5 bits green and 5 bits blue and 8 bit alpha channel from a non addressable area.
- New function GUI_DrawStreamedBitmapA565Ex() added to be able to draw 16bpp bitmaps with 5 bits blue, 6 bits green and 5 bits red and 8 bit alpha channel from a non addressable area.
- New function GUI_DrawStreamedBitmapAM565Ex() added to be able to draw 16bpp bitmaps with 5 bits red, 6 bits green and 5 bits blue and 8 bit alpha channel from a non addressable area.
- New functions GUI_CreateBitmapFromStreamA555(), GUI_CreateBitmapFromStreamAM555(), GUI_CreateBitmapFromStreamA565() and GUI_CreateBitmapFromStreamAM565() added to be able to create the appropriate bitmap structures.
- New function LCD_SetChromaEx() added to be able to set the chroma value used for transparency operations by the LCD-controller.
- New function LCD_SetChromaModeEx() added to be able to specify the chroma mode to be used.
- New function LCD_SetAlpha() added to be able to set the alpha value for the given layer.
- New function LCD_SetAlphaModeEx() added to be able to specify the alpha mode.
- New function LCD_SetVisEx() added to be able to set up the visibility of the given layer.
- Touch drivers:
- New multi touch driver for PIXCIR Tango C32 added.
Version 5.22g
- Display drivers:
- GUIDRV_FlexColor:
- Support for Solomon SSD1351 added.
Version 5.22
- Core:
- Movie support (NEW):
- New function GUI_MOVIE_Create() added to be able to create a movie handle for a file located within the addressable CPU memory area.
- New function GUI_MOVIE_CreateEx() added to be able to create a movie handle for a file not located within the addressable CPU memory area.
- New function GUI_MOVIE_Delete() added to be able to delete a movie handle.
- New function GUI_MOVIE_GetFrameIndex() added to be able to get the index of the current frame.
- New function GUI_MOVIE_GetInfo() added to be able to fill an information structure for a file located within the addressable CPU memory area.
- New function GUI_MOVIE_GetInfoEx() added to be able to fill an information structure for a file not located within the addressable CPU memory area.
- New function GUI_MOVIE_GetPos() added to be able to get the position used to show the movie.
- New function GUI_MOVIE_GotoFrame() added to be able to set the index of the frame to be shown at next.
- New function GUI_MOVIE_Pause() added to be able to stop the movie.
- New function GUI_MOVIE_Play() added to be able to continue playing the movie.
- New function GUI_MOVIE_SetPeriod() added to be able to set the period used for each frame.
- New function GUI_MOVIE_SetPos() added to be able to set the position used to show the movie.
- New function GUI_MOVIE_Show() added to be able to start playing the given movie at the given position.
- Timer support (NEW):
- New function GUI_TIMER_Create() added to be able to create a timer.
- New function GUI_TIMER_Delete() added to be able to delete a timer.
- New function GUI_TIMER_Restart() added to be able to restart a timer.
- New function GUI_TIMER_SetPeriod() added to be able to set the period to be used by the timer.
- Sprites:
- New function GUI_SPRITE_SetLoop() added to be able to set or clear the loop flag of the given sprite.
- New function GUI_SPRITE_StartAnim() added to be able to start a sprite animation.
- New function GUI_SPRITE_StopAnim() added to be able to stop a sprite animation.
- Color conversion:
- New color conversion GUICC_8 for using 256 levels of gray added.
- Widgets:
- Multipage widget:
- MULTIPAGE_SKIN_FLEX added to be able to support skinning for this widget (NEW).
- New function MULTIPAGE_GetSkinFlexProps() added to be able to get the current flex skin properties.
- New function MULTIPAGE_SetDefaultSkin() added to be able to set the default skin to be used for new widgets.
- New function MULTIPAGE_SetDefaultSkinClassic() added to be able to use the classic skin for new widgets.
- New function MULTIPAGE_SetSkinClassic() added to be able to set the classic look for the given widget.
- New function MULTIPAGE_SetSkin() added to be able to set a custom skinning function to be used for the given widget.
- New function MULTIPAGE_SetSkinFlexProps() added to be able to set the flex skin properties.
- New function MULTIPAGE_GetPageText() added to be able to get the label text of the given page.
- Menu widget:
- MENU_SKIN_FLEX added to be able to support skinning for this widget (NEW).
- New function MENU_GetSkinFlexProps() added to be able to get the current flex skin properties.
- New function MENU_SetDefaultSkin() added to be able to set the default skin to be used for new widgets.
- New function MENU_SetDefaultSkinClassic() added to be able to use the classic skin for new widgets.
- New function MENU_SetSkinClassic() added to be able to set the classic look for the given widget.
- New function MENU_SetSkin() added to be able to set a custom skinning function to be used for the given widget.
- New function MENU_SetSkinFlexProps() added to be able to set the flex skin properties.
- Graph widget:
- New function GRAPH_SetAutoScrollbar() added to be able to enable automatic use of scrollbars.
- New function GRAPH_GetScrollValue() added to be able to get the current scroll position.
- New function GRAPH_SetScrollValue() added to be able to set the scroll position.
- Checkbox widget:
- New function CHECKBOX_SetSkinFlexButtonSize() added to be able to set the size of the button used for the given widget.
- Multiedit widget:
- New function MULTIEDIT_SetFocussable() added to be able to set the focusability of the given widget.
- Iconview widget:
- New function ICONVIEW_SetIconAlign() added to be able to set the icon alignment to be used.
- Treeview widget:
- New function TREEVIEW_ScrollToSel() added to be able to scroll to the currently selected item.
- Listwheel widget:
- New function LISTWHEEL_GetItemFromPos() added to be able to return the item of the given position.
- Image widget:
- Widget now sends notification messages WM_NOTIFICATION_CLICKED, WM_NOTIFICATION_RELEASED and WM_NOTIFICATION_MOVED_OUT.
- Text widget:
- Widget now sends notification messages WM_NOTIFICATION_CLICKED, WM_NOTIFICATION_RELEASED and WM_NOTIFICATION_MOVED_OUT.
- Memory devices:
- New function GUI_MEMDEV_BlurWinBk() added to be able to blur the background of the given window within the given period.
- New function GUI_MEMDEV_BlurAndBlendWinBk() added to be able to blur and blend the background of the given window with the given color within the given period
- New function GUI_MEMDEV_BlendWinBk() added to be able to blend the background of the given window with the given color within the given period
- New function GUI_MEMDEV_CreateBlurredDevice32HQ() added to be able to create a blurred device using the high quality algorithm.
- New function GUI_MEMDEV_CreateBlurredDevice32LQ() added to be able to create a blurred device using the low quality algorithm.
- New function GUI_MEMDEV_CreateBlurredDevice32() added to be able to create a blurred device.
- New function GUI_MEMDEV_PunchOutDevice() added to be able to punch out an area of a given 32 bpp memory device defined by an 8 bit mask device.
- New function GUI_MEMDEV_RotateHR() added to be able to scale and rotate the given memory device in low quality and position it with subpixel coordinates.
- New function GUI_MEMDEV_RotateHQHR() added to be able to scale and rotate the given memory device in high quality and position it with subpixel coordinates.
- New function GUI_MEMDEV_SetBlurHQ() added to be able to set the desired blurring algorithm for GUI_MEMDEV_CreateBlurredDevice32() and the window effect functions to high quality.
- New function GUI_MEMDEV_SetBlurLQ() added to be able to set the desired blurring algorithm for GUI_MEMDEV_CreateBlurredDevice32() and the window effect functions to low quality.
- Antialiasing:
- New function GUI_AA_FillRoundedRect() added to be able to draw a filled rectangle with antialiased rounded corners by using the given coordinates.
- New function GUI_AA_FillRoundedRectEx() added to be able to draw a filled rectangle with antialiased rounded corners by using the given rectangle.
- New function GUI_AA_DrawRoundedRect() added to be able to draw a rectangle with antialiased rounded corners by using the given coordinates.
- New function GUI_AA_DrawRoundedRectEx() added to be able to draw a rectangle with antialiased rounded corners by using the given rectangle.
- Display drivers:
- New driver GUIDRV_UC1698G added.
- GUIDRV_FlexColor:
- Support for custom defined reading functions added.
- GUIDRV_SPage:
- Support for Solomon SSD1306 added.
Version 5.20
- 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.
- 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.
- 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 monts names to be used.
- New function CALENDAR_SetDefaultSize() added to be able to set up the default sizes to be used.
- 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
- 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'.
- BitmapConverter:
- Support for creating animated sprites and cursors automatically from GIF-files added under 'File/Create animated cursor/sprite from GIF'.
- Antialiasing:
- New function GUI_AA_SetDrawMode() added to be able to use the current background color instead of the content of the frame buffer.
- 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.
- 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.
- Memory devices:
- New function GUI_MEMDEV_SerializeBMP() added to be able to save the content of a memory device as a BMP file.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- New touch driver added:
- New touch driver GUITDRV_ADS7846 added.
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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
- Widgets:
- GUIBuilder now available.
- 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.
- Memory devices:
- New function GUI_MEMDEV_MarkDirty() added to be able to mark an area of a memory device as 'touched'.
Version 5.08
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- Multitasking:
- New function GUITASK_SetMaxTask() added to be able to configure the maximum number of tasks.
- Simulation:
- New function SIM_GUI_SetCallback() added.
- New function SIM_GUI_ShowDevice() added.
- 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
- 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.
- 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.
- 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.
- 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.
- Keyboard support:
- Pointer input devices:
Version 5.02
- Core:
- GUI_DrawBitmapEx(): Support for alpha bitmaps added.
- VNC:
- GUI_VNC_RingBell() added.
- GUI_VNC_GetNumConnections() added.
- 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.
Version 5.26a
- Bitmap converter:
- Saving streamed bitmap files with 16bpp and 8 bit alpha channel results fails with an empty DTA file. Problem solved.
- Streamed bitmaps:
- Drawing of streamed bitmap files with 16bpp and 8 bit alpha channel fails. Problem solved.
Version 5.24h
- Language support:
- When using a single record in a CSV file, the number of languages is determined wrong. Problem solved.
- Widgets:
- When deleting a MENU widget it does not delete its submenus automatically. Problem solved.
- Under certain circumstances using the function DROPDOWN_SetItemDisabled() might cause Problem solved.
- Core, Widgets, Memory devices:
- Some limit checks corrected when writing into arrays.
- Some additional pointer checks added.
Version 5.24g
- GUIBuilder:
- When reloading the source file previously saved with the GUIBuilder the function 'Set max length' of the EDIT widget does not work right. Problem solved.
- SPINBOX widget has no context menu. Problem solved.
- Widgets:
- Under certain circumstances HEADER widgets are not shown right. Problem solved.
Version 5.24f
- Widgets:
- When deleting a GRAPH widget under certain circumstances not all memory is freed. Problem solved.
- TREEVIEW_IncSel() used with an empty widget leads in an endless loop. Problem solved.
Version 5.24e
- Antialiasing:
- Rotated text not shown correct if AA4 SIF standard fonts are used. Problem solved.
- Rotated text not shown correct if AA2 SIF standard fonts are used. Problem solved.
- JPEG decoder:
- Colors of decoded JPEGs not completely correct. Problem solved.
- Decoder now ends decoding if wrong color space is detected instead of showing a wrong image. Problem solved.
Version 5.24d
- Widgets:
- BUTTON_GetTextAlign() falsely invalidates the window. Problem solved.
- Deactivating items of a DROPDOWN does not work. Problem solved.
- TTF font support:
- Working with antialiased fonts does not work under all circumstances. Problem solved.
- Window manager (motion support):
- Setting speed to 0 falsely creates a timer. Problem solved.
Version 5.24c
- Window manager (motion support):
- Under certain circumstances motion support is not able to move any window. Problem solved.
Version 5.24b
- Core:
- Movies don't work on big endian targets. Problem solved.
Version 5.24a
- Display drivers:
- GUIDRV_Lin: Macro 'MIRROR()' does not exist if LCD_ENDIAN_BIG is defined. Problem solved.
- Widgets:
- MULTIPAGE widget does not compile with 'GUI_SUPPORT_ROTATION 0'. Problem solved.
- Core:
- If very short on memory under certain circumstances JPEG decoder could crash. Problem solved.
Version 5.22f
- Linker:
- Problem with MSVC2012-linker: "error LNK2026:module unsafe for SAFESEH image". Problem solved.
- Core:
- GUI_DrawStreamedBitmapExAuto() does not work with alpha bitmaps. Problem solved.
- Under certain circumstances GUI_IsInFont() does not work right with SIF-fonts. Problem solved.
Version 5.22e
- Core:
- Compiling of LCD_NextPixelAPI.c does not work with TI Code Composer Studio. Problem solved.
Version 5.22d
- BitmapConverter:
- Transparency is not preserved automatically when loading GIF files. Problem solved.
Version 5.22c
- Widgets:
- MULTIPAGE widget does not react on touch event under certain circumstances. Problem solved.
- Display drivers:
- GUIDRV_SPage.c Support for Samsung S6B0108 (KS0108) added.
Version 5.22b
- Display drivers:
- GUIDRV_07X1.c generates warnings caused by changing the interface. Problem solved.
- GUIDRV_FlexColor_Func66709.c: Reading back pixel with GUIDRV_FLEXCOLOR_READ_FUNC_II and 16 bit interface does not work. Problem solved.
Version 5.22a
- Bitmap Converter:
- The Bitmap Converter does not use the same color conversion routines as emWin does. Problem solved.
Version 5.20h
- Memory devices:
- Automatic memory devices with a color depth of 32bpp should not create a usage object. Problem solved.
- Antialiased text:
- IAR ARM compiler does not translate GUIAA_Char2.c right when with optimization and CortexA5 target. Problem solved.
Version 5.20g
- Streamed bitmaps:
- In certain cases streamed bitmaps could not be displayed at a position y > 0. Problem solved.
Version 5.20f
- Display drivers:
- Additional syncronization macro calls included in driver GUIDRV_L5F30919.
Version 5.20e
- Display drivers:
- GUIDRV_FlexColor was not able to set the desired read function. Problem solved.
Version 5.20d
- Display drivers and core:
- Return value and/or parameter of cache control function not consistent. Problem solved.
Version 5.20c
- GUIBuilder:
- The tool is not able to open files created by older versions. Problem solved.
- GIF-images:
- Under certain circumstances GUI_GIF_GetInfo() does not return the correct number of subimages. Problem solved.
Version 5.20b
- Widgets:
- The ICONVIEW widget may be under certain circumstances not displayed properly. Problem solved.
- Core:
- GUI_Exit() does not work correct. Problem solved.
- 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
- 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.
- 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.
- Simulation:
- When using Multiple Buffering and Multiple Layers the composite view does not work properly. Problem solved.
- 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
- Display drivers:
- Several display driver initialization functions are of type void, but should return an int value. Problem solved.
Version 5.18c
- EDIT widget and BiDi:
- When EDIT widget is used in "DecMode" and BiDi support is enabled, digits are not displayed. Problem solved.
- Language resource:
- Using a UTF-8 encoded text file as a language resource does not work. Problem solved.
- LISTWHEEL widget:
- Under certain circumstances the LISTWHEEL does not stop moving after a call of LISTWHEEL_MoveToPos(). Problem solved.
Version 5.18b
- Memory allocation:
- Under certain circumstances the remaining free memory returned by GUI_ALLOC_GetNumFreeBytes() can not be allocated at once. Problem solved.
- 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
- Sprites:
- Sprites are not displayed correctly in certain cases. Problem solved.
Version 5.18
- Multitasking support:
- Working with cursors and similar devices does not work right with multitasking. Problem solved.
- BitmapConverter:
- Animated GIFs are shown as a black square. Problem solved.
Version 5.16d
- GUIDRV_FlexColor:
- Filling of driver variants with cache too slow. Problem solved.
- GUIDRV_S1D13781:
- Display rotation does not work properly. Problem solved.
- Illegal pointer access during initialization. Problem solved.
- EDIT widget:
- Editing of values do not work right under certain circumstances. Problem solved.
Version 5.16c
- 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
- Memory devices:
- Function pointer _pcbSetAlpha() in GUIDEV_Banding.c had wrong prototype. Problem solved.
Version 5.16a
- Core:
- Compressed ARGB bitmaps and compressed alpha channel bitmaps don't work right if clipping is required. Problem solved.
- MEMDEV:
- Under certain circumstances GUI_EnableAlpha() does not work right with banding memory devices. Problem solved.
Version 5.14e
- Core:
- Under certain circumstances allocation of fixed blocks fail in spite of having enough memory. Problem solved.
- MEMDEV:
- Under certain circumstances some pixels are not calculated right when using image rotation (HQ and HQT). Problem solved.
Version 5.14d
- Window manager:
- Under certain circumstances automatic locking/unlocking of display driver cache (if available) not executed correctly. Problem solved.
Version 5.14c
- VNC-server:
- Some color modes of RealVNC and TightVNC not supported. Problem solved.
- Antialiasing:
- Function GUI_AA_FillRoundedRect() do not work correctly within window callback routines. Problem solved.
- Multitasking:
- Under certain circumstances GUI_WaitEvent() does not work right. Problem solved.
Version 5.14b
- 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.
- 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
- 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
- Core:
- When drawing rotated text with GUI_ROTATE_CW and GUI_ROTATE_CCW clipping does not work correctly. Problem solved.
Version 5.12h
- Window manager:
- Under certain circumstances the handles returnd by WM_GetScrollbarH() and WM_GetScrollbarV() are wrong. Problem solved.
- LISTBOX widget:
- LISTBOX_InsertString() and LISTBOX_DeleteString() does not work right under certain circumstances. Problem solved.
Version 5.12g
- Cursor:
- Usage of different cursors may lead to a repetitive adding of records to the registration of the _OnExit()-function. Problem solved.
="heading2">Version 5.12f
- MENU widget:
- Under certain circumstances submenus are not able to receive key messages. Problem solved.
- FRAMEWIN widget:
- FRAMEWIN widgets are not able to be created with Skinning turned on using WIDGET_USE_FLEX_SKIN. Problem solved.
- Alpha Blending:
- Usage of alpha blending leads to a repetitive adding of records to the registration of _OnExit()-functions. Problem solved.
- 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.
="heading2">Version 5.12e
- MEMDEV:
- Writing the content of a 16-bit memory device to a 32-bit memory device does not work properly. Problem solved.
- PID:
- The Window manager causes the function GUI_PID_GetState() to always read the oldest PID state from the PID buffer. Problem solved.
="heading2">Version 5.12d
- MENU widget:
- Under certain circumstances submenus without submenu handle don't work. Problem solved.
="heading2">Version 5.12c
- Core:
- Superfluous copy operation of payload data of topmost free memory block. Problem solved.
="heading2">Version 5.12b
- FRAMEWIN widget:
- When working with FRAMEWIN_SetSkin() all skinned FRAMEWIN widgets use the same callback function. Problem solved.
- EXT fonts:
- When GUIPROP_EXT__ClearLine() is called with Len <= 0 drawing the background could be wrong. Problem solved.
Version 5.12a
- 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.
- Core:
- If memory allocation fails because of too less memory blocks, the amount of remaining memory becomes invalid. Problem solved.
- 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
- SIF fonts:
- GUI_SIF__GetCharInfo_ExtFrm() does not read all required variables for GUI__GetOverlap(). Problem solved.
Version 5.10a
- XBF fonts:
- Buffer in GUI_XBF__GetCharInfo() too small. Problem solved.
Version 5.08e
- 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
- EDIT widget:
- Under certain circumstances an invalid pointer is used in function _InsertChar(). Problem solved
- LISTVIEW widget:
- Under certain circumstances LISTVIEW_SetItemBitmap() with high color bitmaps causes a warning: 'Locked handles exist'. Problem solved
Version 5.08d
- Display driver cache management:
- LCD_ControlCache() does not use GUI__ManageCacheEx(). Problem solved.
- PROGBAR widget:
- Skinning routine does not work right when PROGBAR_SetText() was used. Problem solved
Version 5.08c
- Touch Analog:
- The function GUI_TOUCH_SetOrientationPhys() is not working correctly. Problem solved.
- 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.
- 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
- GUI_PID:
- PID buffer entries are not stored correctly. Problem solved.
Version 5.08a
- String alignment:
- Under certain circumstances string alignment does not work right. Problem solved.
- Bidirectional text:
- Mixed strings with only one single RTL character at the beginning are not shown right. Problem solved.
Version 5.06d
- Display drivers:
- GUIDRV_Lin drawing of 8bpp device dependent bitmaps does not work right on 16 bit CPUs. Problem solved.
- MENU widget:
- Under certain circumstances submenus are not completely visible. Problem solved.
Version 5.06c
- Drawing BMP-files:
- Under certain circumstances drawing of BMP files fails. Problem solved.
Version 5.06b
- Display drivers:
- GUIDRV_SSD1926 and GUIDRV_Lin for 1, 2, 4 and 8bpp does not work completely right with 16 bit CPUs. Problem solved.
- Widget library:
- Some warnings wiht 16 bit CPUs and GUI_DEBUG_LEVEL > 1. Problem solved.
- Color conversion:
- GUICC_233 does not work right with 16 bit CPUs. Problem solved.
Version 5.06a
- Memory devices:
- The window effect functions do not return 0 on success. Problem solved.
- SCROLLBAR widget:
- Scrollbar does not stop moving at the desired position when keeping pressed shaft area. Problem solved.
- LISTBOX widget:
- Under certain circumstances scrolling per keyboard does not work completely right. Problem solved.
- RADIO_SKIN_FLEX:
- Under certain circumstances the focus rectangle is not initialized right. Problem solved.
- Core:
- Drawing of horizontal and rounded gradients fail if both colors are the same. Problem solved.
Version 5.04h
- TREEVIEW widget:
- Under certain circumstances TREEVIEW_GetItem() returns a wrong handle. Problem solved.
Version 5.04g
- Cache control:
- Under certain circumstances the function LCD_ControlCache() does not work right. Problem solved.
- LISTWHEEL widget:
- Under certain circumstances a variable was not initialized. Problem solved.
Version 5.04f
- RADIO widget:
- When using custom bitmaps under certain circumstances the button text is not aligned to the button images. Problem solved.
Version 5.04e
- EDIT widget:
- Function EDIT_SetCursorAtChar() does not use ..LOCK() and ..UNLOCK(). Problem solved.
Version 5.04d
- XBF font format:
- XBF fonts do not work on big endian systems. Problem solved.
Version 5.04c
- Bitmaps:
- Under certain circumstances 16 bit bitmaps are not drawn on systems with a color depth of 24bpp. Problem solved.
Version 5.04b
- Widget library:
- Deleting EDIT or MULTIEDIT widget with blinking cursors cause an undefined behaviour. Problem solved.
- JPEG images:
- Downscaling does not work correct under certain circumstances. Problem solved.
Version 5.04a
- Simulation:
- Reading back pixel information fails if WM is not used. Problem solved.
- WM:
- Function WM__PaintWinAndOverlays() had no prototype. Problem solved.
Version 5.02n
- LISTVIEW widget:
- Under certain circumstances locked handles exist when calling the parents callback function. Problem solved.
Version 5.02m
- Core:
- Some drivers require the function LCD__GetColorIndex() which does not exist. Problem solved.
Version 5.02l
- Window manager & alpha blending:
- Under certain circumstances the window manager does not recalculate pointers after drawing operations. Problem solved.
Version 5.02k
- LISTVIEW widget:
- The header position is not updated correctly when using the thumb area of the scrollbar. Problem solved.
- 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
- Simulation:
- Under certain circumstances modal dialogs do not receive the release message of a button. Problem solved.
- DROPDOWN widget:
- Memory locking problem under certain circumstances in DROPDOWN_Expand(). Problem solved.
- JPEG decoding:
- Under certain circumstances decoding of progressive JPEGS fails. Problem solved.
- Core:
- Under certain circumstances a pointer in the device structure was not initialized. Problem solved.
Version 5.02h
- ICONVIEW widget:
- Under certain circumstances a pointer in the drawing routine became invalid. Problem solved.
Version 5.02g
- Display driver:
- Driver migration GUIDRV_6331.c added.
Version 5.02f
- Display driver:
- Driver migration GUIDRV_13700.c added.
Version 5.02e
- Streamed bitmaps:
- Beta version of drawing streamed bitmaps from non addressable media added.
Version 5.02d
- TREEVIEW widget:
- Problem with TREEVIEW_GET_LAST. Problem solved
Version 5.02c
- General:
- Removed some warnings wit IAR compiler.
Version 5.02b
- BMP files:
- Drawing BMP files with a negative horizontal position does not work right. Problem solved.
Version 5.02a
- XBF Fonts:
- Characters with a negative cursor offset are not shown right. Problem solved.
Version 5.02
- VNC:
- Connection closed when copying text into clipboard of host. Problem solved.
Version | Release date | Availability |
V5.26a | 2014-08-20 | Point release |
V5.26 | 2014-08-06 | General release |
V5.24h | 2014-06-04 | Point release |
V5.24g | 2014-05-27 | Point release |
V5.24f | 2014-05-14 | Point release |
V5.24e | 2014-04-17 | Point release |
V5.24d | 2014-03-27 | Point release |
V5.24c | 2014-03-04 | Point release |
V5.24b | 2014-02-18 | Point release |
V5.24a | 2014-02-13 | General release |
V5.24 | 2014-01-23 | General release |
V5.22g | 2014-01-02 | Point release |
V5.22f | 2013-11-19 | Point release |
V5.22e | 2013-11-11 | Point release |
V5.22d | 2013-30-10 | Point release |
V5.22c | 2013-10-14 | Point release |
V5.22b | 2013-09-04 | Point release |
V5.22a | 2013-08-16 | Point release |
V5.22 | 2013-07-02 | General release |
V5.20h | 2013-06-21 | Point release |
V5.20g | 2013-06-18 | Point release |
V5.20f | 2013-06-13 | Point release |
V5.20e | 2013-04-24 | Point release |
V5.20d | 2013-04-10 | Point release |
V5.20c | 2013-03-19 | General release |
V5.20b | 2013-03-07 | Point release |
V5.20a | 2013-03-01 | Point release |
V5.20 | 2013-02-18 | Point release |
V5.18d | 2012-11-29 | Point release |
V5.18c | 2012-11-06 | Point release |
V5.18b | 2012-10-05 | Point release |
V5.18a | 2012-10-02 | Point release |
V5.18 | 2012-09-17 | General release |
V5.16d | 2012-09-04 | Point release |
V5.16c | 2012-08-16 | Point release |
V5.16b | 2012-06-25 | Point release |
V5.16a | 2012-06-21 | Point release |
V5.16 | 2012-06-04 | General release |
V5.14e | 2012-05-02 | Point release |
V5.14d | 2012-02-15 | Point release |
V5.14c | 2012-02-08 | Point release |
V5.14b | 2012-02-01 | General release |
V5.14a | 2012-01-25 | Point release |
V5.14 | 2011-01-13 | Point release |
V5.12i | 2011-12-16 | Point release |
V5.12h | 2011-10-27 | Point release |
V5.12g | 2011-08-16 | Point release |
V5.12f | 2011-08-16 | Point release |
V5.12e | 2011-08-09 | Point release |
V5.12d | 2011-07-27 | Point release |
V5.12c | 2011-07-25 | General release |
V5.12b | 2011-07-21 | Point release |
V5.12a | 2011-07-18 | General release |
V5.12 | 2011-06-28 | General release |
V5.10b | 2011-05-30 | Point release |
V5.10a | 2011-05-04 | Point release |
V5.10 | 2011-03-30 | General release |
V5.08e | 2011-03-09 | Point release |
V5.08d | 2011-03-07 | Point release |
V5.08c | 2011-02-16 | Point release |
V5.08b | 2011-02-08 | Point release |
V5.08a | 2011-01-25 | Point release |
V5.08 | 2011-01-12 | General release |
V5.06d | 2011-01-03 | Point release |
V5.06c | 2010-11-30 | Point release |
V5.06b | 2010-11-23 | Point release |
V5.06a | 2010-10-22 | General release |
V5.06 | 2010-09-09 | General release |
V5.04h | 2010-06-08 | Point release |
V5.04g | 2010-05-16 | Point release |
V5.04f | 2010-04-14 | Point release |
V5.04e | 2010-03-23 | Point release |
V5.04d | 2010-03-08 | Point release |
V5.04c | 2010-02-26 | Point release |
V5.04b | 2010-02-03 | Point release |
V5.04a | 2010-01-14 | Point release |
V5.04 | 2010-01-04 | General release |
V5.02n | 2009-12-15 | Point release |
V5.02m | 2009-12-14 | Point release |
V5.02l | 2009-12-10 | Point release |
V5.02k | 2009-11-24 | Point release |
V5.02i | 2009-10-29 | Point release |
V5.02h | 2009-10-09 | Point release |
V5.02g | 2009-10-07 | Point release |
V5.02f | 2009-10-01 | Point release |
V5.02e | 2009-09-24 | Point release |
V5.02d | 2009-09-21 | Point release |
V5.02c | 2009-07-28 | Point release |
V5.02b | 2009-07-23 | Point release |
V5.02a | 2009-07-02 | Point release |
V5.02 | 2009-06-16 | Point release |
V5.00 | 2009-04-02 | First version covered by this document |
This document was first released with version 5.00 of the software.
Software released earlier is documented internally.
This information is available at request.
Copyright 2014 SEGGER Microcontroller GmbH & Co. KG. All rights reserved.
For more information, please visit our website www.segger.com or contact us at info@segger.com