Skip to content

DIWNE ​

Namespaces ​

Name
DIWNE::Actions
DIWNE::DDraw
DIWNE::DGui
DIWNE::DMath

Classes ​

Name
classDIWNE::BasicNode
classDIWNE::BasicNodeWithPins
classDIWNE::BidirectionalNodeIterator
classDIWNE::Canvas <br>Representation of the 2D infinite plane of a node editor.
classDIWNE::ConstNodeIterator
classDIWNE::ConstNodeRange
classDIWNE::ContextTracker <br>A helper class used to track changes in DrawInfo context between two points in time.
classDIWNE::DiwneObject <br>The base class for all DIWNE elements containing common functionality.
classDIWNE::DiwnePanel <br>A rectangular area representing a part of a DIWNE object.
classDIWNE::DrawInfo <br>A structure used to relay information between DIWNE objects during their sequential construction/drawing in a single frame.
classDIWNE::FilteredNodeIterator
classDIWNE::FilteredNodeIteratorImpl <br>Node iterator that returns only nodes that pass a specified condition.
classDIWNE::FilteredNodeRange
classDIWNE::FilteredNodeRangeImpl
classDIWNE::FilteredRecursiveNodeIterator <br>A wrapper around the RecursiveNodeIterator that also filters its output.
classDIWNE::FilteredRecursiveNodeRange
classDIWNE::FilteredRecursiveNodeRangeImpl
classDIWNE::ForwardIteratorBase
classDIWNE::ForwardNodeIterator <br>A simple forward node iterator for DIWNE node containers that is used as a base implementation for other iterators.
classDIWNE::Gravity
classDIWNE::HStack
structDIWNE::IconStyle
classDIWNE::INodeContainer <br>Elementary node container interface defining access to child nodes.
classDIWNE::InputAdapter
classDIWNE::InteractionState <br>A persistent state storage holding information about multi-frame interactions.
classDIWNE::Layout
classDIWNE::Link
classDIWNE::Node
classDIWNE::NodeContainer <br>Basic implementation of a node container, eg.
classDIWNE::NodeDropZone
classDIWNE::NodeEditor <br>The DIWNE node editor object.
classDIWNE::NodeEditorInputAdapter
classDIWNE::NodeIterator
classDIWNE::NodeIteratorImpl
classDIWNE::NodeRange
classDIWNE::NodeRangeBase <br>Base type for the NodeRange objects, it uses CRTP static polymorphism to avoid code duplication in node range implementations.
classDIWNE::NodeRangeImpl
classDIWNE::Pin
structDIWNE::PinIconDrawData <br>Small utility struct for passing around info about pin draw status The actual drawing of pins can be deferred to be done later by a node if the pins stick out of it.
classDIWNE::RecursiveNodeIterator <br>A complex iterator that iterates over all top level nodes as well as any child nodes that individual nodes contain.
classDIWNE::RecursiveNodeIteratorImpl <br>CRTP templated implementation class of the RecursiveNodeIterator.
classDIWNE::RecursiveNodeRange
classDIWNE::SequenceNodeContainer
structDIWNE::SettingsDiwne <br>Collection of various node editor settings.
classDIWNE::Stack <br>Stack is a helper layout class that manages a set of vertically or horizontally aligned DIWNE panels.
classDIWNE::Style <br>Interface for DIWNE style variables.
classDIWNE::StyleBase <br>Default base style.
classDIWNE::StyleOverride <br>Style interface implementation that overrides certain style variables of an underlying StyleBase of a particular NodeEditor.
classDIWNE::VStack

Types ​

Name
enum intDrawMode_ { DrawMode_Interactive = 0, DrawMode_JustDraw = 1 << 0, DrawMode_ForceDraw = 1 << 1}
enum unsigned intIconType { NoIcon, Circle, Rectangle, TriangleLeft, TriangleRight, TriangleDownLeft, TriangleDownRight, GrabDownLeft, GrabDownRight, Cross, Hyphen, Stop, Pause, SkipBack, SkipBack2, SkipForward, SkipForward2, Rewind, FastForward, AtFrom, AtTo}<br>Icon shape types.
using intDrawMode <br>Drawing mode flags of a DiwneObject, realized by the DrawMode_ enum containing bit flags.
typedef unsigned intID
using uint64_tNodeFlag
using std::vector< std::shared_ptr< DIWNE::Node > >NodeList

