Canvas class
#include <Jazz2/UI/Canvas.h>
Canvas.
Base drawing surface for on-screen UI rendering. It collects textured and solid rectangle draw calls as render commands and submits them to the render queue, also providing alignment helpers and palette-based recoloring.
Base classes
- class nCine::SceneNode
- Base node of the scene graph transformation hierarchy.
Derived classes
- class HUD
- Player HUD.
- class InGameConsole
- In-game console.
- class MpInGameCanvasLayer
- In-game canvas on sprite layer for multiplayer.
- class MpInGameLobby
- In-game lobby screen for multiplayer.
Public static functions
- static auto ApplyAlignment(Alignment align, Vector2f vec, Vector2f size) -> Vector2f
- Applies alignment settings to a given position vector.
Constructors, destructors, conversion operators
- Canvas()
- Creates a new instance.
Public functions
- void OnUpdate(float timeMult) override
- Called every frame to update the node state.
- auto OnDraw(RenderQueue& renderQueue) -> bool override
- Called when the node needs to be drawn, returning
trueif a command was added. -
void DrawTexture(const Texture& texture,
Vector2f pos,
std::
uint16_t z, Vector2f size, const Vector4f& texCoords, const Colorf& color, bool additiveBlending = false, float angle = 0.0f, std:: int32_t paletteOffset = -1) - Draws a textured rectangle.
-
void DrawTextureWithPalette(const Texture& texture,
const Texture& palette,
Vector2f pos,
std::
uint16_t z, Vector2f size, const Vector4f& texCoords, const Colorf& color, float paletteOffset = 0.0f) - Draws an indexed textured rectangle recolored through a palette texture (PaletteRemap shader).
-
void DrawSolid(Vector2f pos,
std::
uint16_t z, Vector2f size, const Colorf& color, bool additiveBlending = false) - Draws a solid rectangle.
- auto RentRenderCommand() -> RenderCommand*
- Rents a render command for rendering on the canvas.
- void DrawRenderCommand(RenderCommand* command)
- Draws a raw render command.
Public variables
- Vector2i ViewSize
- View size of the canvas.
- float AnimTime
- Animation time of the canvas.
- Vector2f LayerOffset
- Translation added to every drawn primitive in screen-space.
- float LayerScale
- Uniform scale applied to every drawn primitive.
- Colorf LayerColor
- Tint multiplied into the color of every drawn primitive.
Protected static variables
- static float AnimTimeMultiplier constexpr
- Multiplier of game time for canvas rendering.
Function documentation
void Jazz2:: UI:: Canvas:: DrawTexture(const Texture& texture,
Vector2f pos,
std:: uint16_t z,
Vector2f size,
const Vector4f& texCoords,
const Colorf& color,
bool additiveBlending = false,
float angle = 0.0f,
std:: int32_t paletteOffset = -1)
Draws a textured rectangle.
paletteOffset >= 0 marks the texture as indexed (palette index in the red channel), recolored at draw time through the shared palette texture at that offset; -1 = plain RGBA.
void Jazz2:: UI:: Canvas:: DrawTextureWithPalette(const Texture& texture,
const Texture& palette,
Vector2f pos,
std:: uint16_t z,
Vector2f size,
const Vector4f& texCoords,
const Colorf& color,
float paletteOffset = 0.0f)
Draws an indexed textured rectangle recolored through a palette texture (PaletteRemap shader).
The palette offset is the flat index of the first color in the palette texture (0 = the first row/palette).
Variable documentation
Vector2f Jazz2:: UI:: Canvas:: LayerOffset
Translation added to every drawn primitive in screen-space.
Together with LayerScale and LayerColor forms an optional draw transform applied to all primitives, including text drawn through Font. Used by the menu section transition system to slide, scale and fade an entire section without per-section cooperation. Identity by default, so non-menu canvases (HUD, cinematics, …) are unaffected. A final screen position is worldPos * LayerScale + LayerOffset.