API Documentation
Public Member Functions | Static Public Member Functions | List of all members
nkWinUi::Window Class Referenceabstract

A graphical window, made for general purpose. More...

Inheritance diagram for nkWinUi::Window:
nkWinUi::Component nkExport::Exportable

Public Member Functions

 Window (System *system) noexcept
 
virtual ~Window ()
 
virtual bool isMaximized () const
 
virtual bool isFullscreen () const
 
virtual HWND getHwnd () const
 
virtual nkMemory::String getCanvasId () const
 
void setMouseLeaveCallback (std::function< void(Window *, nkMaths::Point)> callback)
 
void setResizeCallback (std::function< void(Window *)> callback)
 
void setNoBorder (bool value)
 
virtual void setIcon (const nkImages::ImageView &icon)=0
 
virtual void maximize (bool val, bool coverTaskBar=false)=0
 
virtual void exportIntrospection (nkExport::Node *rootNode) override
 
virtual void importClassFromTree (nkExport::Node *rootNode) override
 
- Public Member Functions inherited from nkWinUi::Component
 Component (System *system) noexcept
 
virtual ~Component ()
 
LayoutgetLayout () const
 
ThemegetTheme () const
 
FontgetFont () const
 
nkMaths::Point getPositionInParent () const
 
nkMaths::Point getPositionInScreen () const
 
float getWidth () const
 
float getHeight () const
 
nkMaths::Rectangle getAreaInParent () const
 
nkMaths::Rectangle getAreaInScreen () const
 
virtual nkMaths::Point getBorderExtents () const
 
virtual float getBorderExtent (BORDER_KIND border) const
 
virtual float getLayoutAllowedWidth () const
 
virtual float getLayoutAllowedHeight () const
 
virtual float getLayoutAllowedOffsetX () const
 
virtual float getLayoutAllowedOffsetY () const
 
bool isInitialized () const
 
SystemgetSystem () const
 
ComponentgetParentComponent () const
 
COMPONENT_TYPE getComponentType () const
 
nkMemory::StringView getComponentName () const
 
bool getVisibility () const
 
virtual nkMemory::StringView getLabel () const
 
void * getData () const
 
bool isEnabled () const
 
bool isForegroundWindow () const
 
virtual unsigned int getZDepth () const
 
bool getVisibleOnLoad () const
 
std::function< bool(Component *)> getCloseCallback () const
 
std::function< void(Component *, bool)> getVisibilityCallback () const
 
std::function< void(Component *, const ClickEventData &)> getClickCallback () const
 
std::function< void(Component *, const WheelEventData &)> getWheelCallback () const
 
std::function< void(Component *, const KeyEventData &)> getKeyCallback () const
 
virtual LayoutsetLayout (LAYOUT_TYPE layoutType)
 
virtual void setTheme (Theme *theme)
 
virtual void setFont (Font *font)
 
virtual void setPositionInParent (nkMaths::Point position)
 
virtual void setPositionInScreen (nkMaths::Point position)
 
virtual void setSize (float width, float height)
 
virtual void setWidth (float width)
 
virtual void setHeight (float height)
 
void setMinSize (float width, float height)
 
void setMaxSize (float width, float height)
 
void setRatio (float widthOverHeight)
 
virtual void setAreaInParent (const nkMaths::Rectangle &area)
 
virtual void setAreaInScreen (const nkMaths::Rectangle &area)
 
virtual void setParentComponent (Component *parent, bool makeItVisible=true)
 
virtual void setLabel (nkMemory::StringView label)
 
void setComponentName (nkMemory::StringView name)
 
virtual void setVisibility (bool value)
 
void setData (void *data)
 
void setEnabled (bool value)
 
void setVisibleOnLoad (bool value)
 
void setCloseCallback (std::function< bool(Component *caller)> callback)
 
void setVisibilityCallback (std::function< void(Component *caller, bool visibility)> callback)
 
void setClickCallback (std::function< void(Component *caller, const ClickEventData &eventData)> callback)
 
void setWheelCallback (std::function< void(Component *caller, const WheelEventData &eventData)> callback)
 
void setKeyCallback (std::function< void(Component *caller, const KeyEventData &eventData)> callback)
 
void addChild (Component *child, bool makeItVisible=true)
 
void removeChild (Component *child)
 
void removeChild (unsigned int index)
 
ComponentgetChild (unsigned int index)
 
unsigned int getChildIndex (Component *child)
 
void unloadWithChildren ()
 
void loadWithChildren ()
 
void updateZDepth ()
 
void bringToForeground ()
 
