-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathApp.cpp
More file actions
125 lines (92 loc) · 2.06 KB
/
App.cpp
File metadata and controls
125 lines (92 loc) · 2.06 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include "App.h"
static App* singleton;
void refreshDisplay(int value){
singleton->game->updateFrame();
singleton->redraw();
glutTimerFunc(20, refreshDisplay, value);
}
App::App(const char* label, int x, int y, int w, int h): GlutApp(label, x, y, w, h){
// Initialize state variables
singleton = this;
mx = 0.0;
my = 0.0;
refreshDisplay(1);
}
void App::draw() {
// Clear the screen
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Set background color to black
glClearColor(0.0, 0.0, 0.0, 1.0);
// Set up the transformations stack
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
// Set Color
glColor3d(1.0, 1.0, 1.0);
game->redraw();
glDisable(GL_TEXTURE_2D);
// We have been drawing everything to the back buffer
// Swap the buffers to see the result of what we drew
glFlush();
glutSwapBuffers();
}
void App::mouseDown(float x, float y){
// Update app state
mx = x;
my = y;
game->mouseDown(x, y);
}
void App::mouseUp(float x, float y) {
// Update app state
mx = x;
my = y;
game->mouseUp(x, y);
}
void App::mouseDrag(float x, float y){
// Update app state
mx = x;
my = y;
}
void App::specialKeyPress(int key) {
if (key == 100) {
game->leftArrowDown();
}
if (key == 101) {
game->upArrowDown();
}
if (key == 102) {
game->rightArrowDown();
}
if (key == 103) {
game->downArrownDown();
}
}
void App::specialKeyUp(int key) {
if (key == 100) {
game->leftArrowUp();
}
if (key == 101) {
game->upArrowUp();
}
if (key == 102) {
game->rightArrowUp();
}
if (key == 103) {
game->downArrownUp();
}
}
//void App::idle(){
//
//}
void App::keyUp(unsigned char key) {
game->keyUp(key);
}
void App::keyPress(unsigned char key) {
game->keyPress(key);
if (key == 27){
// Exit the app when Esc key is pressed
delete game;
//delete background;
//delete rect;
exit(0);
}
}