1#pragma once
2#include <string>
3#include "taichi/ui/utils/utils.h"
4
5namespace taichi::ui {
6
7class 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