How to write text to glut window with the keyboard in c++?

Reply

Join Date: Aug 2009
Posts: 3
Reputation: bushimports is an unknown quantity at this point 
Solved Threads: 0
bushimports bushimports is offline Offline
Newbie Poster

How to write text to glut window with the keyboard in c++?

 
0
  #1
15 Days Ago
How can I draw text in a glut window with the keyboard;
I have tried doing cin with
void TextBox::Keys(unsigned char key,int x,int y){
   switch(key){
      case 13://enter key
      cin >> String;
       DrawString = true;
      break;    
      case 27:
        exit(0);        
      break;                    
   }

and then in the draw function

          fontx = tx + 3;
          fonty = ty + (th+8)/2;
         if(DrawString == true){
         glColor3f(0.0,0.0,0.0);               
         Font(GLUT_BITMAP_HELVETICA_12,(char*)String,fontx,fonty);
}

the intention here was to get the string from cin and put it in the string variable and then draw it to the screen. I know how to get
input with cin and put it in a variable with a console program, but i don't know how to do it with the glut keyboard. I also know how to draw text to the screen with glut. I have other questions but I will post them in seperate threads. Much thanks, Jody Bush
Reply With Quote Quick reply to this message  
Join Date: Dec 2008
Posts: 1,076
Reputation: firstPerson is just really nice firstPerson is just really nice firstPerson is just really nice firstPerson is just really nice 
Solved Threads: 140
firstPerson's Avatar
firstPerson firstPerson is offline Offline
Veteran Poster
 
0
  #2
14 Days Ago
You could use glutBitmapCharacter

Combined with function you can make this :
void renderBitmapString(
		float x, 
		float y, 
		float z, 
		void *font, 
		char *string) {  
  char *c;
  glRasterPos3f(x, y,z);
  for (c=string; *c != '\0'; c++) {
    glutBitmapCharacter(font, *c);
  }
}
That is provided by lighthouse, Their link

Now all you need is a little bit of logic.

For example :
string input = "";

void keyBoard(unsigned char key, int x, int y){ 
    input += key;
   void updateString();
}

and :

void updateString(){
   glutBimapString(0,0,0, GLUT_BITMAP_9_BY_15, input.c_str());
}

You can then call this function also in you draw function.
void drawFunc()
{
    glClear(someBITSGoesHerE);
    glLoadIdentity();
    updateString();
 //blah blah
}
I give up! 
1) What word becomes shorter if you add a letter to it?
2) What does this equal :  (.5u - .5a)(.5u-.5b)(.5u-.5c) ...
3) What is the 123456789 prime numer?
Reply With Quote Quick reply to this message  
Reply

Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC