-
Notifications
You must be signed in to change notification settings - Fork 22
/
Screen.h
executable file
·84 lines (72 loc) · 2.03 KB
/
Screen.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#pragma once
#include "View/FourView.h"
#include "View/ThreeView.h"
#include "View/TwoView.h"
#include "View/SingleView.h"
#include "UI/UILayer.h"
//#include "AboutDialog.h"
#include "GraphicsBackend/OpenGLBackend.h"
enum
{
Four=32,
Three,
Two,
Single
};
class Screen
{
private:
FourView *m_fourView;
ThreeView *m_threeView;
SingleView *m_singleView;
TwoView *m_twoView;
SplitedView *m_currentView;
UILayer *m_uiLayer;
bool m_isSelectionMode;
bool m_isAxisMode;
bool m_isAltMode;
bool m_isCtrlMode;
bool m_isExtrude;
int m_width;
int m_height;
public:
OpenGLBackend *m_graphicsBackend;
Screen();
void updateScreenSize(unsigned int width, unsigned int height);
void onPaint();
void screenShot(const char *fileName);
void initialize();
void disableReference();
void getViewportImage(GLuint &textID, std::string &path, Vector &position, unsigned int &width, unsigned int &height);
void setViewportImage(const char *path, GLuint imageID, Vector &position, unsigned int width, unsigned int height);
void onCtrlDown();
void onCtrlUp();
void onAltDown();
void onAltUp();
bool onLeftDrag(int x,int y);
bool onMiddleDrag(int x,int y);
bool onMiddleRelease(bool isAppend);
bool onLeftPress(int x,int y);
bool onMoving(int x,int y);
void onExtrudePress();
void onExtrudeRelease();
bool onLeftRelease(bool isAppend);
bool onMiddlePress(int x,int y);
bool onWheel(float step,int x,int y);
void toggleGrid();
void toolButtonSingleView();
void toolButtonTwoView();
void toolButtonThreeView();
void toolButtonFourView();
void changeView(int type);
void changeCamera(CameraMode::__Enum type);
private:
void toolButtonSmooth();
void toolButtonFaced();
void toolButtonWireframe();
void toolButtonWire();
void toolButtonWireframeFaced();
public:
~Screen(void);
static Screen *screen;
};