#define GLUT_HAS_MULTI 1
-/* TODO: add device_id paramater,
+/* TODO: add device_id parameter,
cf. http://sourceforge.net/mailarchive/forum.php?thread_name=20120518071314.GA28061%40perso.beuc.net&forum_name=freeglut-developer */
FGAPI void FGAPIENTRY glutMultiEntryFunc( void (* callback)( int, int ) );
FGAPI void FGAPIENTRY glutMultiButtonFunc( void (* callback)( int, int, int, int, int ) );
FGAPI int FGAPIENTRY glutBitmapWidth( void* font, int character );
FGAPI void FGAPIENTRY glutStrokeCharacter( void* font, int character );
FGAPI int FGAPIENTRY glutStrokeWidth( void* font, int character );
+FGAPI GLfloat FGAPIENTRY glutStrokeWidthf( void* font, int character ); /* GLUT 3.8 */
FGAPI int FGAPIENTRY glutBitmapLength( void* font, const unsigned char* string );
FGAPI int FGAPIENTRY glutStrokeLength( void* font, const unsigned char* string );
+FGAPI GLfloat FGAPIENTRY glutStrokeLengthf( void* font, const unsigned char *string ); /* GLUT 3.8 */
/*
* Geometry functions, see fg_geometry.c
CHECK_NAME(glutBitmapWidth);
CHECK_NAME(glutStrokeCharacter);
CHECK_NAME(glutStrokeWidth);
+ CHECK_NAME(glutStrokeWidthf);
CHECK_NAME(glutBitmapLength);
CHECK_NAME(glutStrokeLength);
+ CHECK_NAME(glutStrokeLengthf);
CHECK_NAME(glutWireSphere);
CHECK_NAME(glutSolidSphere);
CHECK_NAME(glutWireCone);
/*
* Return the width in pixels of a stroke character
*/
-int FGAPIENTRY glutStrokeWidth( void* fontID, int character )
+GLfloat FGAPIENTRY glutStrokeWidthf( void* fontID, int character )
{
const SFG_StrokeChar *schar;
SFG_StrokeFont* font;
schar = font->Characters[ character ];
freeglut_return_val_if_fail( schar, 0 );
- return ( int )( schar->Right + 0.5 );
+ return schar->Right;
+}
+int FGAPIENTRY glutStrokeWidth(void* fontID, int character)
+{
+ return ( int )( glutStrokeWidthf(fontID,character) + 0.5f );
}
/*
* Return the width of a string drawn using a stroke font
*/
-int FGAPIENTRY glutStrokeLength( void* fontID, const unsigned char* string )
+GLfloat FGAPIENTRY glutStrokeLengthf( void* fontID, const unsigned char* string )
{
unsigned char c;
- float length = 0.0;
- float this_line_length = 0.0;
+ GLfloat length = 0.0;
+ GLfloat this_line_length = 0.0;
SFG_StrokeFont* font;
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutStrokeLength" );
font = fghStrokeByID( fontID );
}
if( length < this_line_length )
length = this_line_length;
- return( int )( length + 0.5 );
+ return length;
+}
+int FGAPIENTRY glutStrokeLength( void* fontID, const unsigned char* string )
+{
+ return( int )( glutStrokeLengthf(fontID,string) + 0.5f );
}
/*