9#include "../../third_party/imnodes/imnodes.h"
20 , m_backgroundColor(
IM_COL32(40, 40, 50, 200))
21 , m_nodeColor(
IM_COL32(100, 150, 255, 255))
22 , m_viewportColor(
IM_COL32(200, 200, 200, 100))
81 const std::vector<std::tuple<int, float, float, float, float>>& nodes,
87 for (
size_t i = 0;
i < nodes.size(); ++
i)
89 int nodeId = std::get<0>(nodes[
i]);
90 float posX = std::get<1>(nodes[
i]);
91 float posY = std::get<2>(nodes[
i]);
92 float width = std::get<3>(nodes[
i]);
93 float height = std::get<4>(nodes[
i]);
142 if (!
m_visible || canvasSize.x <= 0.0f || canvasSize.y <= 0.0f)
Centralized minimap rendering helper for all canvas types.
ComponentTypeID GetComponentTypeID_Static()
void SetPosition(MinimapPosition pos)
Set minimap corner position.
void SetViewportColor(ImU32 color)
Set minimap viewport rectangle color (RGBA)
MinimapViewportData m_normalisedViewport
MinimapPosition m_position
void RenderImNodes() const
Render minimap using ImNodes native API.
void SetNodeColor(ImU32 color)
Set minimap node color (RGBA)
void SetBackgroundColor(ImU32 color)
Set minimap background color (RGBA)
float GetSize() const
Get current size ratio.
std::vector< MinimapNodeData > m_normalisedNodes
void RenderCustom(const ImVec2 &canvasScreenPos, const ImVec2 &canvasSize) const
Render minimap using custom ImGui drawing.
MinimapPosition GetPosition() const
Get current position.
bool IsVisible() const
Check if minimap should be rendered.
static float NormaliseCoord(float value, float minVal, float maxVal)
float m_sizeRatio
0.05 - 0.5 ratio of canvas
void SetSize(float ratio)
Set minimap size as ratio of canvas (0.05 - 0.5)
const MinimapViewportData & GetNormalisedViewport() const
Get normalised viewport rectangle for custom rendering.
const std::vector< MinimapNodeData > & GetNormalisedNodes() const
Get normalised node positions for custom rendering.
void SetVisible(bool visible)
Set minimap visibility.
void UpdateViewport(float viewMinX, float viewMaxX, float viewMinY, float viewMaxY, float graphMinX, float graphMaxX, float graphMinY, float graphMaxY)
Update visible viewport.
void UpdateNodes(const std::vector< std::tuple< int, float, float, float, float > > &nodes, float graphMinX, float graphMaxX, float graphMinY, float graphMaxY)
Update node positions from raw graph data.
< Provides AssetID and INVALID_ASSET_ID
MinimapPosition
Screen corner positions for minimap overlay.
int nodeId
Original graph node ID.
Viewport region in normalised coordinates.