There are four user levels to using a GUI framework:
- View composition
- Custom interactions
- Custom widgets
- Framework Development
Event
and Lifecycle
are propagated down the entire tree but if every single events was processed by every widget that would cause performance issues.Pod
Pod
and some are local and targeted to specific subset of widgets in the tree (e.g.MouseMove).IS_DISABLED
, IS_HANDLED
, HAS_ACTIVE
, IS_HOT
, and HAS_FOCUS
flags.IS_HANDLED
flag is set to false
at the root of the tree by the Pod
IS_HANDLED
flag through its context.IS_HANDLED
flag applies to keyboard and mouse events.Buffer<uint> Input; | |
RWBuffer<uint> Output; | |
//returns the index that this value should be moved to to sort the array | |
uint CuteSort(uint value, uint laneIndex) | |
{ | |
uint smallerValuesMask = 0; | |
uint equalValuesMask = ~0; | |
//don't need to test every bit if your value is constrained to a smaller range |
The graphical user interface (GUI) is the cornerstone of most modern applications. It is often the main interface to use a computer program, providing a bridge from your software to someone out there in the world. Therefore, to best represent our hard-earned application logic, a GUI should be responsive, robust, and accessible.
So let's use Rust, a modern language for efficient and robust software! Well...
I've been working on open-source Rust projects for about 8 years now,
[unstable] | |
codegen-backend = true | |
[profile] | |
incremental = true | |
[profile.dev] | |
codegen-backend = "cranelift" | |
# If you want to attach a debugger, set this to true | |
debug = "line-tables-only" |