-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEditor.h
66 lines (60 loc) · 1.61 KB
/
Editor.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
66
#pragma once
/** GWEN INCLUDES **/
#include <objbase.h>
#include <GdiPlus.h>
#include "Gwen/Gwen.h"
#include "Gwen/Skins/Simple.h"
#include "Gwen/Skins/TexturedBase.h"
#include "Gwen/Input/Windows.h"
#include "Gwen/Renderers/GDIPlus.h"
#include "Gwen/Controls/Button.h"
#include "Gwen/Controls/CollapsibleList.h"
#include "DirectX11Renderer.h"
// Forward declarations.
#pragma region Forward declarations.
namespace GLib {
class Graphics;
class Input;
class Terrain;
class Camera;
class ModelImporter;
class Light;
class World;
class Object3D;
}
class Gwen::Renderer::DirectX11;
class BaseInspector;
class WorldTree;
class ObjectTool;
class TerrainTool;
class CreationTool;
#pragma endregion
//! Contains the UI and the different tools.
class Editor
{
public:
Editor(int width, int height);
~Editor();
void Init(GLib::ModelImporter* pImporter, GLib::World* pWorld);
void GwenInit(int width, int height);
void Update(GLib::Input* pInput, float dt);
void OnResize(int width, int height);
void UpdateCamera(GLib::Camera* pCamera);
void Draw(GLib::Graphics* pGraphics);
void MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
void OnItemSelected(void* pItem, int type);
void UpdateWorldTree();
void RemoveInspector();
private:
Gwen::Controls::Canvas* mGwenCanvas;
Gwen::Skin::TexturedBase* mGwenSkin;
Gwen::Input::Windows mGwenInput;
Gwen::Renderer::DirectX11* mGwenRenderer;
Gwen::Controls::CollapsibleList* mRightList;
BaseInspector* mActiveInspector;
WorldTree* mWorldTree;
TerrainTool* mTerrainTool;
ObjectTool* mObjectTool;
CreationTool* mCreationTool;
GLib::World* mWorld;
};