* 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: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@232
7f0cb862-5218-0410-a997-
914c9d46530a
*/
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_9_BY_15 ) return( &fgFontFixed9x15 );
if( font == GLUT_BITMAP_HELVETICA_10 ) return( &fgFontHelvetica10 );
if( font == GLUT_BITMAP_8_BY_13 ) return( &fgFontFixed8x13 );
if( font == GLUT_BITMAP_9_BY_15 ) return( &fgFontFixed9x15 );
if( font == GLUT_BITMAP_HELVETICA_10 ) return( &fgFontHelvetica10 );
if( font == GLUT_BITMAP_HELVETICA_18 ) return( &fgFontHelvetica18 );
if( font == GLUT_BITMAP_TIMES_ROMAN_10 ) return( &fgFontTimesRoman10 );
if( font == GLUT_BITMAP_TIMES_ROMAN_24 ) return( &fgFontTimesRoman24 );
if( font == GLUT_BITMAP_HELVETICA_18 ) return( &fgFontHelvetica18 );
if( font == GLUT_BITMAP_TIMES_ROMAN_10 ) return( &fgFontTimesRoman10 );
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 ***/
*/
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_MONO_ROMAN ) return( &fgStrokeMonoRoman );
if( font == GLUT_STROKE_ROMAN ) return( &fgStrokeRoman );
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 ***/
void FGAPIENTRY glutBitmapCharacter( void* fontID, int character )
{
const GLubyte* face;
void FGAPIENTRY glutBitmapCharacter( void* fontID, int character )
{
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_LSB_FIRST, GL_FALSE );
glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 );
glPixelStorei( GL_UNPACK_SKIP_ROWS, 0 );
glPixelStorei( GL_UNPACK_SKIP_PIXELS, 0 );
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
glPixelStorei( GL_UNPACK_SWAP_BYTES, GL_FALSE );
glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE );
glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 );
glPixelStorei( GL_UNPACK_SKIP_ROWS, 0 );
glPixelStorei( GL_UNPACK_SKIP_PIXELS, 0 );
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
-
- /*
- * We'll use a glBitmap call to draw the font.
- */
- face[ 0 ], font->Height, /* The bitmap's width and height */
- font->xorig, font->yorig, /* The origin -- what on earth? */
- (float)(face[ 0 ]), 0.0, /* The raster advance -- inc. x */
- (face + 1) /* The packed bitmap data... */
+ face[ 0 ], font->Height, /* The bitmap's width and height */
+ font->xorig, font->yorig, /* The origin in the font glyph */
+ (float)(face[ 0 ]), 0.0, /* The raster advance -- inc. x,y */
+ (face + 1) /* The packed bitmap data... */
-
- /*
- * Restore the old pixel store settings
- */
{
int c;
int numchar = strlen ( string ) ;
{
int c;
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 ) ;
- /*
- * Save the old pixel store settings
- */
+ glGetFloatv ( GL_CURRENT_RASTER_POSITION, raster_position ) ;
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_LSB_FIRST, GL_FALSE );
glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 );
glPixelStorei( GL_UNPACK_SWAP_BYTES, GL_FALSE );
glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE );
glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 );
/*
* 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
- * start of the line and down one line.
+ * A carriage return will simply translate the next character's insertion
+ * point back to the start of the line and down one line.
*/
for( c = 0; c < numchar; c++ )
{
*/
for( c = 0; c < numchar; c++ )
{
raster_position[1] -= (float)font->Height ;
glRasterPos4fv ( raster_position ) ;
}
raster_position[1] -= (float)font->Height ;
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.
- */
- face[ 0 ], font->Height, /* The bitmap's width and height */
- font->xorig, font->yorig, /* The origin -- what on earth? */
- (float)(face[ 0 ]), 0.0, /* The raster advance -- inc. x */
- (face + 1) /* The packed bitmap data... */
+ face[ 0 ], font->Height, /* The bitmap's width and height */
+ font->xorig, font->yorig, /* The origin in the font glyph */
+ (float)(face[ 0 ]), 0.0, /* The raster advance -- inc. x,y */
+ (face + 1) /* The packed bitmap data... */
-
- /*
- * Restore the old pixel store settings
- */
*/
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 ]) );
}
int FGAPIENTRY glutBitmapLength( void* fontID, const unsigned char* string )
{
int c, length = 0, this_line_length = 0;
int FGAPIENTRY glutBitmapLength( void* fontID, const unsigned char* string )
{
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 ;
this_line_length = 0 ;
}
{
if ( length < this_line_length ) length = this_line_length ;
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
- */
*/
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 );
}
const SFG_StrokeChar *schar;
const SFG_StrokeStrip *strip;
int i, j;
const SFG_StrokeChar *schar;
const SFG_StrokeStrip *strip;
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 );
schar = font->Characters[character];
freeglut_return_if_fail( character >= 0 && character < font->Quantity );
schar = font->Characters[character];
freeglut_return_if_fail( schar );
freeglut_return_if_fail( schar );
strip = schar->Strips;
for (i = 0; i < schar->Number; i++, strip++)
strip = schar->Strips;
for (i = 0; i < schar->Number; i++, strip++)
int c, i, j;
int numchar = strlen ( string ) ;
float length = 0.0 ;
int c, i, j;
int numchar = strlen ( string ) ;
float length = 0.0 ;
-
- /*
- * First of all we'll need a font to use
- */
SFG_StrokeFont* font = fghStrokeByID( fontID );
/*
* Step through the string, drawing each character.
SFG_StrokeFont* font = fghStrokeByID( fontID );
/*
* Step through the string, drawing each character.
- * A carriage return will simply translate the next character's insertion point back to the
- * start of the line and down one line.
+ * A carriage return will simply translate the next character's insertion
+ * point back to the start of the line and down one line.
*/
for( c = 0; c < numchar; c++ )
{
*/
for( c = 0; c < numchar; c++ )
{
glTranslatef ( -length, -(float)(font->Height), 0.0 ) ;
length = 0.0 ;
}
glTranslatef ( -length, -(float)(font->Height), 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]];
if ( schar != NULL )
{
const SFG_StrokeChar *schar = font->Characters[string[c]];
if ( schar != NULL )
int FGAPIENTRY glutStrokeWidth( void* fontID, int character )
{
const SFG_StrokeChar *schar;
int FGAPIENTRY glutStrokeWidth( void* fontID, int character )
{
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 );
return ((int)(schar->Right + 0.5));
freeglut_return_val_if_fail( schar, 0 );
return ((int)(schar->Right + 0.5));
int c;
float length = 0.0;
float this_line_length = 0.0 ;
int c;
float 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++ )
{
if ( string[ c ] < font->Quantity )
{
for( c = 0; c < numchar; c++ )
{
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 ;
this_line_length = 0.0 ;
}
{
if ( length < this_line_length ) length = this_line_length ;
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]];
if ( schar != NULL )
{
const SFG_StrokeChar *schar = font->Characters[string[c]];
if ( schar != NULL )
-
- if ( length < this_line_length ) length = this_line_length ;
-
- /*
- * Return the result now
- */
+ if ( length < this_line_length )
+ length = this_line_length ;
return( (int)(length+0.5) );
}
return( (int)(length+0.5) );
}
*/
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 );
}