Skip to content

Beta 0.1.6

Choose a tag to compare

@Gabidal Gabidal released this 03 Mar 15:40
· 461 commits to main since this release

GGUI 0.1.6 Introduces the biggest update yet, with many new optimization techinigues and features.

Buig fixes:

  • Stability Improvements: Elements causing instability have been removed.
  • Terminal Canvas Fix: The Terminal Canvas now works as expected.
  • Shadow Rendering: Shadows are now correctly rendered.
  • Canvas Initialization: The Terminal Canvas initializes with the correct cells, addressing partial drawing instability.
  • On_Click Duplication: Instances where On_Click would duplicate the same event have been resolved.
  • Change Clock type: Changing from std::chrono::system_clock::time_point into std::chrono::high_resolution_clock::time_point.

Features:

  • Negative Positioning: Child elements can now be positioned negatively!
  • Hidden Overflow: Handle overflow gracefully.
  • Event Extension/Delay: Extend or delay events by specifying the event name.
  • Scroll View: Enjoy scrolling functionality.
  • Inspect Tool: Debugging made easier with the Inspect Tool, which displays logs and other useful information.
    • Access the Inspect tool with: ctrl + shift + i
  • Android Termux Support: Now compatible with Android Termux!

Optimizations:

  • Rendering Pipeline: Excessive content checking has been removed, resulting in faster rendering.
  • Transparency Cleaning: Improved efficiency in handling transparency.
  • UTF Cluster Optimization: Enhancements for better performance.
  • Removed: Unnecessary rendering pause and resuming.

Known bugs:

  • Spawning over 2k elements quickly may cause instability if they are rendered.
  • Issues with mouse input.
  • If you want to add an new module and want to add its cababilities intot he HTML parser you may counter problems with:
    GGUI_Add_Translator("tag_name", Your_translator_Func);
    Since this is an macro which creates an global variable with name of the line number + instance counter, you may encounter problems where two different files which use this macro, may collide with eachother.

Where to next?

  • Finishing the HTML parser for GGUI is one of the main focus points.
  • Adding more options for mouse functionality like:
    • Drag&Drop elements.
    • Resize elements with mouse.
  • Progressing the game made with GGUI: https://github.com/Gabidal/DomainOfGods
  • By adding HTML parser we can then add source control into the Inspect Tool and modify the structure at runtime!
  • Element anchoring with: Left, Right, Up and Down.