Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::editor::PresentationRenderScheduleInput Struct Reference

Inputs for one editor-style render scheduling decision. More...

#include "donner/editor/PresentationRenderScheduler.h"

Public Attributes

Entity selectedEntity = entt::null
 Current selected graphics entity, or entt::null when no compositable selection exists.
std::vector< EntityselectedExtraEntities
 Additional selected graphics entities that should be prewarmed with selectedEntity.
std::optional< SelectTool::ActiveDragPreviewactiveDragPreview
 Current active drag preview, if a drag is in progress.
bool forcePresentationRefresh = false
 True when renderer presentation state changed independently of document and viewport state.
bool forceSelectedLayerRasterization = false
 True when the selected layer's cached pixels are known stale.
std::uint64_t currentVersion = 0
 Current document frame version.
Vector2i currentCanvasSize = Vector2i::Zero()
 Current output raster canvas size in pixels.
EditorRasterViewport currentRasterViewport
 Current raster viewport derived from the editor camera.
double dragTranslationRecaptureDistanceDoc = std::numeric_limits<double>::infinity()
 Translation drift allowed before refreshing a cached drag tile.
bool requiresRenderedActiveDragPresentation = false
 True when the presentation backend cannot apply a live drag transform to cached pixels and therefore needs a render request for each newly represented drag transform.
bool deferIdentityActiveDragCapture = false
 True when an identity drag started by mouse-down should wait for actual pointer movement before capturing its layer. The unchanged document remains presentable in the meantime.
bool selectionOnlyPrewarmMayTriggerRender = true
 True when an otherwise-current frame may be rendered solely to warm selected-layer textures. Cached-texture presenters use this to make the first drag frame immediate. Direct worker surfaces cannot consume that cache on the UI thread, so they disable selection-only renders.

Detailed Description

Inputs for one editor-style render scheduling decision.

Member Data Documentation

◆ activeDragPreview

std::optional<SelectTool::ActiveDragPreview> donner::editor::PresentationRenderScheduleInput::activeDragPreview

Current active drag preview, if a drag is in progress.

◆ currentCanvasSize

Vector2i donner::editor::PresentationRenderScheduleInput::currentCanvasSize = Vector2i::Zero()

Current output raster canvas size in pixels.

◆ currentRasterViewport

EditorRasterViewport donner::editor::PresentationRenderScheduleInput::currentRasterViewport

Current raster viewport derived from the editor camera.

◆ currentVersion

std::uint64_t donner::editor::PresentationRenderScheduleInput::currentVersion = 0

Current document frame version.

◆ deferIdentityActiveDragCapture

bool donner::editor::PresentationRenderScheduleInput::deferIdentityActiveDragCapture = false

True when an identity drag started by mouse-down should wait for actual pointer movement before capturing its layer. The unchanged document remains presentable in the meantime.

◆ dragTranslationRecaptureDistanceDoc

double donner::editor::PresentationRenderScheduleInput::dragTranslationRecaptureDistanceDoc = std::numeric_limits<double>::infinity()

Translation drift allowed before refreshing a cached drag tile.

◆ forcePresentationRefresh

bool donner::editor::PresentationRenderScheduleInput::forcePresentationRefresh = false

True when renderer presentation state changed independently of document and viewport state.

◆ forceSelectedLayerRasterization

bool donner::editor::PresentationRenderScheduleInput::forceSelectedLayerRasterization = false

True when the selected layer's cached pixels are known stale.

◆ requiresRenderedActiveDragPresentation

bool donner::editor::PresentationRenderScheduleInput::requiresRenderedActiveDragPresentation = false

True when the presentation backend cannot apply a live drag transform to cached pixels and therefore needs a render request for each newly represented drag transform.

◆ selectedEntity

Entity donner::editor::PresentationRenderScheduleInput::selectedEntity = entt::null

Current selected graphics entity, or entt::null when no compositable selection exists.

◆ selectedExtraEntities

std::vector<Entity> donner::editor::PresentationRenderScheduleInput::selectedExtraEntities

Additional selected graphics entities that should be prewarmed with selectedEntity.

◆ selectionOnlyPrewarmMayTriggerRender

bool donner::editor::PresentationRenderScheduleInput::selectionOnlyPrewarmMayTriggerRender = true

True when an otherwise-current frame may be rendered solely to warm selected-layer textures. Cached-texture presenters use this to make the first drag frame immediate. Direct worker surfaces cannot consume that cache on the UI thread, so they disable selection-only renders.


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