Expand description
A window library in Rust for Windows.
wita
is a library that create a window and run an event loop.
It is only for Windows.
Example
struct Application;
impl Application {
fn new() -> Result<Self, wita::ApiError> {
wita::Window::builder()
.title("hello, world!")
.build()?;
Ok(Self)
}
}
impl wita::EventHandler for Application {
fn closed(&mut self, _: wita::event::Closed) {
println!("closed");
}
}
fn main() {
wita::run(wita::RunType::Wait, Application::new).unwrap();
}
Event handling
You must implement EventHandler
for the your defined object, and can handle events in the impl EventHandler
.
Next, pass the your defined object to run
.
struct Foo {}
impl Foo {
fn new() -> Result<Self, wita::ApiError> {
wita::Window::builder().build()?;
Ok(Self {})
}
}
impl wita::EventHandler for Foo {
// You define handlers.
// For example, handle the event that closed the window.
fn closed(&mut self, _: wita::event::Closed) {
// write handling codes
}
}
wita::run(wita::RunType::Wait, Foo::new).unwrap();
Drawing on the window
There are directly no any methods for drawing on a Window
in wita
.
However, a Window
provides the raw_handle
that return a pointer which is HWND
.
You can create a drawing context by using the raw_handle
such as DirectX, Vulkan, etc.
Modules
EventHandler trait and event parameter structures.
An IME composition string and a candidate list
raw_input
raw_input
Provides raw input data.
Structs
Represents an Win32 API error.
Represents the borderless window style.
The object to build a window into the parent window.
A virtual key and a scan code.
Logical coordinate.
Describes monitor info.
A mouse cursor position and pressed mouse buttons.
Physical coordinate.
A generic position
A keyboard scan code
Screen coordinate.
A generic size
Represents a window.
The object to build a window.
Represents a window style.
Enums
Describes a mouse cursor icon.
Describes a icon.
Describes the state of a keyboard key and a mouse button.
Describes mouse buttons.
Describes a mouse wheel axis.
Describes the edge of the resizing window.
Describes event loop types.
Describes keyboard key names.
Constants
The value is an unit in logical coordinates.
The distance when the mouse wheel rotated expressed in multiples or factors of this value.
Traits
Trait that must implements for handling events.
A window style and the borderless window style.
Converts to a logical position.
Converts to a logical size.
Converts to a physical position.
Converts to a physical size.
Functions
Get the current key state;
Return monitors info.
Get current key states.
A screen position to a monitor.
Run the event loop.
Type Definitions
A position in logical coordinate.
A size in logical coordinate.
A position in physical coordinate.
A size in physical coordinate.
A position in screen coordinate.