#pragma once #include #include "../gr.h" #include "../aud.h" #include "../net.h" #include namespace enginend { struct theme; namespace nodes { struct node{ public: enginend::theme* theme; virtual void boot()=0; virtual void tick()=0; virtual void draw()=0; virtual void exit()=0; }; } struct group : public virtual enginend::nodes::node { std::vector children; explicit group(std::vector nodes):children(nodes){}; void boot(){for (node* n: children){n->boot();}} void tick(){for (node* n: children){n->tick();}} void draw(){for (node* n: children){n->draw();}} void exit(){for (node* n: children){n->exit();}} }; struct theme { // in case if its a boolean button, it will use booleanbutton Color booleanbutton[6],button[3],booleantext[6],buttontext[3],text,buttonborder[3],booleanborder[6],border,background ,textfieldbg ; Font font; Image slider,handle, checkbox,checkboxchecked; Color tint; }; }