A UI container for managing and rendering UI components. More...
#include <Canvas.h>

Public Member Functions | |
| Canvas (const Canvas &)=delete | |
| Canvas & | operator= (const Canvas &)=delete |
| void | AddComponent (UIComponent *component) |
| Adds a UI component to the canvas. | |
| void | RemoveComponent (UIComponent *component) |
| Removes a UI component from the canvas. | |
| void | SetEnabled (bool e) |
| Sets the canvas to be enabled or disabled. | |
| bool | IsEnabled () const |
| Returns whether the canvas is enabled or not. | |
Private Member Functions | |
| void | OnComponentLayerChanged (UIComponent *component, int oldLayer, int newLayer) |
| void | Update () override |
| Updates the canvas and its child components. Called automatically by the engine each frame when registered. | |
| void | Draw2D () override |
| Draws the canvas and its child components. Called automatically by the engine each frame when registered. | |
| void | MousePress (AZUL_MOUSE m) override |
| Handles pressed AZUL mouse input. Called automatically by the engine when mouse input is detected. | |
| void | MouseHeld (AZUL_MOUSE m) override |
| Handles held AZUL mouse input. Called automatically by the engine when mouse input is detected. | |
| void | MouseRelease (AZUL_MOUSE m) override |
| Handles released AZUL mouse input. Called automatically by the engine when mouse input is detected. | |
| void | HandleMouseInput () |
| Handles AZUL mouse press/hover input. | |
| void | HandleHeldMouseInput () |
| Handles AZUL mouse scroll input. | |
| void | HandleScroll () |
| Handles AZUL mouse scroll input. | |
| void | HandleMouseReleaseInput () |
| Handles released AZUL mouse input. | |
| void | HandleHover () |
| Handles AZUL mouse hover input. | |
Private Attributes | |
| std::vector< UIComponent * > | components |
| List of UI components in this canvas. | |
| std::map< int, std::vector< UIComponent * > > | layerMap |
| std::map< UIComponent *, int > | componentLayerLookup |
| bool | enabled |
Friends | |
| class | UIAttorney |
Additional Inherited Members | |
Protected Member Functions inherited from Drawable | |
| Drawable (const Drawable &)=delete | |
| Drawable & | operator= (const Drawable &)=delete |
| void | SubmitDrawRegistration () |
| Submits the draw registration for the GameObject. | |
| void | SubmitDrawDeregistration () |
| Submits the draw deregistration for the GameObject. | |
Protected Member Functions inherited from Inputable | |
| Inputable (const Inputable &)=delete | |
| Inputable & | operator= (const Inputable &)=delete |
| void | SubmitKeyRegistration (AZUL_KEY k, EventType e) |
| Submits the key registration for the GameObject. | |
| void | SubmitKeyDeregistration (AZUL_KEY k, EventType e) |
| Submits the key deregistration for the GameObject. | |
| void | SubmitMouseKeyRegistration (AZUL_MOUSE m, EventType e) |
| Submits the mouse key registration for the GameObject. | |
| void | SubmitMouseKeyDeregistration (AZUL_MOUSE m, EventType e) |
| Submits the mouse key deregistration for the GameObject. | |
Protected Member Functions inherited from Updatable | |
| Updatable (const Updatable &)=delete | |
| Updatable & | operator= (const Updatable &)=delete |
| void | SubmitUpdateRegistration () |
| Submits the update registration for the GameObject. | |
| void | SubmitUpdateDeregistration () |
| Submits the update deregistration for the GameObject. | |
A UI container for managing and rendering UI components.
The Canvas class acts as a root container for UI elements such as buttons, sliders, dropdowns, and more. It handles input, drawing, and updating of its child components, and can be added to a scene as a 2D overlay.
Typical usage:
| void Canvas::AddComponent | ( | UIComponent * | component | ) |
Adds a UI component to the canvas.
| component | Pointer to the UIComponent to add. |

|
overrideprivatevirtual |
Draws the canvas and its child components. Called automatically by the engine each frame when registered.
Reimplemented from Drawable.

| bool Canvas::IsEnabled | ( | ) | const |
Returns whether the canvas is enabled or not.
|
overrideprivatevirtual |
Handles held AZUL mouse input. Called automatically by the engine when mouse input is detected.
Reimplemented from Inputable.

|
overrideprivatevirtual |
Handles pressed AZUL mouse input. Called automatically by the engine when mouse input is detected.
Reimplemented from Inputable.

|
overrideprivatevirtual |
Handles released AZUL mouse input. Called automatically by the engine when mouse input is detected.
Reimplemented from Inputable.

| void Canvas::RemoveComponent | ( | UIComponent * | component | ) |
Removes a UI component from the canvas.
| component | Pointer to the UIComponent to remove. |

| void Canvas::SetEnabled | ( | bool | e | ) |
Sets the canvas to be enabled or disabled.
| enabled | True to enable the canvas, false to disable it. |

|
overrideprivatevirtual |
Updates the canvas and its child components. Called automatically by the engine each frame when registered.
Reimplemented from Updatable.
