Window
classin packageklyn.gui.windows
public abstract class Window extends 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 size
size as Tuple<Int, Int>
Requested size expressed as (width, height).
public property title
title as String
Window title.
Inherited Properties
propertyInherited Properties from Widget: accentColor, backgroundColor, borderColor, bottom, canFocus, cornerRadius, font, foregroundColor, hasFocus, height, isEnabled, isHovered, isManaged, isTabStop, isVisible, layoutParams, margin, maxHeight, maxWidth, minHeight, minWidth, parent, preferredHeight, preferredWidth, right, sizePolicy, styleClass, 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
eventInherited 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 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 emitClosed
emitClosed() as Void:
Native backend hook that emits the close notification.
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 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 override setBounds
setBounds(x as Int, y as Int, width as Int, height as Int) as Void:
No summary.
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
methodInherited Methods from Widget: blur, containsPoint, emitKeyPressed, emitKeyReleased, emitMouseMoved, emitMousePressed, emitMouseReleased, emitMouseWheel, handleTabKey, notifyPaintRequested, paint, paintOverlay, repaint, requestFocus, resolvePreferredHeight, resolvePreferredWidth, resolvedFont, setBounds