XII Release 0.1.0
Loading...
Searching...
No Matches
xiiWindowBase Class Referenceabstract

Base class of all window classes that have a client area and a native window handle. More...

#include <Window.h>

Inheritance diagram for xiiWindowBase:
[legend]

Public Member Functions

virtual xiiSizeU32 GetClientAreaSize () const =0
 Returns the size of the client area of the window, i.e. the area that can be drawn into.
virtual xiiWindowHandle GetNativeWindowHandle () const =0
 Returns the position and size of the entire window, including borders and title bar.
virtual bool IsFullscreenWindow (bool bOnlyProperFullscreenMode=false) const =0
virtual bool IsVisible () const =0
virtual void ProcessWindowMessages ()=0
 Processes all pending window messages, such as input or resize events. This should be called regularly (typically once per frame) to keep the window responsive.
virtual void AddReference ()=0
 Adds a reference to the window. The window will not be destroyed until all references are removed.
virtual void RemoveReference ()=0
 Removes a reference from the window. If this was the last reference, the window will be destroyed.
virtual void SetOutputTarget (xiiUniquePtr< xiiWindowOutputTargetBase > &&pOutputTarget)=0
virtual xiiWindowOutputTargetBase * GetOutputTarget () const =0
 Gets the output target for this window.

Detailed Description

Base class of all window classes that have a client area and a native window handle.

Member Function Documentation

◆ AddReference()

virtual void xiiWindowBase::AddReference ( )
pure virtual

Adds a reference to the window. The window will not be destroyed until all references are removed.

Implemented in xiiEditorProcessViewWindow, and xiiWindow.

◆ GetClientAreaSize()

virtual xiiSizeU32 xiiWindowBase::GetClientAreaSize ( ) const
pure virtual

Returns the size of the client area of the window, i.e. the area that can be drawn into.

Implemented in xiiEditorProcessViewWindow, and xiiWindow.

◆ GetNativeWindowHandle()

virtual xiiWindowHandle xiiWindowBase::GetNativeWindowHandle ( ) const
pure virtual

Returns the position and size of the entire window, including borders and title bar.

Implemented in xiiEditorProcessViewWindow, and xiiWindow.

◆ GetOutputTarget()

virtual xiiWindowOutputTargetBase * xiiWindowBase::GetOutputTarget ( ) const
pure virtual

Gets the output target for this window.

Implemented in xiiEditorProcessViewWindow, and xiiWindow.

◆ IsFullscreenWindow()

virtual bool xiiWindowBase::IsFullscreenWindow ( bool bOnlyProperFullscreenMode = false) const
pure virtual

Whether the window is a fullscreen window or should be one - some platforms may enforce this via the GALSwapchain.

If bOnlyProperFullscreenMode, the caller accepts borderless windows that cover the entire screen as "fullscreen".

Implemented in xiiEditorProcessViewWindow, and xiiWindow.

◆ IsVisible()

virtual bool xiiWindowBase::IsVisible ( ) const
pure virtual

Whether the window can potentially be seen by the user.

Windows that are minimized or hidden are not visible.

Implemented in xiiEditorProcessViewWindow, and xiiWindow.

◆ ProcessWindowMessages()

virtual void xiiWindowBase::ProcessWindowMessages ( )
pure virtual

Processes all pending window messages, such as input or resize events. This should be called regularly (typically once per frame) to keep the window responsive.

Implemented in xiiEditorProcessViewWindow, and xiiWindow.

◆ RemoveReference()

virtual void xiiWindowBase::RemoveReference ( )
pure virtual

Removes a reference from the window. If this was the last reference, the window will be destroyed.

Implemented in xiiEditorProcessViewWindow, and xiiWindow.

◆ SetOutputTarget()

virtual void xiiWindowBase::SetOutputTarget ( xiiUniquePtr< xiiWindowOutputTargetBase > && pOutputTarget)
pure virtual

Sets the output target for this window.

Output targets are destroyed before the window to ensure proper cleanup order. Setting a new output target replaces any existing one.

Implemented in xiiEditorProcessViewWindow, and xiiWindow.


The documentation for this class was generated from the following file:
  • /home/runner/work/XII/XII/Source/Engine/Core/System/Window.h