-
Notifications
You must be signed in to change notification settings - Fork 70
/
Menu.h
65 lines (49 loc) · 1.11 KB
/
Menu.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#pragma once
///
/// メニューの描画クラスの定義
///
/// @file
/// @author Kohe Tokoi
/// @date November 15, 2022
///
// 構成データ
#include "Config.h"
// ファイルダイアログ
#include "nfd.h"
///
/// メニューの描画
///
class Menu
{
// 図形の描画クラスから参照する
friend class Draw;
// オリジナルの構成データ
const Config& defaults;
// 構成データのコピー
Config settings;
// CAD データ
std::unique_ptr<const GgSimpleObj> model;
// 光源データ
std::unique_ptr<const GgSimpleShader::LightBuffer> light;
// シェーダ
std::unique_ptr<const GgSimpleShader> shader;
// ファイルパスを取得する
bool getFilePath(std::string& path, const nfdfilteritem_t* filter);
public:
///
/// コンストラクタ
///
Menu(const Config& config);
// コピーコンストラクタは封じる
Menu(const Menu& menu) = delete;
///
/// デストラクタ
///
virtual ~Menu();
// 代入演算子は封じる
Menu& operator=(const Menu& menu) = delete;
///
/// 描画する
///
void draw();
};