Skip to content

Brisk v0.9.8

Choose a tag to compare

@github-actions github-actions released this 07 May 16:58
· 215 commits to main since this release
485e032

Added

  • Supported nested menus and improved menu accessibility
  • Introduced ListBox widget
  • Added new example: WebGPU demo
  • Added new example: Dashboard
  • Supported rendering UI to an offscreen buffer
  • Added option to skip frames when no UI changes occur
  • Enabled access to the WebGPU API from Brisk applications
  • Introduced WebGpuWidget for displaying 3D content within a widget
  • Implemented automatic signed distance field optimizations for Canvas
  • Enabled application-wide shortcut support
  • Added LinearGradient and RadialGradient classes
  • Added new example: Rendering to an external window
  • Added new example: Rendering GUI to an external window
  • Added new example: Splash screen
  • Introduced texture blur functionality
  • Enabled measurement of GPU execution time
  • Improved uniform scaling support in Matrix
  • Enabled drawing rectangles with individual border radii
  • Introduced shadow spread and shadow offset properties
  • Enabled retrieval of native texture from Image
  • Added ability to create a render device for a specific display
  • Enabled retrieval of the display associated with a window
  • Added support for premultiplying alpha during decoding
  • Introduced component actions
  • Added Widget::selected property
  • Added style variables for focus frame and hint
  • Provided full support for Length debug visualization
  • Added _fmt user-defined literal for string formatting
  • Added a safe nullable pointer wrapper
  • Added cpuUsage function
  • Allowed use of a custom main function
  • Supported reversed subpixel order
  • Allowed disabling RTTI for Brisk
  • Allowed disabling exceptions for Brisk
  • Added app- and vendor-specific folders to the DefaultFolder enum

Changed

  • Updated documentation for improved clarity and completeness.
  • Refactored SIMD<> for better optimization.
  • Made D3D11 backend optional on Win32 when WebGPU is enabled.
  • Changed ImageRenderTarget to use BGRA color format (previously RGBA).
  • Updated Gradient to use premultiplied colors.
  • Set ColorW as the default color type.
  • Made Gradient a stack-allocated object.
  • Removed RawCanvas in favor of using Canvas universally.
  • Added new renderer debug visualization.
  • Improved angle gradient antialiasing at the 360°/0° boundary.
  • Updated Google Dawn to version 7080.
  • Optimized window rendering.
  • Refactored color spaces for better consistency.
  • Optimized texture blitting.
  • Made InputQueue explicitly stored in WidgetTree.
  • Enabled receiving non-client mouse clicks.
  • Improved focus handling: if a widget does not accept focus, the first descendant that does is selected.
  • Split overflow property into overflowScroll and contentOverflow.
  • Removed the following classes and functions:
    • PerformanceStatistics
    • DeferredCallback
    • threadScheduler

Fixed

  • Reduced blinking when closing a modal window.
  • Preserved order in VisualGroup.
  • Fixed widget border rendering issues.
  • Corrected incbin.h for 32-bit Windows ABI compatibility.
  • Allowed closing component windows from any thread.
  • Ensured both host and target tools are built during cross-compilation.
  • Prevented window centering unless its size is changed.

Renamed

  • C++
    • Standardized capitalization for abbreviations, treating them as normal words (e.g., HTTPResponse → HttpResponse).
    • GUIApplication to GuiApplication and GUIWindow to GuiWindow.
    • separateRenderThread to separateUiThread.
    • Palette::light_green to Palette::lightGreen and similar color names.
    • ItemList to Menu.
    • BindingObject to BindableObject.
    • KeyCode::Kp* to KeyCode::Num*.
    • Os*Handle to Native*Handle.
    • setMinimumMaximumSize to setMinimumMaximumSizes.
    • wordWrap function to textWordWrap.
  • CMake
    • APPLE_BUNDLE to APPLE_BUNDLE_ID.
  • Directories
    • Some directories were also renamed to reflect changes in class naming. If you encounter issues with pulling updates, clone the repository into a separate directory.