Kanzi 4.0.0-beta2
kanzi::CompositionStack::CompositionState Struct Reference

Composition target state. More...

#include <kanzi/core.ui/graphics/composition_stack.hpp>

Public Member Functions

void apply (Renderer &renderer)
 Applies composition state.
 
void calculateDeviceCoordinates ()
 Calculates device coordinates for current topmost viewport and composition states.
 
 CompositionState (const Framebuffer &framebuffer, Vector2 size, Vector4 viewport, optional< Vector4 > scissor)
 Constructor using specified composition target.
 
 CompositionState (const Framebuffer &framebuffer, Vector2 size, Vector4 viewport, optional< Vector4 > scissor, optional< Texture * > texture)
 Constructor using specified composition target.
 

Public Attributes

const Framebufferframebuffer
 Composition target framebuffer.
 
optional< Vector4scissor
 Scissor rectangle.
 
optional< ViewportRectanglescissorDeviceCoordinates
 Scissor in device coordinates. Calculated upon apply.
 
Vector2 size
 Rendering context size.
 
optional< Texture * > targetTexture
 If a Texture object is used as a render target, pointer to that Texture.
 
Vector4 viewport
 Viewport.
 
ViewportRectangle viewportDeviceCoordinates
 Viewport in device coordinates. Calculated upon apply.
 

Detailed Description

Composition target state.

Constructor & Destructor Documentation

◆ CompositionState() [1/2]

kanzi::CompositionStack::CompositionState::CompositionState ( const Framebuffer & framebuffer,
Vector2 size,
Vector4 viewport,
optional< Vector4 > scissor )
inlineexplicit

Constructor using specified composition target.

Parameters
framebufferComposition target framebuffer.
sizeComposition target size.
viewportViewport area.
scissorScissor area.
Since
Kanzi 4.0.0 Framebuffer replaces NativeFramebufferHandle and buffer count.

◆ CompositionState() [2/2]

kanzi::CompositionStack::CompositionState::CompositionState ( const Framebuffer & framebuffer,
Vector2 size,
Vector4 viewport,
optional< Vector4 > scissor,
optional< Texture * > texture )
inlineexplicit

Constructor using specified composition target.

Parameters
framebufferComposition target framebuffer.
sizeComposition target size.
viewportViewport area.
scissorScissor area.
textureComposition target texture, or nullopt.
Since
Kanzi 3.9.7
Kanzi 4.0.0 Framebuffer replaces NativeFramebufferHandle and buffer count.

Member Function Documentation

◆ apply()

void kanzi::CompositionStack::CompositionState::apply ( Renderer & renderer)

Applies composition state.

Parameters
rendererRenderer to use.

◆ calculateDeviceCoordinates()

void kanzi::CompositionStack::CompositionState::calculateDeviceCoordinates ( )

Calculates device coordinates for current topmost viewport and composition states.

Member Data Documentation

◆ framebuffer

const Framebuffer& kanzi::CompositionStack::CompositionState::framebuffer

Composition target framebuffer.

Since
Kanzi 4.0.0

◆ size

Vector2 kanzi::CompositionStack::CompositionState::size

Rendering context size.

◆ viewport

Vector4 kanzi::CompositionStack::CompositionState::viewport

Viewport.

◆ scissor

optional<Vector4> kanzi::CompositionStack::CompositionState::scissor

Scissor rectangle.

◆ viewportDeviceCoordinates

ViewportRectangle kanzi::CompositionStack::CompositionState::viewportDeviceCoordinates

Viewport in device coordinates. Calculated upon apply.

◆ scissorDeviceCoordinates

optional<ViewportRectangle> kanzi::CompositionStack::CompositionState::scissorDeviceCoordinates

Scissor in device coordinates. Calculated upon apply.

◆ targetTexture

optional<Texture*> kanzi::CompositionStack::CompositionState::targetTexture

If a Texture object is used as a render target, pointer to that Texture.

Since
Kanzi 3.9.7

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