void focusWindow ()
 
nkMaths::Point getCoordRelativeFromAbsolute (nkMaths::Point absCoords)
 
nkMaths::Point getCoordAbsoluteFromRelative (nkMaths::Point relCoords)
 
virtual void load ()=0
 
virtual void unload ()=0
 
void reload ()
 
virtual void updateWindow ()
 
nkImages::Image paintToImage (bool withFrame=false)
 
void simulateEvent (const InputDescriptor &inputDescription)
 
virtual void onSized ()
 
virtual void exportClassToTree (nkExport::Node *rootNode) override
 
- Public Member Functions inherited from nkExport::Exportable
 Exportable () noexcept
 
virtual ~Exportable ()
 

Static Public Member Functions

static nkMemory::UniquePtr< Windowcreate (System *system=nullptr)
 

Detailed Description

A graphical window, made for general purpose.

This component can be used as a basis to contain an UI, or even passed around to host a 3D graphics rendering environment.

Constructor & Destructor Documentation

◆ Window()

nkWinUi::Window::Window ( System system)
noexcept

Constructor.

Parameters
systemThe parent system in which the component will live.
Remarks
See ComponentManager::createOrRetrieve().

◆ ~Window()

virtual nkWinUi::Window::~Window ( )
virtual

Destructor.

Member Function Documentation

◆ isMaximized()

virtual bool nkWinUi::Window::isMaximized ( ) const
virtual
Returns
Whether the window is maximized (covering the whole screen surface, true) or not (false).

◆ isFullscreen()

virtual bool nkWinUi::Window::isFullscreen ( ) const
virtual
Returns
Whether the window is fullscreen. A window is fullscreen if it covers the screen it is on, task bar included.

◆ getHwnd()

virtual HWND nkWinUi::Window::getHwnd ( ) const
virtual
Returns
The HWND attached to the window, if available.
Remarks
This is dependant on the system used. HWND is a Windows structure, available with the WinApi windowing system.

◆ getCanvasId()

virtual nkMemory::String nkWinUi::Window::getCanvasId ( ) const
virtual
Returns
The canvas ID string attached to the window, if available.
Remarks
This is dependant on the system used. A canvas is a browser HTML object for graphics, available in the Javascript system.

◆ setMouseLeaveCallback()

void nkWinUi::Window::setMouseLeaveCallback ( std::function< void(Window *, nkMaths::Point)>  callback)

Sets the callback used when the mouse is leaving the window.

Parameters
callbackThe callback to set. The first parameter will be the calling window, and the second one the absolute coordinate of the mouse pointer.

◆ setResizeCallback()

void nkWinUi::Window::setResizeCallback ( std::function< void(Window *)>  callback)

Sets the callback used when the window gets resized.

Parameters
callbackThe callback to set. The argument will be the calling window.

◆ setNoBorder()

void nkWinUi::Window::setNoBorder ( bool  value)

Sets whether the window should have a border and a system bar, or not.

Parameters
valueIf the window should have no border (true) or not (false).

◆ setIcon()

virtual void nkWinUi::Window::setIcon ( const nkImages::ImageView icon)
pure virtual

Sets the icon to use for the window, both in its title bar and in the task bar.

Parameters
iconThe image to use as an icon.

◆ maximize()

virtual void nkWinUi::Window::maximize ( bool  val,
bool  coverTaskBar = false 
)
pure virtual

Maximizes the window.

Parameters
valIf the window should be maximized (true) or minimized (false).
coverTaskBarWhether the task bar should be covered (true) or not (false), when maximizing the window.

◆ exportIntrospection()

virtual void nkWinUi::Window::exportIntrospection ( nkExport::Node rootNode)
overridevirtual

A basic exporting capability, for components inheriting. Components inheriting this class should rather reimplement this function to export their internal data.

Parameters
rootNodeThe root of the tree to export into.

Reimplemented from nkWinUi::Component.

◆ importClassFromTree()

virtual void nkWinUi::Window::importClassFromTree ( nkExport::Node rootNode)
overridevirtual

A basic importing capability.

Parameters
rootNodeThe root of the tree to import from.

Reimplemented from nkWinUi::Component.

◆ create()

static nkMemory::UniquePtr<Window> nkWinUi::Window::create ( System system = nullptr)
static

Creates a standalone component, linking it to a system, but no manager. This method can be used to allocate a component and manually manage its lifetime.

Parameters
systemThe system to create the component into. If left to nullptr, then the Singleton instance will be used.
Returns
The created component instance.

The documentation for this class was generated from the following file: