Window
class in package klyn.gui.windows

    public abstract class Window extends Widget:

Widget
└ Window

Base class for graphical windows.

A window is centered on its screen the first time it is shown. Call `centerIn()` explicitly when you need to recenter it after changing its requested size before display.

    win = MainWindow("Demo")
    win.size = (900, 600)
    win.show()  # centered by default

Properties

Modifier and Type | Member | Description
--- | --- | ---
public property | appearanceMode `appearanceMode as String` | Appearance mode: `system`, `light` or `dark`.
public property | frame `frame as WindowFrame:` | Window frame mode.
public property | title `title as String` | Window title.

Inherited Properties
property Inherited Properties from Widget: accentColor, backgroundColor, borderColor, bottom, canFocus, cornerRadius, cursor, font, foregroundColor, hasFocus, height, isEnabled, isHovered, isManaged, isTabStop, isVisible, layoutParams, margin, maxHeight, maxWidth, minHeight, minWidth, parent, preferredHeight, preferredWidth, resolvedStyleCache, resolvedStyleCacheAppearanceMode, resolvedStyleCacheFont, resolvedStyleCacheRevision, resolvedStyleCacheStateKey, resolvedStyleCacheStyleClass, resolvedStyleCacheZoomRevision, right, size, sizePolicy, styleClass, toolTip, width, window, x, y
Events

Modifier and Type | Member | Description
--- | --- | ---
public event | closed `closed as CloseEvent` | Event emitted when the native window is closed.

Inherited Events
event Inherited Events from Widget: keyPressed, keyReleased, mouseMoved, mousePressed, mouseReleased, mouseWheel, paintRequested, resized
Constructors

Modifier and Type | Member | Description
--- | --- | ---
public | Window `Window(kmlFile as String, title as String = ""):` | No summary.
public | Window `Window(title as String = ""):` | No summary.

Methods

Modifier and Type | Member | Description
--- | --- | ---
public | adjustContentZoom `adjustContentZoom(steps as Int) as Boolean:` | Adjusts the runtime content zoom for all GUI windows.
public | adjustFontZoom `adjustFontZoom(steps as Int) as Boolean:` | Backward-compatible alias for `adjustContentZoom`.
public | applyContentZoom `applyContentZoom() as Void:` | Applies the current runtime content zoom without reloading the KSS tree.
public | applyLayout `applyLayout() as Void:` | Synchronizes window bounds with the requested size.
public native | applyNativeFrame `applyNativeFrame() as Void` | Applies the current `frame` value to the native window if it already exists.
public | applyTheme `applyTheme(mode as String = null) as Void:` | Applies a new appearance mode to this window and requests a repaint.
public | capture `capture(path as Path) as Void throws IOException:` | Captures the current window client area into a BMP image.
public native | capture `capture(filename as String) as Void throws IOException` | Captures the current window client area into a BMP image.
public native | centerIn `centerIn(container as Container = null) as Void` | Centers the window on its screen.
public native | close `close() as Void` | Closes the window.
public native | copyToClipboard `copyToClipboard(text as String) as Boolean` | Copies plain text to the operating-system clipboard.
public | emitClosed `emitClosed() as Void:` | Native backend hook that emits the close notification.
public native | readFromClipboard `readFromClipboard() as String` | Reads plain text from the operating-system clipboard.
public | relayout `relayout() as Void:` | Replays the window layout using the current bounds.
public | render `render(painter as Painter) as Void:` | Native-facing rendering hook.
public native | repaint `repaint() as Void` | Repaints the native window client area without forcing a relayout.
public native | repaintWidget `repaintWidget(widget as Widget) as Void` | Repaints a single widget when the backend can safely do it.
public | resetContentZoom `resetContentZoom() as Boolean:` | Resets the runtime content zoom and native window size.
public | resetFontZoom `resetFontZoom() as Boolean:` | Backward-compatible alias for `resetContentZoom`.
public native | run `run() as Int` | Starts the native event loop for this window.
public native | show `show() as Void` | Shows the window.
public | simulateMouseClick `simulateMouseClick(x as Int, y as Int, button as Int = 1, alt as Boolean = false, control as Boolean = false, shift as Boolean = false) as Void:` | Simulates a full native mouse click.
public native | simulateMousePressed `simulateMousePressed(x as Int, y as Int, button as Int = 1, alt as Boolean = false, control as Boolean = false, shift as Boolean = false) as Void` | Simulates a native mouse press routed through the window hit-testing pipeline.
public native | simulateMouseReleased `simulateMouseReleased(x as Int, y as Int, button as Int = 1, alt as Boolean = false, control as Boolean = false, shift as Boolean = false) as Void` | Simulates a native mouse release routed through the window hit-testing pipeline.
public native | syncContentZoomSize `syncContentZoomSize(zoom as Double, reset as Boolean = false) as Void` | Synchronizes the native client size with the current content zoom.
public | theme `theme() as KssTheme:` | Returns the active KSS theme for this window.

Inherited Methods
method Inherited Methods from Widget: blur, containsPoint, emitKeyPressed, emitKeyReleased, emitMouseMoved, emitMousePressed, emitMouseReleased, emitMouseWheel, handleTabKey, notifyPaintRequested, paint, paintClipped, paintOverlay, repaint, requestFocus, resolvePreferredHeight, resolvePreferredWidth, resolvedFont, setBounds