Fast, flexible and simple GUI.

Related tags

GUI mygui
Overview
Comments
  • OgrePlatform - OpenGL: Sampler value sampler has not been set.

    OgrePlatform - OpenGL: Sampler value sampler has not been set.

    The Fragment Program is not receiving the sampler value.

    The GUI shows anyway but in OpenGL the log is being filled with the following message:

    11:08:59: Error prior to using GLSL Program Object : GL_INVALID_VALUE
    Validation warning! - Sampler value sampler has not been set.
    Validation successful.
    
    opened by sercero 58
  • cross-platform support with SDL2

    cross-platform support with SDL2

    Changes: implemented cross-platform support with SDL2/SDL2_image (only if OpenGL is set as the render system). All projects (demos, editors) compile and run in Windows and Linux (assume Freetype and SDL2/SDL2_image are installed).

    Known issues:

    1. some MyGUI keycodes are not mapping to corresponding SDL keycodes, some may be broken, e.g., Tab key not working.
    2. Not compile on Mac yet.
    opened by xzwang2005 40
  • MyGUI for Arch Linux ARM

    MyGUI for Arch Linux ARM

    Is there a MyGUI for Arch Linux ARM?

    I see there is for Debian ARM and Fedora ARM.

    If there isn't, how would you build it for Arch Linux ARM (step-by-step)?

    Thanks, and please answer!

    question 
    opened by ryancito02 34
  • Merge @paroj changes while avoiding the use of the RTSS and OgreBites.

    Merge @paroj changes while avoiding the use of the RTSS and OgreBites.

    Hello @altren,

    I don't expect you to merge this pull request but I want you to review the code since I am having some problems that I am unable to solve:

    • UnitTest_RTTLayer: I don't know what happened with this Test, it was working at some point in time and then I changed something that broke it, perhaps you can figure it out.
    • UnitTest_TextureAnimations: Nothing shows, I think it suffers the same problem as UnitTest_RTTLayer, it was also working at some point in my code but now it doesn't.
    • UnitTest_Layers: I'm lost on this one, don't even know where to start.
    • Demo_Colors: In DirectX11 the color selection texture is half the vertical size, quite a mystery. This also happends in @paroj's code, so it might be an OGRE bug.

    The good thing is that thanks to the changes made by @paroj these issues got fixed:

    • In DirectX11 now the text is working
    • In OpenGL3+ now the text is black instead of white
    • Demo_MsdfFont now works (except DirectX9 where OGRE crashes because the shader model 4.0 is not supported)

    I will try to keep working on these problems, especially UnitTest_RTTLayer not working since at some point it did work...

    However I am getting very frustrated with this and need to do something else for the moment.

    Best regards, Guillermo

    opened by sercero 25
  • Ogre 2.1

    Ogre 2.1

    Support for ogre 2.x using OpenGL3.x+ and DirectX11. Check option 8 in platforms for Ogre 2.x.

    http://www.ogre3d.org/forums/viewtopic.php?f=25&t=83569

    opened by DotWolff 22
  • Boost System missing from CMake?

    Boost System missing from CMake?

    On my system (Ubuntu 14.04) the Demos and Tools didn't compile, instead I got a linker error: "undefined symbol: _ZN5boost6system15system_categoryEv"

    I fixed this by modiying MyGUI's CMakeLists files. I added: find_package( Boost COMPONENTS system REQUIRED ) and linking against it by adding ${Boost_SYSTEM_LIBRARIES} into the "target_link_libraries" in the function "mygui_app" in CMake/Utils/MyGUIConfigTargets.cmake

    I know too little about cmake in order to know if this is a "good" fix or not, so I didn't make a pull request.

    bug 
    opened by Germanunkol 22
  • Fixes with Demos and Unit Tests

    Fixes with Demos and Unit Tests

    @Altren This pull request contains the following fixes:

    • UnitTest_GraphView did not compile with MinGW 8.1.0 due to the Singleton initialization
    • UnitTest_GraphView was refrencing the robot.mesh with the wrong name
    • BaseManager.cpp was initializing the Resource Groups before the OGRE RenderManager was initialized
    • BaseManager.cpp was registering resources into the AUTODETECT_RESOURCE_GROUP_NAME wich makes no sense
    • BaseManager.cpp: params["vsync"] = "true" (this change was not a fix, if you want to change it later let me know)
    opened by sercero 16
  • Implement Tools and Demos build using OpenGL Render System on Linux

    Implement Tools and Demos build using OpenGL Render System on Linux

    While targeting the Ogre Render System, everything compiles just fine with:

    cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMYGUI_RENDERSYSTEM=3 ../mygui; make -j8

    as shown here: https://travis-ci.org/psi29a/mygui/jobs/34474097

    however using the OpenGL Render System, it bombs out because it requires windows.h and the rabbit hole goes downwards from there. Doing this:

    cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMYGUI_RENDERSYSTEM=4 ../mygui; make -j8

    fails as shown here: https://travis-ci.org/psi29a/mygui/jobs/34474098

    The only way to make it through is to disable the tools and demos, as either would require compiling Common which is where the problem is.

    cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMYGUI_RENDERSYSTEM=4 -DMYGUI_BUILD_DEMOS=FALSE -DMYGUI_BUILD_TOOLS=FALSE ../mygui; make -j8

    I would expect that I should be able to do both with demos and tools without requiring windows. Perhaps there is some misplaced #ifdef logic going on?

    enhancement 
    opened by psi29a 16
  • Split out libraries as shared libraries

    Split out libraries as shared libraries

    Currently on Debian (and Ubuntu), we carry a patch around to split out the MyGUIEngine into separate shared libraries. In addition to this, we also correct the SOVERSION for these new shared libs.

    Is it possible to make this the default behavior?

    I haven't forked and asked for a PR because I wasn't sure how best this should be done or if needed to discuss it more.

    Here is our patch:

    Description: build the library as a shared library
    Author: Scott Howard 
    
    --- a/Platforms/Ogre/OgrePlatform/CMakeLists.txt
    +++ b/Platforms/Ogre/OgrePlatform/CMakeLists.txt
    @@ -8,11 +8,12 @@ include_directories(
     
     include(${PROJECTNAME}.list)
     
    -add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
    +add_library(${PROJECTNAME} SHARED ${HEADER_FILES} ${SOURCE_FILES})
    +set_target_properties(${PROJECTNAME} PROPERTIES VERSION 0debian1.0.0 SOVERSION 0debian1)
     
     add_dependencies(${PROJECTNAME} MyGUIEngine)
     
    -target_link_libraries(${PROJECTNAME} ${OGRE_LIBRARIES})
    +target_link_libraries(${PROJECTNAME} ${OGRE_LIBRARIES} MyGUIEngine boost_system)
     link_directories(${OGRE_LIB_DIR})
     
     install(FILES ${HEADER_FILES}
    --- a/Plugins/CMakeLists.txt
    +++ b/Plugins/CMakeLists.txt
    @@ -1,7 +1,7 @@
     option(MYGUI_BUILD_HIKARI_PLUGIN "Build Plugin HikariWidget" FALSE)
     option(MYGUI_BUILD_BERKELIUM_PLUGIN "Build Plugin BerkeliumWidget" FALSE)
     
    -add_subdirectory(Plugin_StrangeButton)
    +#add_subdirectory(Plugin_StrangeButton)
     
     if (MYGUI_BUILD_HIKARI_PLUGIN)
        if (WIN32)
    --- a/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt
    +++ b/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt
    @@ -9,14 +9,15 @@ include_directories(
     
     include(${PROJECTNAME}.list)
     
    -add_definitions(-DGLEW_STATIC)
    +#add_definitions(-DGLEW_STATIC)
     add_definitions(-DGL_GLEXT_PROTOTYPES)
     
    -add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES})
    +add_library(${PROJECTNAME} SHARED ${HEADER_FILES} ${SOURCE_FILES})
    +set_target_properties(${PROJECTNAME} PROPERTIES VERSION 0debian1.0.0 SOVERSION 0debian1)
     
     add_dependencies(${PROJECTNAME} MyGUIEngine)
     
    -target_link_libraries(${PROJECTNAME} ${OPENGL_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
    +target_link_libraries(${PROJECTNAME} GL ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} MyGUIEngine GLEW)
     link_directories(${OPENGL_LIB_DIR} ${PNG_LIBRARY})
     
     # installation rules
    --- a/Platforms/OpenGL/OpenGLPlatform/MyGUI.OpenGLPlatform.list
    +++ b/Platforms/OpenGL/OpenGLPlatform/MyGUI.OpenGLPlatform.list
    @@ -8,7 +8,6 @@ set (HEADER_FILES
       include/MyGUI_OpenGLVertexBuffer.h
     )
     set (SOURCE_FILES
    -  include/GL/glew.c
       src/MyGUI_OpenGLDataManager.cpp
       src/MyGUI_OpenGLPlatform.cpp
       src/MyGUI_OpenGLRTTexture.cpp
    @@ -26,7 +25,6 @@ SOURCE_GROUP("Header Files" FILES
       include/MyGUI_OpenGLVertexBuffer.h
     )
     SOURCE_GROUP("Source Files" FILES
    -  include/GL/glew.c
       src/MyGUI_OpenGLDataManager.cpp
       src/MyGUI_OpenGLPlatform.cpp
       src/MyGUI_OpenGLRTTexture.cpp
    --- a/MyGUIEngine/CMakeLists.txt
    +++ b/MyGUIEngine/CMakeLists.txt
    @@ -44,7 +44,8 @@ endif ()
     
     # setup MyGUIEngine target
     add_library(${PROJECTNAME} ${MYGUI_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES})
    -set_target_properties(${PROJECTNAME} PROPERTIES VERSION ${MYGUI_VERSION} SOVERSION ${MYGUI_VERSION_MAJOR})
    +set_target_properties(${PROJECTNAME} PROPERTIES VERSION ${MYGUI_VERSION} SOVERSION ${MYGUI_VERSION_MAJOR} LINK_INTERFACE_LIBRARIES "")
    +target_link_libraries(${PROJECTNAME} dl)
     if (MYGUI_USE_FREETYPE)
        target_link_libraries(${PROJECTNAME}
            ${FREETYPE_LIBRARIES}
    
    enhancement 
    opened by psi29a 13
  • Using Ogre the RenderSystem_GL works but not the other rendersystems

    Using Ogre the RenderSystem_GL works but not the other rendersystems

    In Ogre I tried RenderSystem_Direct3D11 and RenderSystem_GL3Plus but neither worked. I think I remember perhaps seeing it has something to do with the fixed graphics pipeline but not sure.

    The commit from the last few days seems to have fixed the resource loading issues that I was struggling with.

    opened by Stuggy 11
  • Flipped RTTLayer

    Flipped RTTLayer

    Hi,

    I believe this to be a bug. If you need more code examples, I can provide them.

    I have multiple RTTLayers in the scene. I use the new LayerManager::createLayerAt function to create them on the fly.

    The first layer (which holds content on it), is - for some reason - flipped vertically. By first layer, I mean mLayerNodes[0].

    Layers which are empty (to be filled later) don't seem to be affected by this (?).

    Here's a screenshot showing the issue (Front, small texture is correct, back texture is flipped). screenshot05262015_202328854

    For now, my (very ugly) workaround is to create a texture which is not shown before creating other textures.

    bug 
    opened by Germanunkol 10
  • Managed MyGUI : call InputManager.Instance.InjectMouseReleased cause AccessViolationException

    Managed MyGUI : call InputManager.Instance.InjectMouseReleased cause AccessViolationException

    When I use btnConnect.EventMouseButtonClick += new Widget.HandleMouseButtonClick(BtnConnect_EventMouseButtonClick); to add the event handler to the Button, it will notice such error.

    opened by cookgreen 0
  • OpenGL rendering issue

    OpenGL rendering issue

    Hi! With latest MyGUI master branch we experience a rendering issue in Rigs of Rods:

    DirectX: dx

    OpenGL: gl

    MyGUI 3.4.0 works fine on both. Any idea how to fix it?

    opened by tritonas00 1
  • scrolling a scrollView doesn't scroll open comboBox

    scrolling a scrollView doesn't scroll open comboBox

    -open a comboBox -scroll the scrollView with the mouse wheel ->the comboBox items stay at the same position and don't scroll with the other widgets

    combo

    opened by corentinjaffre 0
  • SDL2 platform

    SDL2 platform

    Hi there!

    This is a new platform for MyGUI using SDL2. It requires SDL >= 2.0.18 because that's the version that added the required API for this to actually work (direct geometry rendering).

    There are some issues that can hopefully be worked out before merging, I'll add some comments inline.

    I have another platform in the works (for BGFX) but I'll finish that one once we finish merging this one, as I think some of the issues will be present there as well.

    I hope this is useful, and thanks!

    opened by Arcnor 0
  • MyGUI is crashing on a second monitor

    MyGUI is crashing on a second monitor

    Tried the demos (ex: Demo_PanelView.exe), with Ogre 1.13.2, using directX9 and they crash when I move the window on my second screen.

    Could be an issue with the font textures: From Paroj: My guess would be that the MyGUI Fonts are manually created but without providing a loader callback, so we cannot auto-restore them.

    opened by corentinjaffre 3
  • Combobox with image and text

    Combobox with image and text

    I'd like to create comboBox displaying text and a small icon to the left of the text. For instance: a list of textures, with a small preview to the left of the texture name. Is it possible with templates modifications? (I can't manage to do it this way) Or would I need to create a new type of combobox inside MyGUI code?

    opened by corentinjaffre 3
Releases(MyGUI3.4.1)
  • MyGUI3.4.1(Feb 28, 2021)

    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 2^16, 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
    Source code(tar.gz)
    Source code(zip)
  • MyGUI3.4.0(Feb 11, 2020)

    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

    • 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.
    Source code(tar.gz)
    Source code(zip)
  • MyGUI3.2.2(Jan 26, 2015)

    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.
    Source code(tar.gz)
    Source code(zip)
  • MyGUI3.2.1(Aug 19, 2014)

    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.
    Source code(tar.gz)
    Source code(zip)
    MyGUI_3.2.1_Tools_and_Demos_windows.zip(10.62 MB)
  • MyGUI3.2(Feb 28, 2021)

    MyGUI v3.2.0

    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.

    MyGUI v3.2.0 RC1

    Core

    • Skin properties were simplified for more convenient creation in the editor.
    • All widgets events is now multidelegates.
    • Support of right mouse button drag.
    • If MyGUI is built from svn revision log file also contain svn revision (in addition to version).
    • Fixed bug with texture creation for fonts.
    • Other minor additions and bug-fixes.

    Managers

    • LanguageManager now replace tags recursively.
    • Fixed bug in LanguageManager when missing language was selected.

    Resources

    • Add Layout resource, layouts loaded and parsed only once at first use.
    • All resource files now have "MyGUI_" prefix to avoid naming conflicts.

    Widgets

    • VScroll and HScroll replaced with single ScrollBar class.
    • Edit renamed into EditBox.
    • List renamed into ListBox.
    • MenuCtrl renamed into MenuControl.
    • MultiList renamed into MultiListBox.
    • Progress renamed into ProgressBar.
    • StaticImage renamed into ImageBox.
    • StaticText renamed into TextBox.
    • Tab renamed into TabControl.
    • New Window property Moveable.
    • Message moved from Core to Common.
    • MultiListBox now support different modes of columns resizing.
    • Button properties StateCheck and ButtonPressed replaced with single property StateSelected.
    • ListBox and ComboBox now support ToolTip.
    • Menu items can be checked now, tick icon appears.
    • Property AlignVert renamed into VerticalAlignment.
    • Hidden widget lose input and focus.
    • Active elements visualisation in list now properly respond to changes in the list.
    • All text related properties was moved from Widget to TextBox.

    SubWidgets

    • All widgets now have Colour property that colours whole widget.
    • RawRect subwidget was removed.
    • Implemented PolygonalSkin sub widget for lines and splines drawing.

    Tools

    • SkinEditor added.
    • All skins created in SkinEditor.
    • LayoutEditor now support projects creation.
    • Possibility to create MultiListBox columns in LayoutEditor.
    • Possibility to create PopupMenu\MenuBar in LayoutEditor.
    • Colour selection window added in LayoutEditor.
    • Show skin preview in LayoutEditor.
    • Scaling support in LayoutEditor.
    • Possibility to change widget's type in LayoutEditor.
    • Possibility to add custom properties in LayoutEditor.
    • Removed check for unique name in LayoutEditor (not required any more).
    • FontViewer now same generated font in two formats: as ttf + xml that use freetype in runtime for texture generation and as manual font (texture and glyphs description)

    Platforms

    • BasisManager for OpenGL and DirectX now properly display Win32 window content without bugs with offset.
    • Fixed memory leak in OpenGL's and DirectX's DataManager.
    • Possibility to save texture in OpenGL.
    • Fix typo in names vertext -> vertex.

    Plugins

    • Awesomium plugin removed (not LGPL anymore).

    UnitTests

    • New UnitTest for PolygonalSkin.
    • New UnitTest for RotatingSkin.

    CMake

    • New MYGUI_CHECK_MEMORY_LEAKS option for memory leaks detection in debug mode (MSVC only).
    • New MYGUI_USE_PROJECT_FOLDERS option for project folders inside generated solution (MSVC only).
    • UnitTest and Demos options were renames.
    • Win32 input used by default in demos/tools under windows instead of OIS (OIS input still used in other platforms).
    Source code(tar.gz)
    Source code(zip)
Owner
Fast, flexible and simple GUI development!
null
This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI

ImGui Goodies This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI. Currently, th

null 95 Nov 19, 2022
XClicker - Fast gui autoclicker for x11 linux desktops

What is XClicker? XClicker is an open-source, easy to use, feature-rich, blazing fast Autoclicker for linux desktops using x11. Main features Fairly s

Robiot 291 Dec 24, 2022
FLTK - Fast Light Tool Kit - a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11)

FLTK - Fast Light Tool Kit - a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11)

The FLTK Team 1.1k Dec 25, 2022
super duper simple gui for C, wrapping imgui and stb

super duper simle gui for C, wrapping imgui and stb You can use it as a static library with cmake. See the example directory for a complete example. E

Rasmus 11 May 19, 2022
raygui is a simple and easy-to-use immediate-mode-gui library.

raygui is a simple and easy-to-use immediate-mode-gui library.

Ray 2k Dec 30, 2022
It's a simple Canvas GUI for Unreal Engine 4 with mouse operation

ue4-canvas-gui It's a simple Canvas GUI for Unreal Engine 4 with mouse operation. Included elements: Rendering Text (left/center); Rendering Rects; Re

Superior. 56 Dec 26, 2022
rCalc is a Simple GUI Calculator

rCalc is a simple calculator created as a hobby project to improve my C programming language knowledge and GUI creation skills. GTK3 toolkit is used to create the GUI.

null 3 Aug 1, 2022
Free open-source modern C++17 / C++20 framework to create console, forms (GUI like WinForms) and unit test applications on Microsoft Windows, Apple macOS and Linux.

xtd Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applicat

Gammasoft 441 Jan 4, 2023
Purely native C++ cross-platform GUI framework for Android and iOS development. https://www.boden.io

BODEN CROSS-PLATFORM FRAMEWORK Build purely native cross-platform experiences with Boden Website ⬡ Getting Started ⬡ API Reference ⬡ Guides ⬡ Twitter

Ashampoo Systems GmbH & Co KG 1.6k Dec 27, 2022
Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL

NanoGUI NanoGUI is a minimalistic cross-platform widget library for OpenGL 3+, GLES 2/3, and Metal. It supports automatic layout generation, stateful

Mitsuba Physically Based Renderer 1.2k Dec 28, 2022
A barebones single-header GUI library for Win32 and X11.

luigi A barebones single-header GUI library for Win32 and X11. Building example Windows Update luigi_example.c to #define UI_WINDOWS at the top of the

Nakst 235 Dec 30, 2022
Nvui: A NeoVim GUI written in C++ and Qt

Nvui: A NeoVim GUI written in C++ and Qt

Rohit Pradhan 1.6k Jan 7, 2023
U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).

Ultimate++ Ultimate++ is a C++ cross-platform rapid application development framework focused on programmers productivity. It includes a set of librar

Ultimate++ 564 Jan 8, 2023
A wallpaper changer using Wallhaven api. Written with C++/CLR, only 0.5 MB and have a GUI.

WHaven Wallpaper WHaven Wallpaper is a desktop wallpaper change program for change your wallpapers directly from wallhaven. Features You have a search

null 2 Aug 1, 2022
win-vind provides a lightweight hybrid UI system of CUI and GUI for Windows

win-vind provides a lightweight hybrid UI system of CUI and GUI for Windows. And everything is inspired by Vim and its plugins. Simply put, it is a Vim-oriented toy box consisting of various useful features.

pit-ray 950 Jan 4, 2023
wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.

About wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls. wxWidgets allows y

null 4.8k Jan 7, 2023
Examples, tutorials and applications for the LVGL embedded GUI library

Examples, tutorials and applications for the LVGL embedded GUI library

LVGL 441 Nov 11, 2022
Window and GUI system based on Dear ImGui from OCornut

ImWindow Window and GUI system based on ImGui from OCornut. Include docking/floating window, multi window and multi render support. Platform Actually

Thibault Hennequin 715 Dec 20, 2022
HastyBadger is a branch of the excellent widget and GUI library Turbo Badger.

Branch Notice - HastyBadger Hasty is not Turbo. HastyBadger is a branch of the excellent widget and GUI library Turbo Badger. Notabe additions are c++

Michael Tesch 38 Nov 17, 2022