Swept the freeglut_font.c for comment cleanup:

* Got rid of the "rewrite C as English" comments.
 * Corrected several bogus references to "carriage returns" (in strings).
   The symbols were newlines or EOLs or LFs (\n).
   They were *not* carriage returns or CRs (\r).
 * Clarified the comments on glBitmap() calls.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@232 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
rkrolib 2003-10-14 00:51:00 +00:00
parent fd81891b21
commit ba4ef53738

View File

@ -64,9 +64,6 @@ extern SFG_StrokeFont fgStrokeMonoRoman;
*/ */
static SFG_Font* fghFontByID( void* font ) static SFG_Font* fghFontByID( void* font )
{ {
/*
* Try matching the font ID and the font data structure
*/
if( font == GLUT_BITMAP_8_BY_13 ) return( &fgFontFixed8x13 ); if( font == GLUT_BITMAP_8_BY_13 ) return( &fgFontFixed8x13 );
if( font == GLUT_BITMAP_9_BY_15 ) return( &fgFontFixed9x15 ); if( font == GLUT_BITMAP_9_BY_15 ) return( &fgFontFixed9x15 );
if( font == GLUT_BITMAP_HELVETICA_10 ) return( &fgFontHelvetica10 ); if( font == GLUT_BITMAP_HELVETICA_10 ) return( &fgFontHelvetica10 );
@ -74,13 +71,8 @@ static SFG_Font* fghFontByID( void* font )
if( font == GLUT_BITMAP_HELVETICA_18 ) return( &fgFontHelvetica18 ); if( font == GLUT_BITMAP_HELVETICA_18 ) return( &fgFontHelvetica18 );
if( font == GLUT_BITMAP_TIMES_ROMAN_10 ) return( &fgFontTimesRoman10 ); if( font == GLUT_BITMAP_TIMES_ROMAN_10 ) return( &fgFontTimesRoman10 );
if( font == GLUT_BITMAP_TIMES_ROMAN_24 ) return( &fgFontTimesRoman24 ); if( font == GLUT_BITMAP_TIMES_ROMAN_24 ) return( &fgFontTimesRoman24 );
/*
* This probably is the library user's fault
*/
fgError( "font 0x%08x not found", font ); fgError( "font 0x%08x not found", font );
return 0; /*** XXX NOT REACHED ***/
return 0;
} }
/* /*
@ -89,18 +81,10 @@ static SFG_Font* fghFontByID( void* font )
*/ */
static SFG_StrokeFont* fghStrokeByID( void* font ) static SFG_StrokeFont* fghStrokeByID( void* font )
{ {
/*
* Try matching the font ID and the font data structure
*/
if( font == GLUT_STROKE_ROMAN ) return( &fgStrokeRoman ); if( font == GLUT_STROKE_ROMAN ) return( &fgStrokeRoman );
if( font == GLUT_STROKE_MONO_ROMAN ) return( &fgStrokeMonoRoman ); if( font == GLUT_STROKE_MONO_ROMAN ) return( &fgStrokeMonoRoman );
/*
* This probably is the library user's fault
*/
fgError( "stroke font 0x%08x not found", font ); fgError( "stroke font 0x%08x not found", font );
return 0; /*** XXX NOT REACHED ***/
return 0;
} }
@ -112,50 +96,28 @@ static SFG_StrokeFont* fghStrokeByID( void* font )
void FGAPIENTRY glutBitmapCharacter( void* fontID, int character ) void FGAPIENTRY glutBitmapCharacter( void* fontID, int character )
{ {
const GLubyte* face; const GLubyte* face;
/*
* First of all we'll need a font to use
*/
SFG_Font* font = fghFontByID( fontID ); SFG_Font* font = fghFontByID( fontID );
/*
* Make sure the character we want to output is valid
*/
freeglut_return_if_fail( character >= 1 && character < 256 ); freeglut_return_if_fail( character >= 1 && character < 256 );
/* /*
* Then find the character we want to draw * Find the character we want to draw (???)
*/ */
face = font->Characters[ character - 1 ]; face = font->Characters[ character - 1 ];
/*
* Save the old pixel store settings
*/
glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT ); glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT );
/*
* Set up the pixel unpacking ways
*/
glPixelStorei( GL_UNPACK_SWAP_BYTES, GL_FALSE ); glPixelStorei( GL_UNPACK_SWAP_BYTES, GL_FALSE );
glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE ); glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE );
glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 ); glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 );
glPixelStorei( GL_UNPACK_SKIP_ROWS, 0 ); glPixelStorei( GL_UNPACK_SKIP_ROWS, 0 );
glPixelStorei( GL_UNPACK_SKIP_PIXELS, 0 ); glPixelStorei( GL_UNPACK_SKIP_PIXELS, 0 );
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
/*
* We'll use a glBitmap call to draw the font.
*/
glBitmap( glBitmap(
face[ 0 ], font->Height, /* The bitmap's width and height */ face[ 0 ], font->Height, /* The bitmap's width and height */
font->xorig, font->yorig, /* The origin -- what on earth? */ font->xorig, font->yorig, /* The origin in the font glyph */
(float)(face[ 0 ]), 0.0, /* The raster advance -- inc. x */ (float)(face[ 0 ]), 0.0, /* The raster advance -- inc. x,y */
(face + 1) /* The packed bitmap data... */ (face + 1) /* The packed bitmap data... */
); );
/*
* Restore the old pixel store settings
*/
glPopClientAttrib(); glPopClientAttrib();
} }
@ -163,23 +125,11 @@ void FGAPIENTRY glutBitmapString( void* fontID, const unsigned char *string )
{ {
int c; int c;
int numchar = strlen ( string ) ; int numchar = strlen ( string ) ;
/*
* First of all we'll need a font to use
*/
SFG_Font* font = fghFontByID( fontID ); SFG_Font* font = fghFontByID( fontID );
float raster_position[4] ; float raster_position[4] ;
glGetFloatv ( GL_CURRENT_RASTER_POSITION, raster_position ) ; glGetFloatv ( GL_CURRENT_RASTER_POSITION, raster_position ) ;
/*
* Save the old pixel store settings
*/
glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT ); glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT );
/*
* Set up the pixel unpacking ways
*/
glPixelStorei( GL_UNPACK_SWAP_BYTES, GL_FALSE ); glPixelStorei( GL_UNPACK_SWAP_BYTES, GL_FALSE );
glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE ); glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE );
glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 ); glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 );
@ -189,8 +139,8 @@ void FGAPIENTRY glutBitmapString( void* fontID, const unsigned char *string )
/* /*
* Step through the string, drawing each character. * Step through the string, drawing each character.
* A carriage return will simply translate the next character's insertion point back to the * A carriage return will simply translate the next character's insertion
* start of the line and down one line. * point back to the start of the line and down one line.
*/ */
for( c = 0; c < numchar; c++ ) for( c = 0; c < numchar; c++ )
{ {
@ -199,25 +149,18 @@ void FGAPIENTRY glutBitmapString( void* fontID, const unsigned char *string )
raster_position[1] -= (float)font->Height ; raster_position[1] -= (float)font->Height ;
glRasterPos4fv ( raster_position ) ; glRasterPos4fv ( raster_position ) ;
} }
else /* Not a carriage return, draw the bitmap character */ else /* Not an EOL, draw the bitmap character */
{ {
const GLubyte* face = font->Characters[ string[ c ] - 1 ] ; const GLubyte* face = font->Characters[ string[ c ] - 1 ] ;
/*
* We'll use a glBitmap call to draw the font.
*/
glBitmap( glBitmap(
face[ 0 ], font->Height, /* The bitmap's width and height */ face[ 0 ], font->Height, /* The bitmap's width and height */
font->xorig, font->yorig, /* The origin -- what on earth? */ font->xorig, font->yorig, /* The origin in the font glyph */
(float)(face[ 0 ]), 0.0, /* The raster advance -- inc. x */ (float)(face[ 0 ]), 0.0, /* The raster advance -- inc. x,y */
(face + 1) /* The packed bitmap data... */ (face + 1) /* The packed bitmap data... */
) ; ) ;
} }
} }
/*
* Restore the old pixel store settings
*/
glPopClientAttrib(); glPopClientAttrib();
} }
@ -226,19 +169,9 @@ void FGAPIENTRY glutBitmapString( void* fontID, const unsigned char *string )
*/ */
int FGAPIENTRY glutBitmapWidth( void* fontID, int character ) int FGAPIENTRY glutBitmapWidth( void* fontID, int character )
{ {
/*
* First of all, grab the font we need
*/
SFG_Font* font = fghFontByID( fontID ); SFG_Font* font = fghFontByID( fontID );
/*
* Make sure the character we want to output is valid
*/
freeglut_return_val_if_fail( character > 0 && character < 256, 0 ); freeglut_return_val_if_fail( character > 0 && character < 256, 0 );
/*
* Scan the font looking for the specified character
*/
return( *(font->Characters[ character - 1 ]) ); return( *(font->Characters[ character - 1 ]) );
} }
@ -248,32 +181,22 @@ int FGAPIENTRY glutBitmapWidth( void* fontID, int character )
int FGAPIENTRY glutBitmapLength( void* fontID, const unsigned char* string ) int FGAPIENTRY glutBitmapLength( void* fontID, const unsigned char* string )
{ {
int c, length = 0, this_line_length = 0; int c, length = 0, this_line_length = 0;
/*
* First of all, grab the font we need
*/
SFG_Font* font = fghFontByID( fontID ); SFG_Font* font = fghFontByID( fontID );
/*
* Step through the characters in the string, adding up the width of each one
*/
int numchar = strlen ( string ) ; int numchar = strlen ( string ) ;
for( c = 0; c < numchar; c++ ) for( c = 0; c < numchar; c++ )
{ {
if ( string[ c ] == '\n' ) /* Carriage return, reset the length of this line */ if ( string[ c ] == '\n' ) /* EOL; reset the length of this line */
{ {
if ( length < this_line_length ) length = this_line_length ; if ( length < this_line_length ) length = this_line_length ;
this_line_length = 0 ; this_line_length = 0 ;
} }
else /* Not a carriage return, increment the length of this line */ else /* Not an EOL, increment the length of this line */
this_line_length += *(font->Characters[ string[ c ] - 1 ]) ; this_line_length += *(font->Characters[ string[ c ] - 1 ]) ;
} }
if ( length < this_line_length )
length = this_line_length ;
if ( length < this_line_length ) length = this_line_length ;
/*
* Return the result now
*/
return( length ); return( length );
} }
@ -282,14 +205,7 @@ int FGAPIENTRY glutBitmapLength( void* fontID, const unsigned char* string )
*/ */
int FGAPIENTRY glutBitmapHeight( void* fontID ) int FGAPIENTRY glutBitmapHeight( void* fontID )
{ {
/*
* See which font are we queried about
*/
SFG_Font* font = fghFontByID( fontID ); SFG_Font* font = fghFontByID( fontID );
/*
* Return the character set's height
*/
return( font->Height ); return( font->Height );
} }
@ -301,21 +217,12 @@ void FGAPIENTRY glutStrokeCharacter( void* fontID, int character )
const SFG_StrokeChar *schar; const SFG_StrokeChar *schar;
const SFG_StrokeStrip *strip; const SFG_StrokeStrip *strip;
int i, j; int i, j;
/*
* First of all we'll need a font to use
*/
SFG_StrokeFont* font = fghStrokeByID( fontID ); SFG_StrokeFont* font = fghStrokeByID( fontID );
/*
* Make sure the character we want to output is valid
*/
freeglut_return_if_fail( character >= 0 && character < font->Quantity ); freeglut_return_if_fail( character >= 0 && character < font->Quantity );
schar = font->Characters[character]; schar = font->Characters[character];
freeglut_return_if_fail( schar ); freeglut_return_if_fail( schar );
strip = schar->Strips; strip = schar->Strips;
for (i = 0; i < schar->Number; i++, strip++) for (i = 0; i < schar->Number; i++, strip++)
@ -335,16 +242,12 @@ void FGAPIENTRY glutStrokeString( void* fontID, const unsigned char *string )
int c, i, j; int c, i, j;
int numchar = strlen ( string ) ; int numchar = strlen ( string ) ;
float length = 0.0 ; float length = 0.0 ;
/*
* First of all we'll need a font to use
*/
SFG_StrokeFont* font = fghStrokeByID( fontID ); SFG_StrokeFont* font = fghStrokeByID( fontID );
/* /*
* Step through the string, drawing each character. * Step through the string, drawing each character.
* A carriage return will simply translate the next character's insertion point back to the * A carriage return will simply translate the next character's insertion
* start of the line and down one line. * point back to the start of the line and down one line.
*/ */
for( c = 0; c < numchar; c++ ) for( c = 0; c < numchar; c++ )
{ {
@ -355,7 +258,7 @@ void FGAPIENTRY glutStrokeString( void* fontID, const unsigned char *string )
glTranslatef ( -length, -(float)(font->Height), 0.0 ) ; glTranslatef ( -length, -(float)(font->Height), 0.0 ) ;
length = 0.0 ; length = 0.0 ;
} }
else /* Not a carriage return, draw the bitmap character */ else /* Not an EOL, draw the bitmap character */
{ {
const SFG_StrokeChar *schar = font->Characters[string[c]]; const SFG_StrokeChar *schar = font->Characters[string[c]];
if ( schar != NULL ) if ( schar != NULL )
@ -385,18 +288,10 @@ void FGAPIENTRY glutStrokeString( void* fontID, const unsigned char *string )
int FGAPIENTRY glutStrokeWidth( void* fontID, int character ) int FGAPIENTRY glutStrokeWidth( void* fontID, int character )
{ {
const SFG_StrokeChar *schar; const SFG_StrokeChar *schar;
/*
* First of all we'll need a font to use
*/
SFG_StrokeFont* font = fghStrokeByID( fontID ); SFG_StrokeFont* font = fghStrokeByID( fontID );
/*
* Make sure the character we want to output is valid
*/
freeglut_return_val_if_fail( character >= 0 && character < font->Quantity, 0 ); freeglut_return_val_if_fail( character >= 0 && character < font->Quantity, 0 );
schar = font->Characters[character]; schar = font->Characters[character];
freeglut_return_val_if_fail( schar, 0 ); freeglut_return_val_if_fail( schar, 0 );
return ((int)(schar->Right + 0.5)); return ((int)(schar->Right + 0.5));
@ -410,26 +305,19 @@ int FGAPIENTRY glutStrokeLength( void* fontID, const unsigned char* string )
int c; int c;
float length = 0.0; float length = 0.0;
float this_line_length = 0.0 ; float this_line_length = 0.0 ;
/*
* First of all we'll need a font to use
*/
SFG_StrokeFont* font = fghStrokeByID( fontID ); SFG_StrokeFont* font = fghStrokeByID( fontID );
/*
* Step through the characters in the string, adding up the width of each one
*/
int numchar = strlen ( string ) ; int numchar = strlen ( string ) ;
for( c = 0; c < numchar; c++ ) for( c = 0; c < numchar; c++ )
{ {
if ( string[ c ] < font->Quantity ) if ( string[ c ] < font->Quantity )
{ {
if ( string[ c ] == '\n' ) /* Carriage return, reset the length of this line */ if ( string[ c ] == '\n' ) /* EOL; reset the length of this line */
{ {
if ( length < this_line_length ) length = this_line_length ; if ( length < this_line_length ) length = this_line_length ;
this_line_length = 0.0 ; this_line_length = 0.0 ;
} }
else /* Not a carriage return, increment the length of this line */ else /* Not an EOL, increment the length of this line */
{ {
const SFG_StrokeChar *schar = font->Characters[string[c]]; const SFG_StrokeChar *schar = font->Characters[string[c]];
if ( schar != NULL ) if ( schar != NULL )
@ -437,12 +325,8 @@ int FGAPIENTRY glutStrokeLength( void* fontID, const unsigned char* string )
} }
} }
} }
if ( length < this_line_length )
if ( length < this_line_length ) length = this_line_length ; length = this_line_length ;
/*
* Return the result now
*/
return( (int)(length+0.5) ); return( (int)(length+0.5) );
} }
@ -451,14 +335,7 @@ int FGAPIENTRY glutStrokeLength( void* fontID, const unsigned char* string )
*/ */
GLfloat FGAPIENTRY glutStrokeHeight( void* fontID ) GLfloat FGAPIENTRY glutStrokeHeight( void* fontID )
{ {
/*
* See which font are we queried about
*/
SFG_StrokeFont* font = fghStrokeByID( fontID ); SFG_StrokeFont* font = fghStrokeByID( fontID );
/*
* Return the character set's height
*/
return( font->Height ); return( font->Height );
} }