RSGT is a fast hold-mode GUI library; RSGT runs primarily natively (WASM support is under consideration...)
RSGT's event handling is based on Swing (Java) event handling. Also, the rendering of GUI components will be unique, so that components can be easily designed using CSS and other scripts.
```Rust use std::path::{Path, PathBuf}; use rsgt::rframe::{FrameEvent, RFrame}; use rsgt::event::WindowListener;
fn main() { // Apply Visual Style (Windows only) rsgt::os::enablevisualstyle(); // Initialize RFrame let mut frame = RFrame::new("RSGT Sample window", "samplewindow", 1280, 720); // Add window listener(Callback to detect Window events) frame.addwindowlistener(SampleWindowListener{}); // Set window icon frame.seticon(rsgt::graphic::loadicon(Path::new(concat!(env!("CARGOMANIFEST_DIR"), "/examples/icon.png")))); // Show window frame.run(); }
struct SampleWindowListener {
}
impl WindowListener for SampleWindowListener { // Event fired when a file is dropped on the Window fn windowdroppedfile(&self, path: PathBuf, event: &FrameEvent) { // Get RFrame from FrameEvent let frame = _event.getframe(); frame.seticon(rsgt::graphic::loadicon(path.as_path())); } } ```
"RSGT" is under MIT LICENSE