1 | #pragma once |
2 | #include <string> |
3 | #include "taichi/ui/utils/utils.h" |
4 | |
5 | namespace taichi::ui { |
6 | |
7 | class GuiBase { |
8 | public: |
9 | virtual void begin(const std::string &name, |
10 | float x, |
11 | float y, |
12 | float width, |
13 | float height) = 0; |
14 | virtual void end() = 0; |
15 | virtual void text(const std::string &text) = 0; |
16 | virtual void text(const std::string &text, glm::vec3 color) = 0; |
17 | virtual bool checkbox(const std::string &name, bool old_value) = 0; |
18 | virtual int slider_int(const std::string &name, |
19 | int old_value, |
20 | int minimum, |
21 | int maximum) = 0; |
22 | virtual float slider_float(const std::string &name, |
23 | float old_value, |
24 | float minimum, |
25 | float maximum) = 0; |
26 | virtual glm::vec3 color_edit_3(const std::string &name, |
27 | glm::vec3 old_value) = 0; |
28 | virtual bool button(const std::string &text) = 0; |
29 | virtual ~GuiBase() = default; |
30 | }; |
31 | |
32 | } // namespace taichi::ui |
33 | |