Crate wita[−][src]
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::WindowBuilder::new() .title("hello, world!") .build()?; Ok(Self) } } impl wita::EventHandler for Application { fn closed(&mut self, _: &wita::Window) { 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
.
struct Foo {} impl Foo { fn new() -> Result<Self, wita::ApiError> { wita::WindowBuilder::new().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::Window) { // write handling codes } }
Next, pass the your defined object to run
.
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
error | |
ime | An IME composition string and a candidate list |
raw_input | Provides raw input data. |
Structs
ApiError | Represents an Win32 API error. |
BorderlessStyle | Represents the borderless window style. |
InnerWindowBuilder | The object to build a window into the parent window. |
KeyCode | A virtual key and a scan code. |
Logical | Logical coordinate. |
Monitor | Describes monitor info. |
MouseState | A mouse cursor position and pressed mouse buttons. |
OtherParams | |
Physical | Physical coordinate. |
Position | A generic position |
ScanCode | A keyboard scan code |
Screen | Screen coordinate. |
Size | A generic size |
Window | Represents a window. |
WindowBuilder | The object to build a window. |
WindowStyle | Represents a window style. |
Enums
Cursor | |
Icon | Describes a icon. |
KeyState | Describes the state of a keyboard key and a mouse button. |
MouseButton | Describes mouse buttons. |
RunType | Describes event loop types. |
VirtualKey | Describes keyboard key names. |
Constants
DEFAULT_DPI | The value is an unit in logical coordinates. |
Traits
EventHandler | Trait that must implements for handling events. |
Style | A window style and the borderless window style. |
ToLogicalPosition | Converts to a logical position. |
ToLogicalSize | Converts to a logical size. |
ToPhysicalPosition | Converts to a physical position. |
ToPhysicalSize | Converts to a physical size. |
Functions
as_virtual_key | |
get_key_state | |
get_monitors | Return monitors info. |
keyboard_state | Get current key states. |
monitor_from_point | A screen position to a monitor. |
run | Run the event loop. |
to_raw_virtual_key |
Type Definitions
LogicalPosition | A position in logical coordinate. |
LogicalSize | A size in logical coordinate. |
PhysicalPosition | A position in physical coordinate. |
PhysicalSize | A size in physical coordinate. |
ScreenPosition | A position in screen coordinate. |