Joel Bodenmann Posted November 7, 2015 Report Share Posted November 7, 2015 We're proud to announce that uGFX Version 2.4 was released just moments ago.DownloadThe 2.4 release can now be downloaded as a ZIP archive form the downloads section. If you're a student or hobbyist and therefore permitted to use uGFX free of charge please consider donating to the project to help us developing this library. Donations can be submitted through the PayPal donation button on the downloads page.ChangelogLet's have a look at the change log:FIX: Add missing stm32m3 cpu makefile option. Update doc to match.FEATURE: Added ability to compile ugfx as a single file. Simply compile src/gfx_mk.cFEATURE: Added GFXSINGLEMAKE=yes|no to the ugfx makefile to compile ugfx as a single file.FEATURE: New board STM32F746G-DiscoveryFEATURE: New gdisp driver STM32LTDCFEATURE: Better support for Raw32 platformsFEATURE: Renaming GFX_NO_OS_INIT to GFX_OS_NO_INITFEATURE: New demo applications/comboFEATURE: Adding more font metrics (BaselineX and BaselineY)FEATURE: Adding gdispGetStringWidthCount()FEATURE: Implementing widget focusing. See gwinSetFocus() and gwinGetFocus()FEATURE: Adding TextEdit widgetFEATURE: Added color to widget style for focused widgetsFEATURE: Added GWIN_FOCUS_HIGHLIGHT_WIDTH as an option in the configuration fileFEATURE: Added support for CMSIS RTOSFEATURE: Added support for KEIL RTXFEATURE: Replace all references to inline with a reference to GFXINLINEFEATURE: Added config option GFX_NO_INLINE to run off inlining of ugfx functions.FEATURE: Added word-wrapping support for gdispDrawStringBox() and gdispFillStringBox()FIX: Fixing issue in touchscreen calibration codeFEATURE: Added GFX_OS_PRE_INIT_FUNCTION for early hardware initializationFIX: Fixing GTIMER for high clock rate devicesFEATURE: Added GFX_COMPILER_KEIL and GFX_COMPILER_ARMCC macrosBeside many fixes and general improvements some new features have been added to the library:Text WrappingA text wrapping option (GDISP_NEED_TEXT_WORDWRAP has been added. The string drawing functions that specify a box (gdispDrawStringBox() and gdispFillStringBox() automatically wrap the text to the next line if it exceeds the right border of the specified box.If this feature is disabled (default behavior), the string is simply cut off.Text Input WidgetWe added a new widget called the TextEdit widget. The TextEdit widget allows the user of an µGFX application to enter text. It is basically pretty much like a label just that it accepts text input.Due to the modularity of the GINPUT module the TextEdit widget can either be used together with a real physical keyboard or a the virtual on-screen keyboard widget.Widget FocusWhen keyboard support is enabled, the GWIN module provides a new focus feature. A widget that has focus will receive keyboard events.By default, a simple rectangle with the color specified in the widget style will be rendered around the widget to show that a widget has focus. The thickness of that border can be changed through the GWIN_FOCUS_HIGHLIGHT_WIDTH setting.We also added default keyboard event handlers for most widgets. Therefore, if keyboard support is enabled a button can not only be clicked using the touchscreen but also using the SPACE and the ENTER key. A list can be scrolled using arrow keys and so on.The widget focus can either be changed by clicking the widget or by using the TAB key to loop through them. Programmatically the focus can be changed using gwinSetFocus().BareMetal PlatformsWe re-worked most of the RAW32 port (the port that is used to run on bare-metal systems). It is now a lot more flexible and supports even a wider range of CPU architectures.If you are running µGFX on a bare metal system updating to the new version is strongly recommended.Keil RTX (and CMSIS RTOS) PlatformsWe implemented a new GOS port that allows to run µGFX on any CMSIS RTOS compatible RTOS. Especially we implemented a port to run on the Keil RTX operating system (which is CMSIS RTOS compatible).Single File InclusionMany of you told us that the µGFX library is difficult to use when not working with the Makefile build system as the library is composed of many file split across many directories. The new library version fixes this issue. All that needs to be done is adding the top-level uGFX directory to the include path and compiling just one file: gfx_mk.c. All required files will automatically be #included.We will put up a more detailed guide about this on the wiki shortly. Stay tuned.FeedbackThis release contains, as any other release, many bug fixes and new features that were contributed or requested by the µGFX users. Comments and any kind of feedback are welcomed as those help us to improve the µGFX library.~ Tectu Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now