-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTextInputDemo.cpp
More file actions
126 lines (112 loc) · 2.38 KB
/
TextInputDemo.cpp
File metadata and controls
126 lines (112 loc) · 2.38 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
126
/*
author: S. M. Shahriar Nirjon
last modified: August 8, 2008
*/
# include "iGraphics.h"
char str[100], str2[100];
int len;
int mode;
void drawTextBox()
{
iSetColor(150, 150, 150);
iRectangle(50, 250, 250, 30);
}
/*
function iDraw() is called again and again by the system.
*/
void iDraw()
{
//place your drawing codes here
iClear();
drawTextBox();
if(mode == 1)
{
iSetColor(255, 255, 255);
iText(55, 260, str);
}
iText(10, 10, "Click to activate the box, enter to finish.");
}
/*
function iMouseMove() is called when the user presses and drags the mouse.
(mx, my) is the position where the mouse pointer is.
*/
void iMouseMove(int mx, int my)
{
//place your codes here
}
/*
function iMouse() is called when the user presses/releases the mouse.
(mx, my) is the position where the mouse pointer is.
*/
void iMouse(int button, int state, int mx, int my)
{
if(button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
{
//place your codes here
if(mx >= 50 && mx <= 300 && my >= 250 && my <= 280 && mode == 0)
{
mode = 1;
}
}
if(button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN)
{
//place your codes here
}
}
/*
function iKeyboard() is called whenever the user hits a key in keyboard.
key- holds the ASCII value of the key pressed.
*/
void iKeyboard(unsigned char key)
{
int i;
if(mode == 1)
{
if(key == '\r')
{
mode = 0;
strcpy(str2, str);
printf("%s\n", str2);
for(i = 0; i < len; i++)
str[i] = 0;
len = 0;
}
else
{
str[len] = key;
len++;
}
}
if(key == 'x')
{
//do something with 'x'
exit(0);
}
//place your codes for other keys here
}
/*
function iSpecialKeyboard() is called whenver user hits special keys like-
function keys, home, end, pg up, pg down, arraows etc. you have to use
appropriate constants to detect them. A list is:
GLUT_KEY_F1, GLUT_KEY_F2, GLUT_KEY_F3, GLUT_KEY_F4, GLUT_KEY_F5, GLUT_KEY_F6,
GLUT_KEY_F7, GLUT_KEY_F8, GLUT_KEY_F9, GLUT_KEY_F10, GLUT_KEY_F11, GLUT_KEY_F12,
GLUT_KEY_LEFT, GLUT_KEY_UP, GLUT_KEY_RIGHT, GLUT_KEY_DOWN, GLUT_KEY_PAGE UP,
GLUT_KEY_PAGE DOWN, GLUT_KEY_HOME, GLUT_KEY_END, GLUT_KEY_INSERT
*/
void iSpecialKeyboard(unsigned char key)
{
if(key == GLUT_KEY_END)
{
exit(0);
}
//place your codes for other keys here
}
int main()
{
//place your own initialization codes here.
len = 0;
mode = 0;
str[0]= 0;
iInitialize(400, 400, "TextInputDemo");
return 0;
}