Class GraphEditMinimap

Namespace
Forma
Assembly
Forma.dll

Minimap overlay for a GraphEdit; its bounds can be driven by graph-node positions.

public sealed class GraphEditMinimap : Control, IAddChild<Control>, IAddChild, INotifyPropertyChanged
Inheritance
GraphEditMinimap
Implements
Inherited Members

Constructors

GraphEditMinimap()

public GraphEditMinimap()

Properties

Graph

public GraphEdit Graph { get; set; }

Property Value

GraphEdit

NodeColor

public Color NodeColor { get; set; }

Property Value

Color

ViewportColor

public Color ViewportColor { get; set; }

Property Value

Color

Methods

GetCameraBounds()

Screen-space camera rectangle, equivalent to Godot's GraphEditMinimap::get_camera_rect().

public Rectangle GetCameraBounds()

Returns

Rectangle

GetConnectionLineColors(GraphConnection, Theme)

public (Color From, Color To) GetConnectionLineColors(GraphConnection connection, Theme theme)

Parameters

connection GraphConnection
theme Theme

Returns

(Color From, Color To)

GetConnectionLinePoints(GraphConnection)

public IReadOnlyList<Vector2> GetConnectionLinePoints(GraphConnection connection)

Parameters

connection GraphConnection

Returns

IReadOnlyList<Vector2>

GetMinimumSize()

public override Vector2 GetMinimumSize()

Returns

Vector2

GetNodeBounds(GraphNode)

public Rectangle GetNodeBounds(GraphNode node)

Parameters

node GraphNode

Returns

Rectangle

GetResizeHandleBounds()

Screen-space bounds of Godot's top-left minimap resize handle.

public Rectangle GetResizeHandleBounds()

Returns

Rectangle

MapGraphPoint(Vector2)

public Vector2 MapGraphPoint(Vector2 graphPoint)

Parameters

graphPoint Vector2

Returns

Vector2

PointerMoved(Point)

The pointer moved over this control, in global coordinates.

protected override void PointerMoved(Point position)

Parameters

position Point

PointerPressed(Point)

A pointer press landed on this control, in global coordinates.

Protected as well as internal so a control defined outside this assembly can take part in pointer input. Without that, an app hosting its own drawing surface has to read raw mouse state instead, which bypasses hit-testing, modal gating and the injection side-channel — so such a surface cannot be driven by a test at all.

protected override void PointerPressed(Point position)

Parameters

position Point

PointerReleased(Point, bool)

The pointer was released, with whether it was still inside this control.

protected override void PointerReleased(Point position, bool isInside)

Parameters

position Point
isInside bool