init
This commit is contained in:
51
ImguiNodes/ImguiNodes.h
Normal file
51
ImguiNodes/ImguiNodes.h
Normal file
@@ -0,0 +1,51 @@
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
int nodeIdCounter = 0;
|
||||
|
||||
class NodeElement {
|
||||
public:
|
||||
int id;
|
||||
std::string name;
|
||||
ImVec2 position;
|
||||
|
||||
NodeElement(std::string name);
|
||||
};
|
||||
|
||||
class NodeWindow {
|
||||
public:
|
||||
std::string title;
|
||||
std::vector<NodeElement> alerts;
|
||||
std::vector<NodeElement> triggers;
|
||||
|
||||
NodeWindow(std::string title);
|
||||
};
|
||||
|
||||
typedef struct NodeConnection {
|
||||
int sourceID;
|
||||
int targetID;
|
||||
};
|
||||
|
||||
typedef struct ConnectionPayload {
|
||||
int sourceID;
|
||||
};
|
||||
|
||||
class CustomDrawData {
|
||||
public:
|
||||
std::vector<NodeWindow> nodes;
|
||||
std::vector<NodeConnection> connections;
|
||||
};
|
||||
|
||||
enum class CircleDragType
|
||||
{
|
||||
None,
|
||||
Source,
|
||||
Target
|
||||
};
|
||||
|
||||
void init();
|
||||
void draw(DrawData& drawData, void* customDataVoid);
|
||||
bool drawCircle(float xOffset, CircleDragType dragType, const void* id, ImVec2* outCirclePos = nullptr);
|
||||
bool inlineButton(const char* title, const void* id);
|
||||
std::vector<NodeElement>::iterator cleanEraseElement(std::vector<NodeElement>& vector, std::vector<NodeElement>::iterator toErase, CustomDrawData* data);
|
||||
Reference in New Issue
Block a user