35 lines
		
	
	
		
			524 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			524 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef NODES_H
 | 
						|
#define NODES_H
 | 
						|
 | 
						|
#include "aliases/aliases.h"
 | 
						|
#include "ui.h"
 | 
						|
#include "window.h"
 | 
						|
 | 
						|
#define MAX_NODES 1024
 | 
						|
 | 
						|
typedef i32 (*node_func_t)(i32 a, i32 b);
 | 
						|
typedef enum node_type node_type_t;
 | 
						|
typedef union node_data node_data_t;
 | 
						|
typedef struct node node_t;
 | 
						|
 | 
						|
enum node_type {
 | 
						|
  NODE_TYPE_IO,
 | 
						|
  NODE_TYPE_OP,
 | 
						|
 | 
						|
  COUNT_NODE_TYPES,
 | 
						|
};
 | 
						|
 | 
						|
union node_data {
 | 
						|
  const char *path;
 | 
						|
  node_func_t func;
 | 
						|
};
 | 
						|
 | 
						|
struct node {
 | 
						|
  rect_t rect;
 | 
						|
  ui_elem_colours_t colours;
 | 
						|
  node_type_t type;
 | 
						|
  node_data_t data;
 | 
						|
};
 | 
						|
 | 
						|
#endif // !NODES_H
 |