Skip to content

Class: CUIWindow

Base UI window used by script-created controls.

Source

C++ class CUIWindow

Custom Constructor

CUIWindow

Remarks

Coordinates use engine UI space. Child windows attached through the script binding are adopted by their parent.

Extends

Extended by

Constructors

Constructor

ts
new CUIWindow(): CUIWindow;

Create an empty UI window.

Returns

CUIWindow

Overrides

EngineBinding.constructor

Methods

AttachChild()

ts
AttachChild(child: CUIWindow): void;

Attach a child window.

Parameters

ParameterTypeDescription
childCUIWindowChild window.

Returns

void

Remarks

The Lua binding adopts child; after attachment, treat the parent as owning its lifetime.


DetachChild()

ts
DetachChild(child: CUIWindow): void;

Detach a child window.

Parameters

ParameterTypeDescription
childCUIWindowChild window.

Returns

void

Remarks

Detaching removes the parent relation. It does not reinitialize the window or attach it elsewhere.


Enable()

ts
Enable(is_enabled: boolean): void;

Enable or disable interaction.

Parameters

ParameterTypeDescription
is_enabledbooleanWhether the window should be enabled.

Returns

void

Remarks

Enabled state and visibility are separate. Hidden controls can still be enabled.


FocusReceiveTime()

ts
FocusReceiveTime(): number;

Returns

number

Level time when this window received focus.


GetAbsoluteRect()

ts
GetAbsoluteRect(): Frect;

Returns

Frect

Window rectangle in screen coordinates.


GetFont()

ts
GetFont(): CGameFont;

Get the font assigned to this window.

Returns

CGameFont

Font assigned to this window.

Remarks

Text controls need a font assigned before drawing custom text reliably.


GetHeight()

ts
GetHeight(): number;

Returns

number

Window height.


GetMouseX()

ts
GetMouseX(): number;

Get cursor X coordinate stored on this window.

Returns

number

Current cursor X coordinate.

Since

OpenXRay 2026-01-01, e3b0e3c5, PR #2028

Source

src/xrUICore/ui_export_script.cpp, CUIWindow.GetMouseX binding.


GetMouseY()

ts
GetMouseY(): number;

Get cursor Y coordinate stored on this window.

Returns

number

Current cursor Y coordinate.

Since

OpenXRay 2026-01-01, e3b0e3c5, PR #2028

Source

src/xrUICore/ui_export_script.cpp, CUIWindow.GetMouseY binding.


GetWidth()

ts
GetWidth(): number;

Returns

number

Window width.


GetWndPos()

ts
GetWndPos(): vector2;

Returns

vector2

Window position relative to its parent.


Init()

Call Signature

ts
Init(frect: Frect): void;

Initialize window rectangle.

Parameters
ParameterTypeDescription
frectFrectWindow rectangle.
Returns

void

Call Signature

ts
Init(
   x1: number, 
   y1: number, 
   x2: number, 
   y2: number): void;

Initialize window rectangle.

Parameters
ParameterTypeDescription
x1numberX position.
y1numberY position.
x2numberWidth.
y2numberHeight.
Returns

void

Remarks

Coordinates are relative to the parent; x2 and y2 are size, not bottom-right coordinates.


IsAutoDelete()

ts
IsAutoDelete(): boolean;

Returns

boolean

Whether the engine owns and deletes this window with its parent.


IsCursorOverWindow()

ts
IsCursorOverWindow(): boolean;

Returns

boolean

Whether the UI cursor is currently over this window.


IsEnabled()

ts
IsEnabled(): boolean;

Returns

boolean

Whether the window accepts interaction.


IsShown()

ts
IsShown(): boolean;

Returns

boolean

Whether the window is visible.


ResetPPMode()

ts
ResetPPMode(): void;

Disable post-process mode for this window.

Returns

void

Remarks

Pair with CUIWindow.SetPPMode when a window no longer needs post-process rendering.


SetAutoDelete()

ts
SetAutoDelete(auto_delete: boolean): void;

Set whether the parent owns this child window.

Parameters

ParameterTypeDescription
auto_deletebooleanWhether the engine should delete the child automatically.

Returns

void

Remarks

Use this for script-created windows that are attached to a parent and should be cleaned up with the UI tree.


SetFont()

ts
SetFont(font: CGameFont): void;

Set the font used by this window.

Parameters

ParameterTypeDescription
fontCGameFontFont object.

Returns

void


SetHeight()

ts
SetHeight(height: number): void;

Set window height.

Parameters

ParameterTypeDescription
heightnumberNew height.

Returns

void


SetPPMode()

ts
SetPPMode(): void;

Enable post-process mode for this window.

Returns

void

Remarks

Use for windows meant to be drawn through the post-process UI path, and reset it when the window returns to normal UI rendering.


SetWidth()

ts
SetWidth(width: number): void;

Set window width.

Parameters

ParameterTypeDescription
widthnumberNew width.

Returns

void


SetWindowName()

ts
SetWindowName(name: string): void;

Set debug/window name.

Parameters

ParameterTypeDescription
namestringWindow name.

Returns

void


SetWndPos()

Call Signature

ts
SetWndPos(vector2: vector2): void;

Set window position.

Parameters
ParameterTypeDescription
vector2vector2New position.
Returns

void

Call Signature

ts
SetWndPos(x1: number, y1: number): void;

Set window position.

Parameters
ParameterTypeDescription
x1numberX position.
y1numberY position.
Returns

void


SetWndRect()

Call Signature

ts
SetWndRect(rect: Frect): void;

Set window rectangle.

Parameters
ParameterTypeDescription
rectFrectNew rectangle.
Returns

void

Call Signature

ts
SetWndRect(
   x1: number, 
   y1: number, 
   x2: number, 
   y2: number): void;

Set window rectangle.

Parameters
ParameterTypeDescription
x1numberX position.
y1numberY position.
x2numberWidth.
y2numberHeight.
Returns

void

Remarks

Coordinates are relative to the parent; x2 and y2 are size, not bottom-right coordinates.


SetWndSize()

Call Signature

ts
SetWndSize(vector2: vector2): void;

Set window size.

Parameters
ParameterTypeDescription
vector2vector2New size.
Returns

void

Call Signature

ts
SetWndSize(width: number, height: number): void;

Set window size.

Parameters
ParameterTypeDescription
widthnumberNew width.
heightnumberNew height.
Returns

void


Show()

ts
Show(show: boolean): void;

Show or hide the window.

Parameters

ParameterTypeDescription
showbooleanWhether the window should be visible.

Returns

void

Remarks

Visibility does not attach, detach, enable, or disable the window.


WindowName()

ts
WindowName(): string;

Returns

string

Window name.

Properties

__name

ts
readonly __name: string;

LuaBind instance constructor name.

Inherited from

EngineBinding.__name


__name

ts
readonly static __name: string;

LuaBind class constructor name.

Inherited from

EngineBinding.__name