rsgt 0.3.0

Rust simple GUI Toolkit
# RSGT : Rust simple GUI Toolkit

[![rust-clippy analyze](https://github.com/OvertimeCoder/RSGT/actions/workflows/rust-clippy.yml/badge.svg)](https://github.com/OvertimeCoder/RSGT/actions/workflows/rust-clippy.yml)
![Crates.io](https://img.shields.io/crates/v/rsgt)
![Crates.io](https://img.shields.io/crates/d/rsgt)

RSGT is a simple GUI Library

# Design

RSGT's event handling is based on Swing (Java) event handling. (which uses callbacks). In addition, drawing of GUI components uses the GPU (wgpu), allowing for flexible representation.

# Example


```Rust
use rsgt::Size;
use rsgt::event::WindowListener;
use rsgt::rframe::{CloseOperation, RFrameBuilder};

fn main() {
    // Apply Visual Style (Windows only)
    rsgt::os::enable_visual_style();
    // Initialize RFrame
    let mut frame = RFrameBuilder::new()
        .with_size(Size(1280,720))
        .with_title("Show window")
        .with_visible(true)
        .build()
        .unwrap();
    // Add window listener(Callback to detect Window events)
    frame.add_window_listener(SampleWindowListener {});
    // Show window
    frame.run();
}

struct SampleWindowListener {}

impl WindowListener for SampleWindowListener {
}
```

## Execution Result

![Show Window](./img/show_window.png)  

# Goal

* To be able to handle a wide range of applications from simple to complex
* Ensure that the same code works the same in any environment

# License

"RSGT" is under MIT LICENSE