Expand description
Window configuration, input state, and platform-specific options. Window configuration types, input state, and platform-specific options.
This module defines the core types used by the windowing system:
- Window configuration: [
WindowSize], [WindowFlags], [WindowPosition], [RendererOptions], [PlatformSpecificOptions] - Input state: [
KeyboardState], [MouseState], [TouchState], [CursorPosition] - Monitor/display info: [
Monitor], [MonitorId], [VideoMode] - Virtual key codes: [
VirtualKeyCode], [ScanCode] - Window icons: [
WindowIcon], [TaskBarIcon] - Platform options: [
WindowsWindowOptions], [LinuxWindowOptions], [MacWindowOptions], [WasmWindowOptions]
These types are consumed by the platform shell backends in
dll/src/desktop/shell2/{windows,macos,linux}/ and by
layout/src/window_state.rs for state management.
Structs§
- Android
Handle - AzString
Pair - A key-value pair of strings, used for X11 WM_CLASS and other platform properties
- Debug
State - Toggles webrender debug flags (will make stuff appear on the screen that you might not want to - used for debugging purposes)
- IOSHandle
- IconKey
- Key that is used for checking whether a window icon has changed -
this way azul doesn’t need to diff the actual bytes, just the icon key.
Use
IconKey::new()to generate a new, unique key - Keyboard
State - Determines which keys are pressed currently (modifiers, etc.)
- Large
Window Icon Bytes - 32x32x4 bytes icon
- Linux
Decorations State - State for tracking hover and interaction with Linux window decoration elements (CSD).
- Linux
Window Options - MacOS
Handle - MacWindow
Options - macOS-specific window options (reserved for future use)
- Monitor
- Complete information about a monitor/display
- Monitor
Id - Identifies a specific monitor/display
- Monitor
Vec - Monitor
VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Mouse
State - Mouse position, cursor type, user scroll input, etc.
- Platform
Specific Options - Platform-specific window configuration options (Windows, Linux, macOS, WASM)
- Renderer
Options - Scan
Code Vec - Scan
Code VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Scroll
Result - Result of dispatching a scroll delta into the system scroll-handling pipeline.
- Small
Window Icon Bytes - 16x16x4 bytes icon
- String
Pair Vec - String
Pair VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Task
BarIcon - 256x256x4 bytes window icon
- Touch
Point - Single touch point (finger, stylus, etc.)
- Touch
Point Vec - Touch
Point VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Touch
State - Video
Mode - Video
Mode Vec - Video
Mode VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Virtual
KeyCode Combo - Virtual
KeyCode Vec - Virtual
KeyCode VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Wasm
Window Options - WASM/web-specific window options (reserved for future use)
- Wayland
Handle - Wayland
Theme - WebHandle
- Window
Flags - Window
Id - Unique identifier for a window, auto-assigned via atomic counter.
- Window
Size - Windows
Handle - Windows
Window Options - XWindow
Type Vec - XWindow
Type VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- XcbHandle
- Xlib
Handle
Enums§
- Accelerator
Key - Utility function for easier creation of a keymap - i.e.
[vec![Ctrl, S], my_function] - Context
Menu Mouse Button - Cursor
Position - Full
Screen Mode - HwAcceleration
- ImePosition
- IME composition window rectangle (cursor position + height)
- Monitor
VecDestructor - Mouse
Cursor Type - Option
Char - Option
Hwnd Handle - Option
Keyboard State - Option
Linux Decorations State - Option
Monitor - Option
Monitor Id - Option
Mouse Cursor Type - Option
Mouse State - Option
Renderer Options - Option
Renderer Type - Option
String Pair - Option
String Pair Vec - Option
Task BarIcon - Option
Touch Point - Option
Video Mode - Option
Virtual KeyCode - Option
Virtual KeyCode Combo - Option
Wayland Theme - Option
Window Flags - Option
Window Icon - Option
Window Theme - Option
X11Visual - OptionX
Window Type - RawWindow
Handle - Renderer
Type - Scan
Code VecDestructor - Srgb
- String
Pair VecDestructor - Touch
Point VecDestructor - Update
Focus Warning - User
Attention Type - Video
Mode VecDestructor - Virtual
KeyCode - Symbolic name for a keyboard key, does NOT take the keyboard locale into account
- Virtual
KeyCode VecDestructor - Vsync
- Window
Background Material - Compositor blur/transparency effects for window background
- Window
Decorations - Window decoration style
- Window
Frame - Window frame state (normal, minimized, maximized, fullscreen)
- Window
Icon - Window
Position - Position of the window on screen
- Window
Theme - State, size, etc of the window, for comparing to the last frame
- Window
Type - Window type classification for behavior control
- XWindow
Type - X window type. Maps directly to
_NET_WM_WINDOW_TYPE. - XWindow
Type VecDestructor
Constants§
Functions§
- process_
system_ scroll - Dispatch a system scroll event and return a
ScrollResultdescribing what happened.
Type Aliases§
- Hwnd
Handle - Note: this should be a *mut HWND
- Monitor
VecDestructor Type - Scan
Code - Hardware-dependent keyboard scan code.
- Scan
Code VecDestructor Type - String
Pair VecDestructor Type - Touch
Point VecDestructor Type - Video
Mode VecDestructor Type - Virtual
KeyCode VecDestructor Type - X11Visual
- XWindow
Type VecDestructor Type