Releases: Neko-Box-Coder/ssGUI
Releases · Neko-Box-Coder/ssGUI
v0.94.02 (DEV) (UNSTABLE)
📝 Summary for v0.94.02
This release added a few new features such as tabbing, standard checkbox and docking V2.
While this release brought a lot of new improvements and bug fixes, it is still far from bug free and clunkiness.
Therefore, this release is marked as unstable and the next release (v0.94.03) will mainly be aiming for restructuring and testing instead of adding new features.
🗒️ Changes for v0.94.02 ⬅️ v0.94.01
🚀 Features
- Tab GUI Object (Rf8FO9AQjv)
- TabArea and Tabbable (Rf8FO9AQjv)
- Docking v2 (Js3lpwy7AJ)
- Standard Checkbox (IO4b10Mdn1)
⏫ Functional Improvements
- Added ability to set border to be inner or outer
- Adding input status for last frame (9uoLK4Po9J)
- Default Max Size for checkbox (JXJnz3v5JD)
- Allow option to edit text on standard slider value (3MwJ7gglI8)
- Text modified & finished modifying via GUI event callback (AfoI5x7b6P)
- Refactor ssGUIManager to allow stepping different section (yKWy0x8Cqk)
- Add Event Callback for text change (L0hp5jTY7Y)
- Ability to create new texture atlas (5GX9AWHyyv)
- Added function for printing GUI Objects tree
🧪 Refactoring / Optimizations
- Moved Object Update Info out and added clang format
- Removed duplicate code for extensions
- Updated last input status to be not const
- Rework input status (4F85J3oD98)
- Template for Extension
- Added template for creating new GUI Object classes
- Add input templates from ssGUIManager to backend input interface (8F47mDvMZZ)
- Replace non template functions that uses string to template in extension (kwk4HP3HDr)
- Updated CMakeLists to allow exposing dependencies targets
- Updated CMake files and moved inline function for ssGUIManager to cpp
- Updated call stack logging
- Changed dependencies projects to private to avoid pollution
- Moved backend factory implementation
- Respect current min max size when syncing min max size (uSIS1n1Akq)
- Modified event listener to pass event info by reference
- Allow listener to modify event info to request deleting listener
🐞 Bug fixes
- Fixed Composite Layout bug where nested layouts are not working properly (QtZ8L4epJ4)
- Fixed textfield caret stuck at beginning or end when selected all texts
- Fixed textfield caret can't go to end of text
- Fixed textfield caret arrow key navigation responsiveness
- Fixed Mask Enforcer not redrawing when parent is resizing (gwaae9R37t)
- Fixed Textfield navigation from last line is going to wrong line when last line is empty (jqPuwPEa39)
- Rework Textfield caret based on detecting changes on start and end selection index (f1cao2EtWm)
- Fixed Text double clicking not selecting word & triple click not selecting sentence (2yGb14JNt2)
- Fixed Text not selecting when cursor is selecting but outside of the widget (N6GQMcl77s)
- Fixed CMake not showing non hidden variables properly
- Fix to backend system mock missing chrono header
- Fixing ImageCanvas not creating TexCoords
- Change default max size to be large but not maximum of type (dGr0K5oxVE)
- Fixed image atlas auto test
- Change GUI Objects to call custom copy constructor (s0TPiFsJY1)
- Fixed Crash on exit when layout got docked and undocked (t7do5GhLPP)
- Fixed crashing caused by missing initialization
You can find SFML Binaries here (Scroll to bottom), alternatively you can try latest SFML snapshots
v0.94.01 (DEV) (STABLE)
🗒️ Changes for v0.94.01 ⬅️ v0.94.00.a
🚀 Features
⏫ Functional Improvements
- Common OpenGL (uS0PRvYIn5) with batched drawing (bT8I6wx1S3), Texture Atlas (TQGtvRw14q)
- Mock Backends (U8HFTzEd8f)
- Allow getting normal std::string for text (s6SM3t3gCS)
- Allow event listener to be ordered (YBmnRay76B) & updated documentation
- Event forwarding (E3f7YWZQO3) & Update to Standard Slider (4WvgDW71cH)
- Added ClearMenuItems to Menu (dp8btys7DG)
- Added Child order manipulation functions (c0Q2VUaGP3) & refactoring
- Add name property to GUI Object (iqXTrGl9V7)
- Add template for adding child with wrapper and alignment (rzNz0819r5)
🧪 Refactoring / Optimizations
- Migrated Documentation generation to another repo
- DrawingEntity (351XsAgxQy)
- Updated CMakeLists to update options automatically without error
- Added SimpleOverride as submodule and updated other modules
- Added default minimum size for text field
- Updated default size for standard slider
- Override SetInteractable and SetBlockInput in all composite objects (PZ3A8l51R6)
- Rework standard window, standard button to be more flexible (2I9s7fU2K2)
- Updated ssLogger and ssGUI logs
- Renamed AddPreferredSizeMultiplier to AddPreferredSizeMultipliers for multiple mulipliers versions
- Updated IDE groupings for targets
- Removed unneeded files and changed to use Embed2C instead
- Change Text default size and alignment (PcRcOZ77PT)
- Added logic for deleting scrollbars if they got unset
- Removed restriction of needing image in order to use ImageCanvas
- Rework Image Canvas (zU5Chu6mPs)
- GUI Object clean up is only called in destructor instead of either destructor or delete function (08KyPADNjo)
🐞 Bug fixes
- Fixed rounded corners warning log not using correct tag
- Fixed Typing doesn't replace selection right in text field (ZeVg3yWo6Z)
- Fixed Box Shadow wrong offset when GUI Object size is small (uQ82SvoYxR)
- Fixed Text losing focus should deselect text (j6bwJJhdu1)
- Fix to standard Slider not updating value text (4WvgDW71cH)
- Fixed SetDropdownMenu not copying menu items properly (ByOANC07U4)
- Fixed AddPreferredSizeMultiplier not working properly when multiple multipliers are passed
- Fixed degree mode is not working properly
You can find SFML Binaries here (Scroll to bottom), alternatively you can try latest SFML snapshots
v0.94.00.a (STABLE)
🗒️ Changes for v0.94.00.a ⬅️ v0.94.00
🚀 Features
⏫ Functional Improvements
- Changed AdvancedPosition to set the position before object update
- Increased standard application framerate from 50 to 100
🧪 Refactoring / Optimizations
- Added slider Playground
- RoundedCorners now output GUI Object type when fails
- Updated Documentation Style
🐞 Bug fixes
- Fixed Dockable keeps redrawing
- Fixed slider rendering invalid vertices which causes RoundedCorners to fail (YNZP9Ue9W7)
- Fixed GetContainedCharacterIndexFromPos accessing invalid index & crash
You can find SFML Binaries here, alternatively you can try latest SFML snapshots
v0.94.00 (STABLE)
🗒️ Changes for v0.94.00 ⬅️ v0.93.00.b
🚀 Features
- Xorg OpenGL Backend (41KmDa7plV)
- Win32 API OpenGL Backend (F4KdP53djz)
- Image Backend (stb_image) (LUHs5EE1wa)
- FreeType Font Backend (N9vn1D5n1N)
⏫ Functional Improvements
- Added listener for image data changed (z07wmHF8FJ)
- Added BeforeObjectUpdate and ObjectUpdated event (mz7z5iYPh6)
- Added Add CustomInfo to EventInfo (99LbQCNr2x)
- Added BeforeObjectRenderEvent & ObjectRenderedEvent (3MK0BEMT2h)
- Added Backend Input proxy functions to ssGUIManager (K93zgMlZrg)
- Allow event listener for backend input (2t57fIhZZg)
- Ability to get image cache in backend drawing (41WKjC00QO)
- Rework image caching (mtA0kttR4K)
- Packing default resources (bwL12qiGyQ)
- Allow support for scaling font without relying on font size (uty6Vx7ARw)
- Added Tag support for logging (b1AlDu9seT)
- Added Level support for logging (2z3966Z2KU)
- Added child with position alignment for Layout (q2TVPk1Coo)
- Finish Copy constructor for backend mainwindow (O8EJ6g2ZH0)
- Fixed PostGUIRendering has no way of knowing which MainWindow is being rendered right now (48pfr2a1cH)
- Added method for separating window size and render area size (y9F9LvxwYq)
- Added Text input to realtime input info (ya0psd8a55)
- Added/Checked support for rendering custom graphics (Y6TyV5q4it)
- Allow adding empty shapes for shape extension (NK82ucq7dZ)
- Added Helper function for adding wrapper (as child) to layout (yjZ3LzBC58)
🧪 Refactoring / Optimizations
- (Partial) Tests for ssGUI (FZ9uL5t0Ye)
- Improved API documentation (C5HJu9yQy5)
- Rework eventcallback (qqp82FJ6cp)
- ssGUI::Create (& Dispose) replacing ssGUI::Factory (1lv3UrL6KY)
- Rework lifetime management (pgX7x2fAm5)
- Standardize default resources (MMS80jlKv9)
- Changed resource directories to be using symlink instead of copying (My4fQn0V4x)
- Keep track of Vsync status and have it off by default (8k2vj9KVvp)
- Modified default behaviour for GetSize and SetSize for MainWindow
- Added additional override methods for MainWindow
- Changing BackendInputInterface method parameter types
- Added Macros for turning enum to string, renamed KeyGroup to InputGroup
- Updated documentation for ChildPositionChangedEventCallback
- Added COUNT to ssGUI::Enums::CursorType
- Renaming ssGUI::Enums::ButtonState::DISABLED to ...NOT_INTERACTABLE
- Updated documentation for BindToObject
- Removed duplicated code for event callback using macro
- Allow caching for shape extension (QG87nI6C8i)
- Add folder structure to CMake targets for Visual Studio solutions in CMake (k4m1JipRq6)
- Refactor integration tests (MR4tBb3j1D) (Still WIP)
- Removed SyncPositionOffset (CuO4z45v86)
- Added "_H" suffix to all header guard (1bc9dsFXeG)
- Rewrote Backends (4fiQT5XSI8)
- Added Warnings options for GCC in CMake (x1G4UIxS5b)
- Updated Documentation for SFML for the link to the snapshot (B9XWdGp26G)
- Use Object for the event listener arguements (CBJc8491K3)
- Rework realtime input info and input objects (567acch9sP)
- Migrate away from ssGUIBuildAndDebugConfig.hpp (E9cN4c8ldc)
🐞 Bug fixes
- Fixed Layout SyncContainerMinMaxSize is not working properly (a2WAo1t7Hp)
- Fixed Text space not correctly displayed (0H8ryu87cK)
- Fixed resource directory location on MSVC (OKx2Ft3Pf7)
- Fixed Shape Extension not rendering properly due to caching (XY86LvRgHg) (Caused by QG87nI6C8i)
- Fixed layout not excluding MainWindow for certain actions
- Fixed ResetWindow is causing errors in SFML (uAG2r5WZ06)
- Disable HarfBuzz (EH7Xj1Q7G6)
- Fixed Calling SetFocus with same value repeatedly causes redraw (g44dYv6y9P)
- Fixed Image canvas is not caching (9sj8QG5QMF)
- Fixed Invalid character is showing when logging callstack on windows console (8iDRFqx6F9)
- Fixed Invalid log file name when logging to file (3cW4ctemPC)
- Fixed Custom Graphics Example is not working on Windows (U6S2Z511Pp)
Below are SFML Binaries used for this version, alternatively you can try latest SFML snapshots
v0.93.03 (DEV)
🗒️ Changes for v0.93.03 ⬅️ v0.93.02
🚀 Features
- Xorg OpenGL Backend (41KmDa7plV)
⏫ Functional Improvements
- Add child with position alignment for Layout (q2TVPk1Coo)
- Finish Copy constructor for backend mainwindow (O8EJ6g2ZH0)
- Fixed PostGUIRendering has no way of knowing which MainWindow is being rendered right now (48pfr2a1cH)
🧪 Refactoring / Optimizations
- Modified default behaviour for GetSize and SetSize for MainWindow
- Added additional override methods for MainWindow
- Changing BackendInputInterface method parameter types
- Added Macros for turning enum to string, renamed KeyGroup to InputGroup
- Updated documentation for ChildPositionChangedEventCallback
- Added COUNT to ssGUI::Enums::CursorType
- Renaming ssGUI::Enums::ButtonState::DISABLED to ...NOT_INTERACTABLE
- Updated documentation for BindToObject
- Removed duplicated code for event callback using macro
- Allow caching for shape extension (QG87nI6C8i)
- Add folder structure to CMake targets for Visual Studio solutions in CMake (k4m1JipRq6)
- Refactor integration tests (MR4tBb3j1D) (Still WIP)
- Remove SyncPositionOffset (CuO4z45v86)
🐞 Bug fixes
- Fixed layout not excluding MainWindow for certain actions
- Fixed ResetWindow is causing errors in SFML (uAG2r5WZ06)
- Disable HarfBuzz (EH7Xj1Q7G6)
v0.93.02 (DEV)
🗒️ Changes for v0.93.02 ⬅️ v0.93.01
🚀 Features
- Win32 API OpenGL Backend (F4KdP53djz)
- Image Backend (stb_image) (LUHs5EE1wa)
- FreeType Font Backend (N9vn1D5n1N)
⏫ Functional Improvements
- Added method for separating window size and render area size (y9F9LvxwYq)
🧪 Refactoring / Optimizations
- Added "_H" suffix to all header guard (1bc9dsFXeG)
- Rewrote Backends (4fiQT5XSI8)
- Added Warnings options for GCC in CMake (x1G4UIxS5b)
- Updated Documentation for SFML for the link to the snapshot (B9XWdGp26G)
🐞 Bug fixes
- Fixed Calling SetFocus with same value repeatedly causes redraw (g44dYv6y9P)
- Fixed Image canvas is not caching (9sj8QG5QMF)
- Fixed Invalid character is showing when logging callstack on windows console (8iDRFqx6F9)
- Fixed Invalid log file name when logging to file (3cW4ctemPC)
- Fixed FPS lock correction depending on actual sleep duration (iX7ETD88Ax)
- Fixed Custom Graphics Example is not working on Windows (U6S2Z511Pp)
- Fixed Standard Window doesn't deallocate icon image data properly (i1d9ZLnDEX)
- Fixed SetSliderValue is causing stack overflow (wb2Lec1FmF)
- Forgot to push MSVC fix changes 😅, now the changes are applied
v0.93.00.b (STABLE)
🗒️ Changes for v0.93.00.b ⬅️ v0.93.00.a
🚀 Features
⏫ Functional Improvements
🧪 Refactoring / Optimizations
🐞 Bug fixes
- Forgot to push MSVC fix changes 😅, now the changes are applied
- Fixed SetSliderValue when is causing stack overflow (wb2Lec1FmF)
- Fixed Standard Window doesn't deallocate icon image data properly (i1d9ZLnDEX)
- Fixed FPS lock correction depending on actual sleep duration (iX7ETD88Ax)
v0.93.01 (DEV)
🗒️ Changes for v0.93.01 ⬅️ v0.93.00
🚀 Features
⏫ Functional Improvements
- Added Text input to realtime input info (ya0psd8a55)
- Added/Checked support for rendering custom graphics (Y6TyV5q4it)
- Allow adding empty shapes for shape extension (NK82ucq7dZ)
- Added Helper function for adding wrapper (as child) to layout (yjZ3LzBC58)
🧪 Refactoring / Optimizations
- Use Object for the event listener arguements (CBJc8491K3)
- Rework realtime input info and input objects (567acch9sP)
- Migrate away from ssGUIBuildAndDebugConfig.hpp (E9cN4c8ldc)
- Added description for using stable release instead in documentation (Jfez2qf71P)
- Changed DefaultGeneratedDockerWindow to only apply to floating windows (k1a7n2fIck)
🐞 Bug fixes
v0.93.00.a (STABLE)
🗒️ Changes for v0.93.00.a ⬅️ v0.93.00
🚀 Features
⏫ Functional Improvements
🧪 Refactoring / Optimizations
- Changed DefaultGeneratedDockerWindow to only apply to floating windows (k1a7n2fIck)
- Added description for using stable release instead in documentation (Jfez2qf71P)
🐞 Bug fixes
v0.93.00 (STABLE)
🗒️ Changes for v0.93.00
🚀 Features
- Basic Image Cnavas class (G6Cn0cvkzw)
- Scrollbar (fdQs93QAF5)
- Slider (iIr2HwnxA6)
- Basic Text field class (t03NeklIUd)
- Added Dropdown (LLN7EnW1Gc)
- Menu Item Widget (5fYhcWjw0A)
- Menu Widget (73Ru4Y8TxC)
⏫ Functional Improvements
- Allow Framerate limitation (WkRi5p38ak)
- Ability to disable caching in ssGUIManager (eL2ABlE60Y)
- Modify AdvanceSize and AdvancePosition to allow mixture of percentage and pixel (jjeJh9C3ts)
- Added options for end padding for slider (Yp429f7kZT)
- Add Mouse scrolling to backend (x3nQ0DgNKT)
- Line support on shape extension (0tXRE9GnsF)
- SegmentedVector data structure (9mC5VQ9S0w)
- Text Selection (qy6FBCj4we)
- Clipboard backend support (w2MzYz1dqk)
- Fix text tab spacing where the positions are consistent instead of just adding fixed amount of spaces (viatH2V8x2)
- Get Character index by position (OWz1WR23QZ)
- Text underline support (uH2Zrgf2CW)
- Icon mode for standard button (vUyu1H9lHg)
- Added Image colour tinting (kzvU2ZLH0Q)
- A way to process input from a GUI Object perspective (ihGgLxu7E6)
- Added late update to GUIManager (fwY5p8ywJJ)
- Setting HeapAllocation flag on GUI Objects when created by factory (qt1w7eqx0u)
- Added focus logic and Focused and FocusLost eventCallback (bS611lFLeA)
- MainWindow & backend supporting borderless / fullscreen (Ieeo049MWv)
🧪 Refactoring / Optimizations
- Apply floating tag to other composite GUI Objects &
Set compositeChild flag (xRUj3t16v6) - Flag to show if the child is part of composite object or not (rk1xrbe2CH)
- Migrate to use ssLogger (wP277k7maG)
- Change static initialization for default variables to not use static lambda (Yejs6XvGI3)
- Refactor CmakeList (w3m6W4C6vu)
- Reverting changes from default variables in header files to initializer list (V7Fw6ISgqC)
- Check composite GUI objects if the UserCreated flag is properly set (3JfQeB14qD)
- Check all the event callback triggers are affected by IsVisible/IsEnable or not (8T857dsc7D)
- Clean up ssGUIManager (P7afv9pps7)
- Rename isVisible to isEnabled (2n6Pro1f1j)
- Refactoring setting and getting custom cursor in backend input (JPlQ67Tj53)
- Advanced Size caching (5NdHDS1XT0)
- Add GUI prefix/suffix to ssGUIManager methods (zdAd54i2mU)
- Convert input blocking from boolean to responsible object (mzYzrJC8Q3)
- Change Rounded Corners from int to float (nn4y57ebT7)
- Change Text and related objects' fields from int to float (Y51JY26ONX)
- Layout & border & roundedCorners & etc.. use float instead of int (WwBxA12K31)
- Moving GUI Object Update to common method (7bMq3vyaW6)
- Restructuring GUIObject Data (uXD7o84XoE)
- Refactor inputs for allowing all inputs to be captured in low framerates with realtime input (48T2xnG3EM)
🐞 Bug fixes
- Dockable sometimes does not dock because it is dependent on the update order of GUI Objects (bV99Pj2tep)
- Dockable is setting the parent when the window is being dragged.
This causes MaskEnforcer to be removed by Mask. (cr763a86Wv) - Rounded Corners are not working properly with Mask (81Gca5PeeG)
- Weird Crash for DockingTest (G7Qt6T8RIA)
- Rounded Corners is receiving anti-clockwise vertices from slider (It8v2F6jZW)
- Focus is not properly set to false when other child is focused (5PFnUU1DlV)
- Mask bug when non axis-aligned shapes are touching the mask edges (ESWh21J3dn)
- Mask bug when non axis-aligned shapes are moving (667P3eTrCf)
- Setting Text color, font size and underline are no longer valid methods (pA7lWiN7QS)
- Fixed Extensions misses event listener index for cloned object (5k4E28uHiu)
- Fixed Some extensions don't account for anchorType when getting position (Gt2VTb5Q1O)
- Fixed SetFocus(true) is not properly setting children focus to false (wwlZ2hjN8z)
- Fixed SetVisible to false not properly redrawing GUI Object (6z15XsXsC1)
- Fixed mainWindow not drawing when regain focus after lost focus (p2v31L7ZTo)