Angol nyelvű leírás a GLUT dokumentációban
void BitmapText( GLfloat x, GLfloat y, char *string )
{
int len, i;
glRasterPos2f( x, y );
len = (int) strlen ( string );
for ( i = 0; i < len; i++ ){
glutBitmapCharacter ( GLUT_BITMAP_HELVETICA_18, string[i] );
}
}
void StrokeText( char *string )
{
int len, i;
len = (int) strlen ( string );
for ( i = 0; i < len; i++ ){
glutStrokeCharacter ( GLUT_STROKE_ROMAN, string[i] );
}
}
A BitmapText() esetén a szöveg x, y koordinátáját is át kell adni. StrokeText() esetén geometriai transzformációkkal lehet a szöveget pozícionálni.
BitmapText( -5.0, 0.0, "proba szoveg" );
glPushMatrix();
glColor3f( 1.0, 1.0, 0.0 );
glTranslatef( 0.0, 11.0, 0.0 );
glRotatef( 30.0, 0.0, 0.0, 1.0 );
glScalef( 0.1, 0.1, 1.0 );
StrokeText( "proba szoveg" );
glPopMatrix();
static int MenuID, SubMenuID;
/* Almenü készítése */ SubMenuID = glutCreateMenu( ProcessMenu ); glutAddMenuEntry( "Almenu 1. opcioja", 3 ); glutAddMenuEntry( "Almenu 2. opcioja", 4 ); /* Főmenü készítése */ MenuID = glutCreateMenu( ProcessMenu ); glutAddMenuEntry( "1. menupont", 1 ); glutAddMenuEntry( "2. menupont", 2 ); glutAddSubMenu( "Almenu", SubMenuID ); /* Almenü hozzáadása */ glutAddMenuEntry( "Kilepes", 5 ); glutAttachMenu( GLUT_RIGHT_BUTTON ); /* Menü a jobb egérgomb lenyomására jelenik majd meg. */
void ProcessMenu(int value)
{
switch( value )
{
case 1:
/* 1. menüpont kiválasztva. */
break;
case 2:
/* 2. menüpont kiválasztva. */
break;
case 3:
/* Almenü 1. opciója kiválasztva. */
break;
/* És így tovább... */
}
glutPostRedisplay();
}
