couch/core/Node.h

27 lines
440 B
C
Raw Normal View History

2021-01-14 11:52:01 -06:00
#ifndef NODE_H
#define NODE_H
#include <vector>
2021-01-21 15:26:39 -06:00
#include "types.h"
2021-01-14 11:52:01 -06:00
class Node; // Forwards declare
class NodeList : public std::vector<Node*> {
public:
void Append(Node *node);
};
class Node {
public:
NodeList children;
static Node *GetRoot();
virtual bool IsDrawable() const;
virtual void Draw(){};
2021-01-14 11:52:01 -06:00
virtual bool IsTransformable() const;
2021-01-21 15:26:39 -06:00
virtual Name GetType() const;
2021-01-14 11:52:01 -06:00
private:
static Node *root;
};
#endif /* NODE_H */