Graphics v0.0.0
A simple abstraction layer for the modern graphics APIs.
载入中...
搜索中...
未找到
Widget.h
1// Copyright 2022 ShenMian
2// License(Apache-2.0)
3
4#pragma once
5
6#include <functional>
7#include <string>
8#include <vector>
9
10namespace ui
11{
12
13class Widget
14{
15public:
16 Widget();
17 Widget(const std::string& label);
18 Widget(const std::string& label, const std::string& id);
19
20 Widget(const Widget&);
21
27 void set_label(const std::string& label);
28
32 const std::string& get_label() const noexcept;
33
34 uint64_t get_id() const noexcept;
35
36 virtual void update();
37
38 static uint64_t request_id();
39
40protected:
46 void update_handle();
47
48 std::string handle_;
49
50 std::string label_;
51 uint64_t id_;
52
53private:
54 static uint64_t next_id_;
55};
56
57} // namespace ui
Definition: Widget.h:14
const std::string & get_label() const noexcept
获取组件标签.
Definition: Widget.cpp:37
void update_handle()
更新句柄.
Definition: Widget.cpp:51
void set_label(const std::string &label)
设置组件标签.
Definition: Widget.cpp:31