323 const std::vector<std::tuple<int, float, float, float, float>>& nodes,
Centralized minimap rendering helper for all canvas types.
ComponentTypeID GetComponentTypeID_Static()
Standardized Canvas Editor interface for unified architecture.
GridStylePreset
Pre-configured grid styles matching professional editors.
void HandlePanning()
Handle middle-mouse panning.
virtual ~CustomCanvasEditor()=default
virtual void SetMinimapPosition(int position) override
Set minimap position (corner)
void HandleZooming()
Handle scroll wheel zooming.
virtual ImVec2 GetZoomLimits() const override
Get zoom limits.
virtual void ResetZoom() override
Reset zoom to 1.0x.
virtual CanvasGridRenderer::GridConfig GetGridConfig() const override
Get current grid configuration.
std::unique_ptr< CanvasMinimapRenderer > m_minimapRenderer
float ClampZoom(float zoom) const
Clamp zoom to valid range.
void UpdateMinimapNodes(const std::vector< std::tuple< int, float, float, float, float > > &nodes, float graphMinX, float graphMaxX, float graphMinY, float graphMaxY)
Update minimap with current graph data.
virtual float GetMinimapSize() const override
Get minimap size ratio.
virtual void EndRender() override
End rendering cycle.
virtual void RenderGrid(CanvasGridRenderer::GridStylePreset preset) override
Render grid.
virtual void BeginRender() override
Begin rendering cycle.
virtual void SetMinimapVisible(bool enabled) override
Enable/disable minimap.
virtual ImVec2 GetCanvasSize() const override
Get canvas size.
bool m_middleMousePanEnabled
virtual const char * GetCanvasName() const override
Get canvas name.
virtual bool IsPointInCanvas(const ImVec2 &screenPos) const override
Check if point is in canvas.
virtual float GetZoom() const override
Get current zoom level.
virtual void ZoomBy(float factor, const ImVec2 *zoomCenter=nullptr) override
Zoom by multiplier.
virtual bool IsMinimapVisible() const override
Check if minimap is visible.
virtual void SetPan(const ImVec2 &offset) override
Set pan offset directly.
virtual void PanBy(const ImVec2 &delta) override
Pan by delta.
virtual void SetCanvasScreenPos(const ImVec2 &screenPos) override
Set canvas screen position (updates each frame)
virtual ImVec2 ScreenToCanvas(const ImVec2 &screenPos) const override
Transform screen space to canvas space.
virtual void ResetPan() override
Reset pan to origin.
virtual void SetCanvasSize(const ImVec2 &size) override
Set canvas size (updates each frame)
virtual bool IsCanvasHovered() const override
Check if canvas is hovered.
virtual ImVec2 GridToEditor(const ImVec2 &gridPos) const override
Transform grid space to editor space.
virtual ImVec2 GetPan() const override
Get current pan offset.
virtual void SetZoom(float scale, const ImVec2 *zoomCenter=nullptr) override
Set zoom level directly.
virtual ImVec2 CanvasToScreen(const ImVec2 &canvasPos) const override
Transform canvas space to screen space.
virtual bool IsGridVisible() const override
Check if grid is visible.
virtual ImVec2 EditorToGrid(const ImVec2 &editorPos) const override
Transform editor space to grid space.
void SetScrollZoomSpeed(float speed)
Set scroll zoom speed (multiplier)
virtual ImVec2 GetCanvasScreenPos() const override
Get canvas screen position.
virtual void GetCanvasVisibleBounds(ImVec2 &outMin, ImVec2 &outMax) const override
Get canvas visible bounds in canvas space.
virtual void RenderMinimap() override
Render minimap overlay for custom canvas.
void SetMiddleMousePanEnabled(bool enabled)
Enable/disable middle-mouse panning.
virtual void SetGridVisible(bool enabled) override
Set grid visibility.
void UpdateMinimapViewport(float viewMinX, float viewMaxX, float viewMinY, float viewMaxY, float graphMinX, float graphMaxX, float graphMinY, float graphMaxY)
Update minimap viewport from visible canvas area.
void UpdateInputState()
Update pan/zoom from current frame input.
virtual void ResetView() override
Reset view (pan and zoom)
void SetScrollZoomEnabled(bool enabled)
Enable/disable scroll wheel zooming.
virtual void SetMinimapSize(float scale) override
Set minimap size ratio.
virtual int GetMinimapPosition() const override
Get minimap position.
Abstract interface for canvas editors with unified pan/zoom/grid management.
< Provides AssetID and INVALID_ASSET_ID
Configuration parameters for grid rendering.