32#include "../../third_party/imnodes/imnodes.h"
139 virtual float GetZoom()
const override {
return 1.0f; }
325 const std::vector<std::tuple<int, float, float, float, float>>& nodes,
ComponentTypeID GetComponentTypeID_Static()
Standardized Canvas Editor interface for unified architecture.
GridStylePreset
Pre-configured grid styles matching professional editors.
Abstract interface for canvas editors with unified pan/zoom/grid management.
virtual void SetMinimapVisible(bool enabled) override
Enable/disable minimap rendering.
virtual void ResetView() override
Reset view to defaults (pan only, zoom already 1.0f)
virtual void ResetPan() override
Reset pan to origin.
virtual void SetMinimapPosition(int position) override
Set minimap position.
virtual void SetCanvasScreenPos(const ImVec2 &screenPos) override
Set canvas screen position (call each frame to update)
virtual bool IsPointInCanvas(const ImVec2 &screenPos) const override
Check if point is in canvas.
virtual void UpdateMinimapNodes(const std::vector< std::tuple< int, float, float, float, float > > &nodes, float graphMinX, float graphMaxX, float graphMinY, float graphMaxY) override
Update minimap nodes (no-op for imnodes)
virtual ImVec2 GetPan() const override
Get current pan offset.
virtual CanvasGridRenderer::GridConfig GetGridConfig() const override
Get current grid configuration.
virtual float GetMinimapSize() const override
Get minimap size scale.
virtual ImVec2 GetCanvasSize() const override
Get canvas size.
virtual ImVec2 GetZoomLimits() const override
Get zoom limits.
virtual ImVec2 GetCanvasScreenPos() const override
Get canvas screen position.
virtual bool IsMinimapVisible() const override
Check if minimap is visible.
virtual void PanBy(const ImVec2 &delta) override
Pan by delta.
virtual void ResetZoom() override
Reset zoom to 1.0x (no-op, already 1.0f)
virtual void SetGridVisible(bool enabled) override
Set grid visibility.
virtual void EndRender() override
End rendering cycle (calls ImNodes::EndNodeEditor)
virtual ~ImNodesCanvasEditor()=default
virtual void RenderGrid(CanvasGridRenderer::GridStylePreset preset) override
Render grid.
virtual void BeginRender() override
Begin rendering cycle (calls ImNodes::BeginNodeEditor)
virtual void SetMinimapSize(float scale) override
Set minimap size scale.
virtual void GetCanvasVisibleBounds(ImVec2 &outMin, ImVec2 &outMax) const override
Get canvas visible bounds in canvas space.
virtual ImVec2 CanvasToScreen(const ImVec2 &canvasPos) const override
Transform canvas space to screen space.
virtual void SetCanvasSize(const ImVec2 &size) override
Set canvas size (call each frame to update)
virtual int GetMinimapPosition() const override
Get minimap position.
virtual void SetZoom(float scale, const ImVec2 *zoomCenter=nullptr) override
Set zoom level (no-op for imnodes)
virtual ImVec2 GridToEditor(const ImVec2 &gridPos) const override
Transform grid space to editor space (adds pan)
virtual void RenderMinimap() override
Render minimap overlay.
virtual float GetZoom() const override
Get current zoom level.
virtual ImVec2 EditorToGrid(const ImVec2 &editorPos) const override
Transform editor space to grid space (removes pan)
ImNodesEditorContext * m_imnodesContext
virtual void ZoomBy(float factor, const ImVec2 *zoomCenter=nullptr) override
Zoom by multiplier (no-op for imnodes)
virtual bool IsCanvasHovered() const override
Check if canvas is hovered.
virtual ImVec2 ScreenToCanvas(const ImVec2 &screenPos) const override
Transform screen space to canvas space.
virtual const char * GetCanvasName() const override
Get canvas name.
virtual bool IsGridVisible() const override
Check if grid is visible.
virtual void SetPan(const ImVec2 &offset) override
Set pan offset.
virtual void UpdateMinimapViewport(float viewMinX, float viewMaxX, float viewMinY, float viewMaxY, float graphMinX, float graphMaxX, float graphMinY, float graphMaxY) override
Update minimap viewport (no-op for imnodes)
< Provides AssetID and INVALID_ASSET_ID
Configuration parameters for grid rendering.