Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
Loading...
Searching...
No Matches
ViewportInteractionController.h File Reference
#include <array>
#include <cstdint>
#include <optional>
#include <vector>
#include "donner/editor/FrameCostBreakdown.h"
#include "donner/editor/ImGuiIncludes.h"
#include "donner/editor/RenderPaneGesture.h"
#include "donner/editor/Tool.h"
#include "donner/editor/ViewportState.h"
Include dependency graph for ViewportInteractionController.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  donner::editor::FrameProfilerSample
 Render-pane profiler costs aligned with one UI frame-history sample. More...
struct  donner::editor::FrameMemorySample
 Presentation memory retained by the editor texture cache for one UI frame. More...
struct  donner::editor::FrameHistory
struct  donner::editor::PendingClick
struct  donner::editor::ScrollConsumptionResult
 Result of consuming render-pane scroll events for one UI frame. More...
class  donner::editor::ViewportInteractionController
 Owns viewport/input state for the render pane: zoom/pan, pending click dispatch, and frame timing history. More...

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.

Functions

bool donner::editor::ShouldShowRenderPanePanCursor (bool canvasHovered, bool spaceHeld, bool panning)
 Return whether the render pane should show the pan-mode cursor.

Variables

constexpr std::size_t donner::editor::kFrameHistoryCapacity = 120

Function Documentation

◆ ShouldShowRenderPanePanCursor()

bool donner::editor::ShouldShowRenderPanePanCursor ( bool canvasHovered,
bool spaceHeld,
bool panning )
nodiscard

Return whether the render pane should show the pan-mode cursor.

Parameters
canvasHoveredTrue when the mouse is over the interactive canvas area.
spaceHeldTrue while the spacebar pan modifier is held.
panningTrue while an active mouse-pan drag is in progress.