Unique-Digital-Resources / my_rust_gui

my experimental rust gui framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

my experimental rust gui framework

It uses both: Skia_safe as a graphics engine, Winit as a window manager, and Softbuffer to connect them. Features:

  • Ability to add custom user interface components
  • Using themes and adding other themes
  • and more coming soon.

Note:

It is still in the early stages of development

How it works?

When a new window is created using UWindow.new(), UWindow.run() after the button widget has been added to UWindow.children, the event loop runs, and depending on the event, the functions associated with each specific UWidgetTtype are activated, for example: when the movement of the mouse cursor occurs and it is on Button element,UWindow activates the Button.on_hover function of the button,and current UTheme in UWindow.theme draw the button. It should be noted that the tool is detected with the mouse cursor by the color of the pixels in offscreen buffer that created in UWindow, instead of calculating the tool’s coordinates and size. This method is easier and more accurate.

  • UWindow is responsible for window management and event handling.
  • Utheme is responsible for drawing widgets apearance dependeng on the selected theme.
  • Uwidget is responsible for widget management.

map

Documentation

coming soon

See also

Learn graphics for theoretical gui with rust

About

my experimental rust gui framework

License:Apache License 2.0


Languages

Language:Rust 100.0%