bWidgets
Core widget toolkit designed for Blender
Drawer.h
Go to the documentation of this file.
1#pragma once
2
3#include <stack>
4
5#include "bwRectangle.h"
6
7namespace bWidgets {
8
9class bwStyle;
10
11namespace bwScreenGraph {
12class ScreenGraph;
13class Node;
14
15class Drawer {
16 public:
17 static void draw(ScreenGraph& screen_graph, bwStyle& style);
18 static void drawSubtree(Node& subtree_root, bwStyle& style);
19
20 private:
21 Drawer(bwStyle& style);
22
23 void drawSubtreeRecursive(Node& subtree_root);
24 void drawNode(Node& node);
25 void pushMask(const Node& node);
26 void popMask();
27
28 bwStyle& style;
29 std::stack<bwRectanglePixel> maskrect_stack;
30};
31
32} // namespace bwScreenGraph
33} // namespace bWidgets
Definition: Drawer.h:15
static void draw(ScreenGraph &screen_graph, bwStyle &style)
Definition: Drawer.cc:17
static void drawSubtree(Node &subtree_root, bwStyle &style)
Definition: Drawer.cc:23
The base data-structure for a screen-graph node.
Definition: Node.h:36
Definition: ScreenGraph.h:12
Definition: bwStyle.h:10
Definition: bwContext.h:3