Functions ​

Name
voiddiwneBreakpointFunc()
template <typename T ,std::enable_if< std::is_base_of< DiwneObject, T >::value, bool >::type =true&gt; <br>voidexpandPopupContent(T & object)
template <typename... Args&gt; <br>boolpopupDiwne(NodeEditor & diwne, std::string popupID, void(*)(Args...) popupContent, Args &&... args)<br>Shows an unscaled ImGui popup at the current mouse position with the provided content.

Types Documentation ​

enum DrawMode_ ​

EnumeratorValueDescription
DrawMode_Interactive0
DrawMode_JustDraw1 << 0
DrawMode_ForceDraw1 << 1

enum IconType ​

EnumeratorValueDescription
NoIcon
Circle
Rectangle
TriangleLeft
TriangleRight
TriangleDownLeft
TriangleDownRight
GrabDownLeft
GrabDownRight
Cross
Hyphen
StopBlack Square For Stop (U+23F9)
PauseDouble Vertical Bar (U+23F8)
SkipBack
SkipBack2"<
SkipForward">
SkipForward2
RewindBlack Left-Pointing Double Triangle (U+23EA)
FastForwardBlack Right-Pointing Double Triangle (U+23E9)
AtFrom
AtTo

Icon shape types.

using DrawMode ​

cpp
using DIWNE::DrawMode = typedef int;
using DIWNE::DrawMode = typedef int;

Drawing mode flags of a DiwneObject, realized by the DrawMode_ enum containing bit flags.

Is just an alias for an int to allow easy bit operations without explicit conversion.

typedef ID ​

cpp
typedef unsigned int DIWNE::ID;
typedef unsigned int DIWNE::ID;

using NodeFlag ​

cpp
using DIWNE::NodeFlag = typedef uint64_t;
using DIWNE::NodeFlag = typedef uint64_t;

using NodeList ​

cpp
using DIWNE::NodeList = typedef std::vector<std::shared_ptr<DIWNE::Node> >;
using DIWNE::NodeList = typedef std::vector<std::shared_ptr<DIWNE::Node> >;

Functions Documentation ​

function diwneBreakpointFunc ​

cpp
void diwneBreakpointFunc()
void diwneBreakpointFunc()

function expandPopupContent ​

cpp
template <typename T ,
std::enable_if< std::is_base_of< DiwneObject, T >::value, bool >::type  =true>
static void expandPopupContent(
    T & object
)
template <typename T ,
std::enable_if< std::is_base_of< DiwneObject, T >::value, bool >::type  =true>
static void expandPopupContent(
    T & object
)

function popupDiwne ​

cpp
template <typename... Args>
static bool popupDiwne(
    NodeEditor & diwne,
    std::string popupID,
    void(*)(Args...) popupContent,
    Args &&... args
)
template <typename... Args>
static bool popupDiwne(
    NodeEditor & diwne,
    std::string popupID,
    void(*)(Args...) popupContent,
    Args &&... args
)

Shows an unscaled ImGui popup at the current mouse position with the provided content.

Parameters:

  • popupID is identification of popup that have been raised (so is open and should be drawn)
  • popupContent is function with content of popup - it can take any (number of) arguments
  • args arguments that will be passed to popupContent function

Return: true if popup is drawn, false otherwise

Note: This method resets the ImGui style stack, any pushed styles will get reset after this call.

The provided popup ID popup must be previously opened outside of this method. This can be used to open custom popups that aren't associated with a particular DiwneObject. Otherwise the preferred method of opening popups for DiwneObjects is overridng the popupContent() method.


Updated on 2025-05-31 at 12:55:31 +0000