All Versions
13
Latest Version
4.0
Avg Release Cycle
1001 days
Latest Release
494 days ago

Changelog History
Page 1

  • v4.0 Changes

    February 11, 2020

    ๐Ÿ”– Version 3.4.0

    Core

    • โž• Added LanguageManager::getLanguages
    • ๐Ÿ›  Fix lost key focus event not being triggered sometimes
    • ๐Ÿšš Fix inconsistency: _riseMouseButtonMove was using Layer coordinates (most of the time). _riseMouseButtonReleased/Pressed were using absolute coordinates.
    • ๐Ÿ›  Other InputManager events fixes.
    • ๐ŸŽ Minor MacOS build fixes.
    • ๐ŸŽ Cleaner and much faster logic for adding and removing render items (it was the performance bottleneck when working with many items on screen).

    Widgets

    • ๐Ÿ›  ScrollBar: Fixed wrong tracking area bug.
    • Button: make Button with key focus (can be set only manually through code) have highlighted state.
    • โšก๏ธ ItemBox: add possibility to not update ItemBox content when working with items (huge speed boost, when adding/removing many in single frame)
    • ๐Ÿ‘ EditText: add support for alpha in text and text shadow colours (multiplied with widget's alpha).
    • ItemBox: add options to hide ItemBox scroll bars (same as for ScrollView and EditBox).
    • MultiListBox: slightly advanced and more flexible custom compare function.
    • ๐Ÿšš EditBox: add Ctrl+Left/Right hotkey support (moves cursor to next word).
    • MultiListBox: add eventNotifyItem.

    Platforms

    • OpenGL3Platform: Added new rendering platform.
    • OpenGLESPlatform: Added new rendering platform.
    • ๐Ÿ‘ Emscripten support (works for Ogre and all OpenGL platforms).
    • ๐Ÿ— OgrePlatform: Many minor build-related fixes and imrovements, including newer Ogre support and better CMake scripts.
    • ๐Ÿ›  DirectX 11 and OpenGL3: Fixed application window resizing in editors and demos.
    • All platforms: Fix possible stack overflow in ***DataManager::getDataPath.
    • ๐Ÿ”’ All platforms: better VertexBuffer reallocation strategy for all platforms (in ::lock call, not in ::setVertexCount).
    • ๐Ÿ›  All platforms: Various minor fixes and code cleanup.

    Resources

    • ResourceManualFont: Added setTexture.
    • โšก๏ธ ResourceTrueTypeFont: Optimize TrueTupeFont render speed (half getGlyphInfo search time).
    • ๐Ÿšš ResourceTrueTypeFont: Remove no longer needed freetype bytecode bug fix.

    Tools

    • 0๏ธโƒฃ LayoutEditor: Fixed "[DEFAULT]" value not being handles properly (was colored white in ComboBox, was saved in layout).
    • ๐Ÿ›  LayoutEditor: Other minor fixes and improvements.

    Demos

    • โž• Added SDL2 support.

    Other

    • Switched to C++11: various related code improvements and cleanups.
  • v3.4.2 Changes

    Core

    • โž• Add missing MYGUI_EXPORT for ControllerRepeatClick (was not linking in non-static builds)

    Widgets

    • ComboBox and ListBox: make "AddItem" use LanguageManager::replaceTags same way it is done for caption properties

    Other

    • โž• Add missing MYGUI_EXPORT to fix C4275 warnings
  • v3.4.1 Changes

    Core

    • ๐Ÿ‘€ Implement new MSDF font, that lets use render huge fonts without having big textures, also allows using only one texture for all sizes (see Demo_MsdfFont)
    • โž• Add new eventWidgetDestroyed
    • โž• Add support for custom shaders for each render item, used for subskin (so far used only for MSDF fonts)
    • โž• Add support for Unicode code points outside of the Basic Multilingual Plane (code points above 216, represented by two UTF-16 code units)
    • ๐Ÿ‘ Allow std::function in the MyGUI::newDelegate
    • ๐Ÿ‘ Allow const functions and const classes in the MyGUI::newDelegate
    • ๐Ÿ‘‰ Make most getters const
    • ๐Ÿ›  Fix UB in RotatingSkin::_rebuildGeometry when all vertices are cropped
    • ๐Ÿ›  Fix eventMouseButtonClick being triggered even when mouse is pressed not over widget
    • ๐Ÿ›  Fix InputManager::injectMouseMove returning true when mouse is pressed, but there is no focused widget
    • ๐Ÿ›  Fix bug with Popup widget being picked by mouse, when it is invisible because of invisible parent
    • ๐Ÿ›  Fix Widget::setDepth call making Overlapped child widgets not visible

    Widgets

    • ListBox: fix getWidgetByIndex when not all widgets are visible
    • EditBox: fix getFontHeight always returning 0
    • EditBox: fix rare bug with text selection when holding mouse and changing text
    • EditBox: fix scroll position when selecting text below
    • ๐Ÿ›  Button: make Button without "normal_checked" skin display "pushed" skin (fixes button visual state when setStateSelected(true) is called)
    • ๐Ÿšš Window: add borders snapping, when resizing it (previously only move was snapping borders)

    Platforms

    • Ogre:
      • make it possible to use OGRE_RESOURCEMANAGER_STRICT=1 mode (always specify resource group)
      • other minor performance improvements
      • use Ogre::Renderable to render Gui, this fixes several issues with recent Ogre version
      • fix RTT render with RenderSystem_DirectX11
    • โšก๏ธ All: make all interfaces const-correct. Warning: custom render platforms outside of MyGUI repo must be updated to match new virtual functions API

    Demos and Tools

    • โž• Add new SdlBaseManager, that is used for all platforms base code instead of multiple BaseManager-s with duplicate code
    • โœ‚ Remove no longer needed and no longer used OIS, Win32 and Win32+OIS input systems only SDL2 can is used in demos now

    Tools

    • ๐Ÿ‘ LayoutEditor: fix multi language support

    Demos

    • ๐Ÿ†• New Demo_MsdfFont
    • โœ… Make all demos with 3d render work with the latest Ogre

    Other

    • ๐Ÿ‘‰ Use GNUInstallDirs to determine where libraries should be installed
    • ๐Ÿ‘‰ Use precompiled headers from CMake 3.16, enable precompiled headers on all target platforms
    • โœ‚ Remove many outdated or not used CMake options and scripts
  • v3.4.0 Changes

    Core

    • โž• Added LanguageManager::getLanguages
    • ๐Ÿ›  Fix lost key focus event not being triggered sometimes
    • ๐Ÿšš Fix inconsistency: _riseMouseButtonMove was using Layer coordinates (most of the time). _riseMouseButtonReleased/Pressed were using absolute coordinates.
    • ๐Ÿ›  Other InputManager events fixes.
    • ๐ŸŽ Minor MacOS build fixes.
    • ๐ŸŽ Cleaner and much faster logic for adding and removing render items (it was the performance bottleneck when working with many items on screen).

    Widgets

    • ๐Ÿ›  ScrollBar: Fixed wrong tracking area bug.
    • Button: make Button with key focus (can be set only manually through code) have highlighted state.
    • โšก๏ธ ItemBox: add possibility to not update ItemBox content when working with items (huge speed boost, when adding/removing many in single frame)
    • ๐Ÿ‘ EditText: add support for alpha in text and text shadow colours (multiplied with widget's alpha).
    • ItemBox: add options to hide ItemBox scroll bars (same as for ScrollView and EditBox).
    • MultiListBox: slightly advanced and more flexible custom compare function.
    • ๐Ÿšš EditBox: add Ctrl+Left/Right hotkey support (moves cursor to next word).
    • MultiListBox: add eventNotifyItem.

    Platforms

    • OpenGL3Platform: Added new rendering platform.
    • OpenGLESPlatform: Added new rendering platform.
    • ๐Ÿ‘ Emscripten support (works for Ogre and all OpenGL platforms).
    • ๐Ÿ— OgrePlatform: Many minor build-related fixes and imrovements, including newer Ogre support and better CMake scripts.
    • ๐Ÿ›  DirectX 11 and OpenGL3: Fixed application window resizing in editors and demos.
    • All platforms: Fix possible stack overflow in ***DataManager::getDataPath.
    • ๐Ÿ”’ All platforms: better VertexBuffer reallocation strategy for all platforms (in ::lock call, not in ::setVertexCount).
    • ๐Ÿ›  All platforms: Various minor fixes and code cleanup.

    Resources

    • ResourceManualFont: Added setTexture.
    • โšก๏ธ ResourceTrueTypeFont: Optimize TrueTupeFont render speed (half getGlyphInfo search time).
    • ๐Ÿšš ResourceTrueTypeFont: Remove no longer needed freetype bytecode bug fix.

    Tools

    • 0๏ธโƒฃ LayoutEditor: Fixed "[DEFAULT]" value not being handles properly (was colored white in ComboBox, was saved in layout).
    • ๐Ÿ›  LayoutEditor: Other minor fixes and improvements.

    Demos

    • โž• Added SDL2 support.

    Other

    • Switched to C++11: various related code improvements and cleanups.
  • v3.2.2 Changes

    Core

    • ๐Ÿ›  Fixed eventChangeMouseFocus and eventChangeKeyFocus not being triggered in certain cases.

    Widgets

    • ๐Ÿ›  ComboBox: Fixed mouse events incorrectly going to the widget below the ComboBox when clicking on an item.
    • ๐Ÿ‘ ScrollBar: Added button repeat support, ScrollBar buttons will trigger repeatedly so long as the mouse is held down.

    Platforms

    • OpenGLPlatform: Added option to use system GLEW library.
    • ๐ŸŽ OgrePlatform: Improved performance of OgreDataManager::isDataExist.
    • ๐Ÿ— OgrePlatform: Fixed build failure regarding boost libraries used by Ogre not being found.

    Resources

    • ResourceManualFont: Added API to create a ResourceManualFont in code rather than from XML.

    Tools

    • ๐Ÿ›  Fixed broken file dialog directory listing on Linux and make sure files are sorted.
  • v3.2.1 Changes

    Core

    • โž• Added events to clipboard manager: eventClipboardRequested, eventClipboardChanged.
    • โž• Added API access to child LayerNodes.
    • โž• Added pointer to ControllerItem in all controller events.
    • Key focus will be reset when the key focus widget is hidden.
    • ๐Ÿ›  Fixed incorrectly detecting double click when clicking on different widgets.
    • ๐Ÿ›  Fixed a memory leak when creating or changing widgets in several cases.
    • ๐Ÿ›  Fixed a lot of warnings from cppcheck.
    • ๐Ÿ›  Other minor fixes.
    • Remove possibility to compile without std::typeinfo (no longer needed for android, MYGUI_RTTI_DISABLE_TYPE_INFO option removed).
    • โœ‚ Remove -msse from compiler flags.

    Widgets

    • โž• Added Depth property for child widgets, that can be used for rendering order.
    • โž• Added eventChangeCoord event.
    • ๐Ÿ›  Fixed Enabled property not being inherited from parent widgets.
    • ListBox: Added eventNotifyItem for key or mouse press on item widgets.
    • ListBox: Added getWidgetByIndex public API to allow item widget access from outside.
    • ๐Ÿ›  EditBox: Fixed several keyboard shortcuts (such as copy & paste) not working when key and text events are injected separately by the user.
    • ImageBox: Added getImageSize method.
    • ScrollBar: Added WheelPage property for mouse wheel scroll step.

    SubWidgets

    • ๐Ÿ‘€ PolygonalSkin: Added stroke support for drawing dashed lines (can be seen in UnitTest_Spline).
    • RotatingSkin: Added properties to skin XML.

    Resources

    • ResourceTrueTypeFont: Added Distance parameter for margin between glyphs in generated font texture.
    • ResourceImageSet, ResourceTrueTypeFont: Added public API to allow creating in code rather than from XML.
    • ๐Ÿ‘ ResourceManualFont: Added support to set glyph size separately rather than deriving it from image coordinates.

    Skins

    • โž• Added Dark skin (used by default in Tools).
    • โž• Added Black skin.
    • โšก๏ธ Minor updates to other skins.

    Tools

    • Significant improvements to LayoutEditor, FontEditor, ImageEditor and SkinEditor.

    Demos

    • โšก๏ธ Minor updates to several demos.

    โœ… UnitTests

    • โž• Added DataInfoTest.

    Platforms

    • โž• Added Dummy platform.
    • ๐Ÿ›  Various fixes for DirectX11 platform.
    • โ™ป๏ธ Slightly refactored OpenGL platform.
    • โž• Added DataMemoryStream class.

    Other

    • โšก๏ธ Updated C# wrapper.
    • Switched from LGPL to MIT license.
    • ๐Ÿ“š Documentation improvements.
  • v3.2.0 Changes

    Core

    • MyGUI can be compiled without std::typeinfo.
    • ๐Ÿ›  Fixed an alignment bug on non-screen layers (for example on the RTT layer).
    • ๐Ÿ›  Fixed bug with widgets on same layer changing their draw order.

    Widgets

    • DDContainer: Added a resetDrag method that stops a drag operation programmatically.
    • TextBox: Added optional text shadow.
    • ๐Ÿ›  EditBox: Fixed incorrect text display when the text area was lower than the font height.
    • EditBox: Reset Redo changes when text was changed.
    • ๐Ÿ›  Canvas: Fixed incorrect destruction.
    • ๐Ÿ›  ProgressBar: Fixed a problem that caused the progress value to be displayed incorrectly after the widget was resized.

    SubWidgets

    • ๐Ÿ›  RotatingSkin: Fixed incorrect display due to swapped UV coordinates.

    Resources

    • ResourceTrueTypeFont:
      • Decreased texture memory usage (typically by 50% or more).
      • Improved startup and runtime performance.
      • Added support for Windows FON/FNT bitmap fonts and for embedded SBIT bitmaps in TrueType fonts.
      • Added support for enhanced glyph metrics, typographically correct line spacing, and overlapping glyphs; e.g., "fj".
      • Implemented the ability to specify the code point used as a substitute for missing code points (now defaults to the "Not Defined" glyph instead of "Space").
      • Implemented subpixel positioning.
      • Added useful default values for several properties.
      • Deprecated several properties that are no longer useful.
      • Fixed problems that made it impossible to use whitespace characters other than "Space" and "Tab".
      • Fixed several crashes and memory leaks.
      • Replaced an assertion with a log message when a font cannot be loaded.
    • ResourceManualFont:
      • Added support for enhanced glyph metrics and overlapping glyphs; e.g., "fj".
      • Implemented the ability to specify the code point used as a substitute for missing code points.

    Wraps

    • BaseLayout works properly when it's completely empty.

    ๐Ÿ”Œ Plugins

    • โšก๏ธ Updated the BerkeliumWidget plugin.

    Tools

    • ๐Ÿ›  Various fixes in LayoutEditor.
    • FontViewer:
      • Added support for all of the new features in ResourceTrueTypeFont and ResourceManualFont.
      • Added support for additional font types: *.ttc, *.otf, *.pfa, *.fon, and *.fnt.
      • Redesigned the user interface.
      • Implemented automatic generation of the output filenames when saving.
      • Fixed several crashes and memory leaks.

    Platforms

    • Keep solid mode when Ogre is in wireframe.
    • ๐Ÿ›  Fixed a few bugs in the OpenGL platform (buffers not cleaned up).
    • ๐Ÿ†• New DirectX11 platform prototype.
  • v3.0.1 Changes

    License

    • in LGPL added exclusion for static linking for possibility to use MyGUI in apps for iPhone
    • all Media except some files created not by MyGUI dev tean is licensed under MIT now

    Core

    • โ™ป๏ธ Refactoring to reduce the possbility of bugs (based on info from static analyzers).

    Renders

    • ๐Ÿ‘Œ Support of textures created inside Ogre (wrapping of existing texture)

    Widget

    • โž• added getCaptionWidget to Window: retun pointer to Window caption for text control (fonts and it's size)
    • ๐Ÿ›  RenderBoxScene fixed
    • ๐Ÿ›  fixed bug with Disabled widgets that was rendered as not disabled

    Managers

    • โž• added log message if skin used for widget wasn't found.

    Utility

    • ๐Ÿ›  fixed loading on non-existing textures for widgets picking

    Wraps

    • ๐Ÿ†• New option to generate wrappers with CMake

    ๐Ÿ”Œ Plugins

    • ๐Ÿ”Œ optional AwesomiumPlugin and HikariPlugin option added to CMake config

    Resources

    • ๐Ÿ›  fixed bug with incorrect font rendering on some old videocards : TrueType font now rendered into R8G8B8A8 on videocards that doesn't support L8A8 (OgreRender)
  • v3.0.0 Changes

    Core

    • rendering separated from core

    Widgets

    • โœ‚ removed widget RenderBox - moved into Common as wrapper
    • ๐Ÿ†• new widget ListCtrl - base widget for lists with OwnDraw, horizontal scroll and lines with different height support
    • ๐Ÿ†• new widget ListBox - list implementation with horizontal scroll (based on ListCtrl)

    Managers

    • ๐Ÿ†• new FactoryManager - manager creates instances of objects that implements IObject (resources, widgets, controllers, etc.)
    • ๐Ÿ†• new DataManager - possibility to create your own type or data source

    Controllers

    • ๐Ÿ‘ controllers support deserialization, possibility to create through XML

    Resources

    • ๐Ÿ†• new resource type ImageSetPointer for creating cursors based on ImageSet with animation support
    • ๐Ÿ†• new resource type ManualPointer for creating cursors based on texture
    • ๐Ÿ†• new resource type TrueTypeFont for creating true type fonts
    • ๐Ÿ†• new resource type ManualFont for creating fonts based on texture
    • ๐Ÿ†• new resource type Skin for skin description

    SubWidgets

    • ๐Ÿ†• new SubWidget RotateSkin with rotating geometry support

    Tools

    • ๐Ÿ‘Œ improved LayoutEditor, controllers support

    Demos

    • Demo_Pointers - demonstration of cursor contexts and W32 cursors
    • Demo_RenderBox - demonstration of RenderBox usage (camera view inside widget, model view inside widget)

    ๐Ÿ”Œ Plugins

    • ๐Ÿ”Œ Plugin_AwesomiumWidget - sample plugin implementation for Awesomium (html inside widget)
    • ๐Ÿ”Œ Plugin_HikariWidget - sample plugin implementation for Hikari (Flash inside widget)

    โœ… UnitTests

    • โœ… UnitTest_Layers - sample of using GUI inside 3D scene
    • โœ… UnitTest_RTTLayers - sample of rendering Layer into texture
    • โœ… UnitTest_TextureAnimation - sample of RTT node, for caching or for animating whole window
    • โœ… UnitTest_TreeControl - sample implementation of tree control (author : Pavel Turin)
  • v2.2.3 Changes

    SubWidgets

    • subwidget EditText was reimplemented
      • word wrap support in edit mode
      • cursor and text selecting with ManualFont

    Widget

    • ๐Ÿ›  fixed problem with inherited Disabled and Visible conditions