class

Egui::Backend::Sokol::WindowPort

Inherits Egui::SystemPorts::Window::Implementation < Reference < Object

System port Window → sokol_app (title, fullscreen) + shim (resize/move/minimize/maximize: X11 core + _NET_WM_STATE, Win32).

Constants

RESIZE_EDGES = {:top_left => 0, :top => 1, :top_right => 2, :right => 3, :bottom_right => 4, :bottom => 5, :bottom_left => 6, :left => 7}

Native move/resize: X11 _NET_WM_MOVERESIZE, Win32 WM_NCLBUTTONDOWN, macOS performWindowDrag/ResizeWithEvent:. Direction codes are the X11 convention (0..7), shared by the shim's Win32 HT* mapping.

Instance methods

fullscreen?
Source
maximize
Source
minimize
Source
position
Source
restore
Source
set_decorations(decorated : Bool) : Nil

Borderless toggle (shim): X11 _MOTIF_WM_HINTS, Win32 window styles + SWP_FRAMECHANGED, macOS NSWindowStyleMaskTitled. The default client-side chrome follows the state: it shows while the window is borderless and hides when the system frame comes back.

Source
set_icon(rgba : Bytes, width : Int32, height : Int32) : Nil
Source
set_opacity(alpha : Float64) : Nil

Whole-window opacity (shim): X11 _NET_WM_WINDOW_OPACITY, Win32 WS_EX_LAYERED + LWA_ALPHA, macOS NSWindow.alphaValue.

Source
set_position(x : Int32, y : Int32) : Nil
Source
set_shape(mask : Bytes, width : Int32, height : Int32) : Nil

X11 XShape / Win32 SetWindowRgn, built from scanline runs of the opaque mask pixels (see the shim). macOS no-op — the window's own alpha composites natively there.

Source
set_size(width : Int32, height : Int32) : Nil
Source
set_title(title : String) : Nil
Source
start_drag
Source
start_resize(edge : Symbol) : Nil
Source
toggle_fullscreen
Source