From bba512b75bdc3bc27cecb17b7664030c66652996 Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Sat, 14 Aug 2004 10:37:03 +0000 Subject: [PATCH] Replaced the .cpp-ized (for build issue) common GLUT source files by their standard .c version. Remove outdated Makefile.orig. --- src/glut/beos/Makefile.orig | 102 - src/glut/beos/{glut_8x13.cpp => glut_8x13.c} | 13 +- src/glut/beos/{glut_9x15.cpp => glut_9x15.c} | 13 +- .../beos/{glut_bitmap.cpp => glut_bitmap.c} | 3 +- .../beos/{glut_bwidth.cpp => glut_bwidth.c} | 11 +- .../beos/{glut_hel10.cpp => glut_hel10.c} | 9 +- .../beos/{glut_hel12.cpp => glut_hel12.c} | 9 +- .../beos/{glut_hel18.cpp => glut_hel18.c} | 9 +- .../beos/{glut_mroman.cpp => glut_mroman.c} | 0 .../beos/{glut_roman.cpp => glut_roman.c} | 0 .../beos/{glut_shapes.cpp => glut_shapes.c} | 142 +- .../beos/{glut_stroke.cpp => glut_stroke.c} | 3 +- .../beos/{glut_swidth.cpp => glut_swidth.c} | 11 +- .../beos/{glut_teapot.cpp => glut_teapot.c} | 2 +- src/glut/beos/glut_tr10.c | 1777 +++++++++++++++++ src/glut/beos/{glut_tr24.cpp => glut_tr24.c} | 9 +- src/glut/beos/{glut_util.cpp => glut_util.c} | 25 +- src/glut/beos/glut_vidresize.c | 230 +++ 18 files changed, 2135 insertions(+), 233 deletions(-) delete mode 100644 src/glut/beos/Makefile.orig rename src/glut/beos/{glut_8x13.cpp => glut_8x13.c} (99%) rename src/glut/beos/{glut_9x15.cpp => glut_9x15.c} (99%) rename src/glut/beos/{glut_bitmap.cpp => glut_bitmap.c} (98%) rename src/glut/beos/{glut_bwidth.cpp => glut_bwidth.c} (86%) rename src/glut/beos/{glut_hel10.cpp => glut_hel10.c} (99%) rename src/glut/beos/{glut_hel12.cpp => glut_hel12.c} (99%) rename src/glut/beos/{glut_hel18.cpp => glut_hel18.c} (99%) rename src/glut/beos/{glut_mroman.cpp => glut_mroman.c} (100%) rename src/glut/beos/{glut_roman.cpp => glut_roman.c} (100%) rename src/glut/beos/{glut_shapes.cpp => glut_shapes.c} (84%) rename src/glut/beos/{glut_stroke.cpp => glut_stroke.c} (96%) rename src/glut/beos/{glut_swidth.cpp => glut_swidth.c} (84%) rename src/glut/beos/{glut_teapot.cpp => glut_teapot.c} (99%) create mode 100644 src/glut/beos/glut_tr10.c rename src/glut/beos/{glut_tr24.cpp => glut_tr24.c} (99%) rename src/glut/beos/{glut_util.cpp => glut_util.c} (64%) create mode 100644 src/glut/beos/glut_vidresize.c diff --git a/src/glut/beos/Makefile.orig b/src/glut/beos/Makefile.orig deleted file mode 100644 index 2ea791f737a..00000000000 --- a/src/glut/beos/Makefile.orig +++ /dev/null @@ -1,102 +0,0 @@ -## BeOS Generic Makefile v2.0 ## - -## Fill in this file to specify the project being created, and the referenced -## makefile-engine will do all of the hard work for you. This handles both -## Intel and PowerPC builds of the BeOS. - -## Application Specific Settings --------------------------------------------- - -# specify the name of the binary -NAME= libglut.so - -# specify the type of binary -# APP: Application -# SHARED: Shared library or add-on -# STATIC: Static library archive -# DRIVER: Kernel Driver -TYPE= SHARED - -# specify the source files to use -# full paths or paths relative to the makefile can be included -# all files, regardless of directory, will have their object -# files created in the common object directory. -# Note that this means this makefile will not work correctly -# if two source files with the same name (source.c or source.cpp) -# are included from different directories. Also note that spaces -# in folder names do not work well with this makefile. -SRCS= glut_util.cpp glutBlocker.cpp glutInit.cpp glutWindow.cpp \ -glutEvent.cpp glutCallback.cpp glutOverlay.cpp glutGet.cpp glutColor.cpp \ -glutCursor.cpp glutMenu.cpp glutDstr.cpp glut_bitmap.cpp glut_bwidth.cpp \ -glut_8x13.cpp glut_9x15.cpp glut_hel10.cpp glut_hel12.cpp glut_hel18.cpp \ -glut_tr10.cpp glut_tr24.cpp glut_mroman.cpp glut_roman.cpp glut_stroke.cpp \ -glut_swidth.cpp glut_shapes.cpp glut_teapot.cpp beos_x11.cpp - -# specify the resource files to use -# full path or a relative path to the resource file can be used. -RSRCS= - -# specify additional libraries to link against -# there are two acceptable forms of library specifications -# - if your library follows the naming pattern of: -# libXXX.so or libXXX.a you can simply specify XXX -# library: libbe.so entry: be -# -# - if your library does not follow the standard library -# naming scheme you need to specify the path to the library -# and it's name -# library: my_lib.a entry: my_lib.a or path/my_lib.a -LIBS= GL be - -# specify additional paths to directories following the standard -# libXXX.so or libXXX.a naming scheme. You can specify full paths -# or paths relative to the makefile. The paths included may not -# be recursive, so include all of the paths where libraries can -# be found. Directories where source files are found are -# automatically included. -LIBPATHS= - -# additional paths to look for system headers -# thes use the form: #include
-# source file directories are NOT auto-included here -SYSTEM_INCLUDE_PATHS = ../../include /boot/develop/headers/be/opengl - -# additional paths to look for local headers -# thes use the form: #include "header" -# source file directories are automatically included -LOCAL_INCLUDE_PATHS = - -# specify the level of optimization that you desire -# NONE, SOME, FULL -OPTIMIZE= FULL - -# specify any preprocessor symbols to be defined. The symbols -# will be set to a value of 1. For example specify DEBUG if you want -# DEBUG=1 to be set when compiling. -DEFINES= - -# specify special warning levels -# if unspecified default warnings will be used -# NONE = supress all warnings -# ALL = enable all warnings -WARNINGS = ALL - -# specify whether image symbols will be created -# so that stack crawls in the debugger are meaningful -# if TRUE symbols will be created -SYMBOLS = - -# specify debug settings -# if TRUE will allow application to be run from -# a source-level debugger -DEBUGGER = - -# specify additional compiler flags for all files -COMPILER_FLAGS = - -# specify additional linker flags -LINKER_FLAGS = - - -## include the makefile-engine -include /boot/develop/etc/makefile-engine - diff --git a/src/glut/beos/glut_8x13.cpp b/src/glut/beos/glut_8x13.c similarity index 99% rename from src/glut/beos/glut_8x13.cpp rename to src/glut/beos/glut_8x13.c index f0df89dddd2..843c63d35ae 100644 --- a/src/glut/beos/glut_8x13.cpp +++ b/src/glut/beos/glut_8x13.c @@ -1,9 +1,11 @@ /* GENERATED FILE -- DO NOT MODIFY */ +#define glutBitmap8By13 XXX #include "glutbitmap.h" +#undef glutBitmap8By13 -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -13,7 +15,7 @@ static const BitmapCharRec ch0 = {1,1,0,0,8,ch0data}; static const BitmapCharRec ch0 = {0,0,0,0,8,0}; #endif -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -23,7 +25,7 @@ static const BitmapCharRec ch32 = {1,1,0,0,8,ch32data}; static const BitmapCharRec ch32 = {0,0,0,0,8,0}; #endif -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -33,7 +35,7 @@ static const BitmapCharRec ch127 = {1,1,0,0,8,ch127data}; static const BitmapCharRec ch127 = {0,0,0,0,8,0}; #endif -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -2062,8 +2064,7 @@ static const BitmapCharRec * const chars[] = { &ch255, }; -// jeh: removed const so mwld can export structure to shared lib -BitmapFontRec glutBitmap8By13 = { +const BitmapFontRec glutBitmap8By13 = { "-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1", 256, 0, diff --git a/src/glut/beos/glut_9x15.cpp b/src/glut/beos/glut_9x15.c similarity index 99% rename from src/glut/beos/glut_9x15.cpp rename to src/glut/beos/glut_9x15.c index 52b379fda8f..2d5c004e47a 100644 --- a/src/glut/beos/glut_9x15.cpp +++ b/src/glut/beos/glut_9x15.c @@ -1,9 +1,11 @@ /* GENERATED FILE -- DO NOT MODIFY */ +#define glutBitmap9By15 XXX #include "glutbitmap.h" +#undef glutBitmap9By15 -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -13,7 +15,7 @@ static const BitmapCharRec ch0 = {1,1,0,0,9,ch0data}; static const BitmapCharRec ch0 = {0,0,0,0,9,0}; #endif -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -23,7 +25,7 @@ static const BitmapCharRec ch32 = {1,1,0,0,9,ch32data}; static const BitmapCharRec ch32 = {0,0,0,0,9,0}; #endif -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -33,7 +35,7 @@ static const BitmapCharRec ch127 = {1,1,0,0,9,ch127data}; static const BitmapCharRec ch127 = {0,0,0,0,9,0}; #endif -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -2064,8 +2066,7 @@ static const BitmapCharRec * const chars[] = { &ch255, }; -// jeh: removed const so mwld can export structure to shared lib -BitmapFontRec glutBitmap9By15 = { +const BitmapFontRec glutBitmap9By15 = { "-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1", 256, 0, diff --git a/src/glut/beos/glut_bitmap.cpp b/src/glut/beos/glut_bitmap.c similarity index 98% rename from src/glut/beos/glut_bitmap.cpp rename to src/glut/beos/glut_bitmap.c index 874a05e0b08..f1afdd7a046 100644 --- a/src/glut/beos/glut_bitmap.cpp +++ b/src/glut/beos/glut_bitmap.c @@ -5,7 +5,6 @@ and is provided without guarantee or warrantee expressed or implied. This program is -not- in the public domain. */ -#include #include "glutint.h" #include "glutbitmap.h" @@ -17,7 +16,7 @@ glutBitmapCharacter(GLUTbitmapFont font, int c) GLint swapbytes, lsbfirst, rowlength; GLint skiprows, skippixels, alignment; -#if defined(WIN32) +#if defined(_WIN32) fontinfo = (BitmapFontPtr) __glutFont(font); #else fontinfo = (BitmapFontPtr) font; diff --git a/src/glut/beos/glut_bwidth.cpp b/src/glut/beos/glut_bwidth.c similarity index 86% rename from src/glut/beos/glut_bwidth.cpp rename to src/glut/beos/glut_bwidth.c index 711dfa569e3..bee5e8827ea 100644 --- a/src/glut/beos/glut_bwidth.cpp +++ b/src/glut/beos/glut_bwidth.c @@ -5,7 +5,6 @@ and is provided without guarantee or warrantee expressed or implied. This program is -not- in the public domain. */ -#include #include "glutint.h" #include "glutbitmap.h" @@ -16,7 +15,7 @@ glutBitmapWidth(GLUTbitmapFont font, int c) BitmapFontPtr fontinfo; const BitmapCharRec *ch; -#if defined(WIN32) +#ifdef _WIN32 fontinfo = (BitmapFontPtr) __glutFont(font); #else fontinfo = (BitmapFontPtr) font; @@ -26,19 +25,19 @@ glutBitmapWidth(GLUTbitmapFont font, int c) return 0; ch = fontinfo->ch[c - fontinfo->first]; if (ch) - return (int)ch->advance; + return ch->advance; else return 0; } int APIENTRY -glutBitmapLength(GLUTbitmapFont font, const char *string) +glutBitmapLength(GLUTbitmapFont font, const unsigned char *string) { int c, length; BitmapFontPtr fontinfo; const BitmapCharRec *ch; -#ifdef WIN32 +#ifdef _WIN32 fontinfo = (BitmapFontPtr) __glutFont(font); #else fontinfo = (BitmapFontPtr) font; @@ -50,7 +49,7 @@ glutBitmapLength(GLUTbitmapFont font, const char *string) if (c >= fontinfo->first && c < fontinfo->first + fontinfo->num_chars) { ch = fontinfo->ch[c - fontinfo->first]; if (ch) - length += (int)ch->advance; + length += ch->advance; } } return length; diff --git a/src/glut/beos/glut_hel10.cpp b/src/glut/beos/glut_hel10.c similarity index 99% rename from src/glut/beos/glut_hel10.cpp rename to src/glut/beos/glut_hel10.c index 7ed306c1c00..703cef38f26 100644 --- a/src/glut/beos/glut_hel10.cpp +++ b/src/glut/beos/glut_hel10.c @@ -1,7 +1,9 @@ /* GENERATED FILE -- DO NOT MODIFY */ +#define glutBitmapHelvetica10 XXX #include "glutbitmap.h" +#undef glutBitmapHelvetica10 /* char: 0xff */ @@ -765,7 +767,7 @@ static const BitmapCharRec ch161 = {1,8,-1,2,3,ch161data}; /* char: 0xa0 */ -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -1530,7 +1532,7 @@ static const BitmapCharRec ch33 = {1,8,-1,0,3,ch33data}; /* char: 0x20 ' ' */ -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -1767,8 +1769,7 @@ static const BitmapCharRec * const chars[] = { &ch255, }; -// jeh: removed const so mwld can export structure to shared lib -BitmapFontRec glutBitmapHelvetica10 = { +const BitmapFontRec glutBitmapHelvetica10 = { "-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1", 224, 32, diff --git a/src/glut/beos/glut_hel12.cpp b/src/glut/beos/glut_hel12.c similarity index 99% rename from src/glut/beos/glut_hel12.cpp rename to src/glut/beos/glut_hel12.c index 3866503f5a3..68aed8a2bd6 100644 --- a/src/glut/beos/glut_hel12.cpp +++ b/src/glut/beos/glut_hel12.c @@ -1,7 +1,9 @@ /* GENERATED FILE -- DO NOT MODIFY */ +#define glutBitmapHelvetica12 XXX #include "glutbitmap.h" +#undef glutBitmapHelvetica12 /* char: 0xff */ @@ -772,7 +774,7 @@ static const BitmapCharRec ch161 = {1,10,-1,3,3,ch161data}; /* char: 0xa0 */ -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -1540,7 +1542,7 @@ static const BitmapCharRec ch33 = {1,9,-1,0,3,ch33data}; /* char: 0x20 ' ' */ -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -1777,8 +1779,7 @@ static const BitmapCharRec * const chars[] = { &ch255, }; -// jeh: removed const so mwld can export structure to shared lib -BitmapFontRec glutBitmapHelvetica12 = { +const BitmapFontRec glutBitmapHelvetica12 = { "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1", 224, 32, diff --git a/src/glut/beos/glut_hel18.cpp b/src/glut/beos/glut_hel18.c similarity index 99% rename from src/glut/beos/glut_hel18.cpp rename to src/glut/beos/glut_hel18.c index 00d509d57a6..f0800843e8e 100644 --- a/src/glut/beos/glut_hel18.cpp +++ b/src/glut/beos/glut_hel18.c @@ -1,7 +1,9 @@ /* GENERATED FILE -- DO NOT MODIFY */ +#define glutBitmapHelvetica18 XXX #include "glutbitmap.h" +#undef glutBitmapHelvetica18 /* char: 0xff */ @@ -839,7 +841,7 @@ static const BitmapCharRec ch161 = {2,14,-2,4,6,ch161data}; /* char: 0xa0 */ -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -1649,7 +1651,7 @@ static const BitmapCharRec ch33 = {2,14,-2,0,6,ch33data}; /* char: 0x20 ' ' */ -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -1886,8 +1888,7 @@ static const BitmapCharRec * const chars[] = { &ch255, }; -// jeh: removed const so mwld can export structure to shared lib -BitmapFontRec glutBitmapHelvetica18 = { +const BitmapFontRec glutBitmapHelvetica18 = { "-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1", 224, 32, diff --git a/src/glut/beos/glut_mroman.cpp b/src/glut/beos/glut_mroman.c similarity index 100% rename from src/glut/beos/glut_mroman.cpp rename to src/glut/beos/glut_mroman.c diff --git a/src/glut/beos/glut_roman.cpp b/src/glut/beos/glut_roman.c similarity index 100% rename from src/glut/beos/glut_roman.cpp rename to src/glut/beos/glut_roman.c diff --git a/src/glut/beos/glut_shapes.cpp b/src/glut/beos/glut_shapes.c similarity index 84% rename from src/glut/beos/glut_shapes.cpp rename to src/glut/beos/glut_shapes.c index 2249639f0c5..ce5bebb2be2 100644 --- a/src/glut/beos/glut_shapes.cpp +++ b/src/glut/beos/glut_shapes.c @@ -1,5 +1,5 @@ -/* Copyright (c) Mark J. Kilgard, 1994. */ +/* Copyright (c) Mark J. Kilgard, 1994, 1997. */ /** (c) Copyright 1993, Silicon Graphics, Inc. @@ -45,12 +45,11 @@ OpenGL(TM) is a trademark of Silicon Graphics, Inc. */ #include -#include #include "glutint.h" /* Some files do not define M_PI... */ #ifndef M_PI -#define M_PI 3.14159265 +#define M_PI 3.14159265358979323846 #endif static GLUquadricObj *quadObj; @@ -66,7 +65,7 @@ initQuadObj(void) } /* CENTRY */ -void APIENTRY +void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks) { QUAD_OBJ_INIT(); @@ -78,7 +77,7 @@ glutWireSphere(GLdouble radius, GLint slices, GLint stacks) gluSphere(quadObj, radius, slices, stacks); } -void APIENTRY +void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks) { QUAD_OBJ_INIT(); @@ -90,7 +89,7 @@ glutSolidSphere(GLdouble radius, GLint slices, GLint stacks) gluSphere(quadObj, radius, slices, stacks); } -void APIENTRY +void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks) { @@ -103,7 +102,7 @@ glutWireCone(GLdouble base, GLdouble height, gluCylinder(quadObj, base, 0.0, height, slices, stacks); } -void APIENTRY +void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks) { @@ -149,7 +148,7 @@ drawBox(GLfloat size, GLenum type) v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2; v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2; - for (i = 0; i < 6; i++) { + for (i = 5; i >= 0; i--) { glBegin(type); glNormal3fv(&n[i][0]); glVertex3fv(&v[faces[i][0]][0]); @@ -161,13 +160,13 @@ drawBox(GLfloat size, GLenum type) } /* CENTRY */ -void APIENTRY +void APIENTRY glutWireCube(GLdouble size) { drawBox(size, GL_LINE_LOOP); } -void APIENTRY +void APIENTRY glutSolidCube(GLdouble size) { drawBox(size, GL_QUADS); @@ -176,81 +175,62 @@ glutSolidCube(GLdouble size) /* ENDCENTRY */ static void -doughnut(GLfloat r, GLfloat R, GLint nsides, - GLint rings, GLenum type) +doughnut(GLfloat r, GLfloat R, GLint nsides, GLint rings) { int i, j; - GLfloat theta, phi, theta1, phi1; - GLfloat p0[03], p1[3], p2[3], p3[3]; - GLfloat n0[3], n1[3], n2[3], n3[3]; - - for (i = 0; i < rings; i++) { - theta = (GLfloat) i *2.0 * M_PI / rings; - theta1 = (GLfloat) (i + 1) * 2.0 * M_PI / rings; - for (j = 0; j < nsides; j++) { - phi = (GLfloat) j *2.0 * M_PI / nsides; - phi1 = (GLfloat) (j + 1) * 2.0 * M_PI / nsides; - - p0[0] = cos(theta) * (R + r * cos(phi)); - p0[1] = -sin(theta) * (R + r * cos(phi)); - p0[2] = r * sin(phi); - - p1[0] = cos(theta1) * (R + r * cos(phi)); - p1[1] = -sin(theta1) * (R + r * cos(phi)); - p1[2] = r * sin(phi); - - p2[0] = cos(theta1) * (R + r * cos(phi1)); - p2[1] = -sin(theta1) * (R + r * cos(phi1)); - p2[2] = r * sin(phi1); - - p3[0] = cos(theta) * (R + r * cos(phi1)); - p3[1] = -sin(theta) * (R + r * cos(phi1)); - p3[2] = r * sin(phi1); - - n0[0] = cos(theta) * (cos(phi)); - n0[1] = -sin(theta) * (cos(phi)); - n0[2] = sin(phi); - - n1[0] = cos(theta1) * (cos(phi)); - n1[1] = -sin(theta1) * (cos(phi)); - n1[2] = sin(phi); - - n2[0] = cos(theta1) * (cos(phi1)); - n2[1] = -sin(theta1) * (cos(phi1)); - n2[2] = sin(phi1); - - n3[0] = cos(theta) * (cos(phi1)); - n3[1] = -sin(theta) * (cos(phi1)); - n3[2] = sin(phi1); - - glBegin(type); - glNormal3fv(n3); - glVertex3fv(p3); - glNormal3fv(n2); - glVertex3fv(p2); - glNormal3fv(n1); - glVertex3fv(p1); - glNormal3fv(n0); - glVertex3fv(p0); - glEnd(); + GLfloat theta, phi, theta1; + GLfloat cosTheta, sinTheta; + GLfloat cosTheta1, sinTheta1; + GLfloat ringDelta, sideDelta; + + ringDelta = 2.0 * M_PI / rings; + sideDelta = 2.0 * M_PI / nsides; + + theta = 0.0; + cosTheta = 1.0; + sinTheta = 0.0; + for (i = rings - 1; i >= 0; i--) { + theta1 = theta + ringDelta; + cosTheta1 = cos(theta1); + sinTheta1 = sin(theta1); + glBegin(GL_QUAD_STRIP); + phi = 0.0; + for (j = nsides; j >= 0; j--) { + GLfloat cosPhi, sinPhi, dist; + + phi += sideDelta; + cosPhi = cos(phi); + sinPhi = sin(phi); + dist = R + r * cosPhi; + + glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi); + glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi); + glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi); + glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi); } + glEnd(); + theta = theta1; + cosTheta = cosTheta1; + sinTheta = sinTheta1; } } /* CENTRY */ -void APIENTRY +void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings) { - doughnut(innerRadius, outerRadius, - nsides, rings, GL_LINE_LOOP); + glPushAttrib(GL_POLYGON_BIT); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + doughnut(innerRadius, outerRadius, nsides, rings); + glPopAttrib(); } -void APIENTRY +void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings) { - doughnut(innerRadius, outerRadius, nsides, rings, GL_QUADS); + doughnut(innerRadius, outerRadius, nsides, rings); } /* ENDCENTRY */ @@ -369,13 +349,13 @@ dodecahedron(GLenum type) } /* CENTRY */ -void APIENTRY +void APIENTRY glutWireDodecahedron(void) { dodecahedron(GL_LINE_LOOP); } -void APIENTRY +void APIENTRY glutSolidDodecahedron(void) { dodecahedron(GL_TRIANGLE_FAN); @@ -480,19 +460,19 @@ octahedron(GLenum shadeType) { int i; - for (i = 0; i < 8; i++) { + for (i = 7; i >= 0; i--) { drawtriangle(i, odata, ondex, shadeType); } } /* CENTRY */ -void APIENTRY +void APIENTRY glutWireOctahedron(void) { octahedron(GL_LINE_LOOP); } -void APIENTRY +void APIENTRY glutSolidOctahedron(void) { octahedron(GL_TRIANGLES); @@ -551,19 +531,19 @@ icosahedron(GLenum shadeType) { int i; - for (i = 0; i < 20; i++) { + for (i = 19; i >= 0; i--) { drawtriangle(i, idata, index, shadeType); } } /* CENTRY */ -void APIENTRY +void APIENTRY glutWireIcosahedron(void) { icosahedron(GL_LINE_LOOP); } -void APIENTRY +void APIENTRY glutSolidIcosahedron(void) { icosahedron(GL_TRIANGLES); @@ -596,18 +576,18 @@ tetrahedron(GLenum shadeType) { int i; - for (i = 0; i < 4; i++) + for (i = 3; i >= 0; i--) drawtriangle(i, tdata, tndex, shadeType); } /* CENTRY */ -void APIENTRY +void APIENTRY glutWireTetrahedron(void) { tetrahedron(GL_LINE_LOOP); } -void APIENTRY +void APIENTRY glutSolidTetrahedron(void) { tetrahedron(GL_TRIANGLES); diff --git a/src/glut/beos/glut_stroke.cpp b/src/glut/beos/glut_stroke.c similarity index 96% rename from src/glut/beos/glut_stroke.cpp rename to src/glut/beos/glut_stroke.c index c9231ebbd5e..2fe408be1ad 100644 --- a/src/glut/beos/glut_stroke.cpp +++ b/src/glut/beos/glut_stroke.c @@ -5,7 +5,6 @@ and is provided without guarantee or warrantee expressed or implied. This program is -not- in the public domain. */ -#include #include "glutint.h" #include "glutstroke.h" @@ -19,7 +18,7 @@ glutStrokeCharacter(GLUTstrokeFont font, int c) int i, j; -#if defined(WIN32) +#if defined(_WIN32) fontinfo = (StrokeFontPtr) __glutFont(font); #else fontinfo = (StrokeFontPtr) font; diff --git a/src/glut/beos/glut_swidth.cpp b/src/glut/beos/glut_swidth.c similarity index 84% rename from src/glut/beos/glut_swidth.cpp rename to src/glut/beos/glut_swidth.c index 228c8fc2552..e1b73745751 100644 --- a/src/glut/beos/glut_swidth.cpp +++ b/src/glut/beos/glut_swidth.c @@ -5,7 +5,6 @@ and is provided without guarantee or warrantee expressed or implied. This program is -not- in the public domain. */ -#include #include "glutint.h" #include "glutstroke.h" @@ -16,7 +15,7 @@ glutStrokeWidth(GLUTstrokeFont font, int c) StrokeFontPtr fontinfo; const StrokeCharRec *ch; -#if defined(WIN32) +#if defined(_WIN32) fontinfo = (StrokeFontPtr) __glutFont(font); #else fontinfo = (StrokeFontPtr) font; @@ -26,19 +25,19 @@ glutStrokeWidth(GLUTstrokeFont font, int c) return 0; ch = &(fontinfo->ch[c]); if (ch) - return (int)ch->right; + return ch->right; else return 0; } int APIENTRY -glutStrokeLength(GLUTstrokeFont font, const char *string) +glutStrokeLength(GLUTstrokeFont font, const unsigned char *string) { int c, length; StrokeFontPtr fontinfo; const StrokeCharRec *ch; -#if defined(WIN32) +#if defined(_WIN32) fontinfo = (StrokeFontPtr) __glutFont(font); #else fontinfo = (StrokeFontPtr) font; @@ -50,7 +49,7 @@ glutStrokeLength(GLUTstrokeFont font, const char *string) if (c >= 0 && c < fontinfo->num_chars) { ch = &(fontinfo->ch[c]); if (ch) - length += (int)ch->right; + length += ch->right; } } return length; diff --git a/src/glut/beos/glut_teapot.cpp b/src/glut/beos/glut_teapot.c similarity index 99% rename from src/glut/beos/glut_teapot.cpp rename to src/glut/beos/glut_teapot.c index 63e63e44873..3c9bdc1ab72 100644 --- a/src/glut/beos/glut_teapot.cpp +++ b/src/glut/beos/glut_teapot.c @@ -44,7 +44,7 @@ Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA OpenGL(TM) is a trademark of Silicon Graphics, Inc. */ -#include +#include "glutint.h" /* Rim, body, lid, and bottom data must be reflected in x and y; handle and spout data across the y axis only. */ diff --git a/src/glut/beos/glut_tr10.c b/src/glut/beos/glut_tr10.c new file mode 100644 index 00000000000..0fac8070ca5 --- /dev/null +++ b/src/glut/beos/glut_tr10.c @@ -0,0 +1,1777 @@ + +/* GENERATED FILE -- DO NOT MODIFY */ + +#define glutBitmapTimesRoman10 XXX +#include "glutbitmap.h" +#undef glutBitmapTimesRoman10 + +/* char: 0xff */ + +static const GLubyte ch255data[] = { +0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0xa0, +}; + +static const BitmapCharRec ch255 = {5,9,0,2,5,ch255data}; + +/* char: 0xfe */ + +static const GLubyte ch254data[] = { +0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,0x80,0x80, +}; + +static const BitmapCharRec ch254 = {4,9,0,2,5,ch254data}; + +/* char: 0xfd */ + +static const GLubyte ch253data[] = { +0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0x20,0x10, +}; + +static const BitmapCharRec ch253 = {5,10,0,2,5,ch253data}; + +/* char: 0xfc */ + +static const GLubyte ch252data[] = { +0x68,0x90,0x90,0x90,0x90,0x0,0x50, +}; + +static const BitmapCharRec ch252 = {5,7,0,0,5,ch252data}; + +/* char: 0xfb */ + +static const GLubyte ch251data[] = { +0x68,0x90,0x90,0x90,0x90,0x0,0x50,0x20, +}; + +static const BitmapCharRec ch251 = {5,8,0,0,5,ch251data}; + +/* char: 0xfa */ + +static const GLubyte ch250data[] = { +0x68,0x90,0x90,0x90,0x90,0x0,0x40,0x20, +}; + +static const BitmapCharRec ch250 = {5,8,0,0,5,ch250data}; + +/* char: 0xf9 */ + +static const GLubyte ch249data[] = { +0x68,0x90,0x90,0x90,0x90,0x0,0x20,0x40, +}; + +static const BitmapCharRec ch249 = {5,8,0,0,5,ch249data}; + +/* char: 0xf8 */ + +static const GLubyte ch248data[] = { +0x80,0x70,0x48,0x48,0x48,0x38,0x4, +}; + +static const BitmapCharRec ch248 = {6,7,1,1,5,ch248data}; + +/* char: 0xf7 */ + +static const GLubyte ch247data[] = { +0x20,0x0,0xf8,0x0,0x20, +}; + +static const BitmapCharRec ch247 = {5,5,0,0,6,ch247data}; + +/* char: 0xf6 */ + +static const GLubyte ch246data[] = { +0x60,0x90,0x90,0x90,0x60,0x0,0xa0, +}; + +static const BitmapCharRec ch246 = {4,7,0,0,5,ch246data}; + +/* char: 0xf5 */ + +static const GLubyte ch245data[] = { +0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x50, +}; + +static const BitmapCharRec ch245 = {4,8,0,0,5,ch245data}; + +/* char: 0xf4 */ + +static const GLubyte ch244data[] = { +0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x40, +}; + +static const BitmapCharRec ch244 = {4,8,0,0,5,ch244data}; + +/* char: 0xf3 */ + +static const GLubyte ch243data[] = { +0x60,0x90,0x90,0x90,0x60,0x0,0x40,0x20, +}; + +static const BitmapCharRec ch243 = {4,8,0,0,5,ch243data}; + +/* char: 0xf2 */ + +static const GLubyte ch242data[] = { +0x60,0x90,0x90,0x90,0x60,0x0,0x20,0x40, +}; + +static const BitmapCharRec ch242 = {4,8,0,0,5,ch242data}; + +/* char: 0xf1 */ + +static const GLubyte ch241data[] = { +0xd8,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50, +}; + +static const BitmapCharRec ch241 = {5,8,0,0,5,ch241data}; + +/* char: 0xf0 */ + +static const GLubyte ch240data[] = { +0x60,0x90,0x90,0x90,0x70,0xa0,0x70,0x40, +}; + +static const BitmapCharRec ch240 = {4,8,0,0,5,ch240data}; + +/* char: 0xef */ + +static const GLubyte ch239data[] = { +0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0, +}; + +static const BitmapCharRec ch239 = {3,7,0,0,4,ch239data}; + +/* char: 0xee */ + +static const GLubyte ch238data[] = { +0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,0x40, +}; + +static const BitmapCharRec ch238 = {3,8,0,0,4,ch238data}; + +/* char: 0xed */ + +static const GLubyte ch237data[] = { +0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x20, +}; + +static const BitmapCharRec ch237 = {3,8,0,0,4,ch237data}; + +/* char: 0xec */ + +static const GLubyte ch236data[] = { +0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x80, +}; + +static const BitmapCharRec ch236 = {3,8,0,0,4,ch236data}; + +/* char: 0xeb */ + +static const GLubyte ch235data[] = { +0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0, +}; + +static const BitmapCharRec ch235 = {3,7,0,0,4,ch235data}; + +/* char: 0xea */ + +static const GLubyte ch234data[] = { +0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,0x40, +}; + +static const BitmapCharRec ch234 = {3,8,0,0,4,ch234data}; + +/* char: 0xe9 */ + +static const GLubyte ch233data[] = { +0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x20, +}; + +static const BitmapCharRec ch233 = {3,8,0,0,4,ch233data}; + +/* char: 0xe8 */ + +static const GLubyte ch232data[] = { +0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x80, +}; + +static const BitmapCharRec ch232 = {3,8,0,0,4,ch232data}; + +/* char: 0xe7 */ + +static const GLubyte ch231data[] = { +0xc0,0x20,0x40,0x60,0x80,0x80,0x80,0x60, +}; + +static const BitmapCharRec ch231 = {3,8,0,3,4,ch231data}; + +/* char: 0xe6 */ + +static const GLubyte ch230data[] = { +0xd8,0xa0,0x70,0x28,0xd8, +}; + +static const BitmapCharRec ch230 = {5,5,0,0,6,ch230data}; + +/* char: 0xe5 */ + +static const GLubyte ch229data[] = { +0xe0,0xa0,0x60,0x20,0xc0,0x40,0xa0,0x40, +}; + +static const BitmapCharRec ch229 = {3,8,0,0,4,ch229data}; + +/* char: 0xe4 */ + +static const GLubyte ch228data[] = { +0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0, +}; + +static const BitmapCharRec ch228 = {3,7,0,0,4,ch228data}; + +/* char: 0xe3 */ + +static const GLubyte ch227data[] = { +0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x50, +}; + +static const BitmapCharRec ch227 = {4,8,0,0,4,ch227data}; + +/* char: 0xe2 */ + +static const GLubyte ch226data[] = { +0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x40, +}; + +static const BitmapCharRec ch226 = {3,8,0,0,4,ch226data}; + +/* char: 0xe1 */ + +static const GLubyte ch225data[] = { +0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x20, +}; + +static const BitmapCharRec ch225 = {3,8,0,0,4,ch225data}; + +/* char: 0xe0 */ + +static const GLubyte ch224data[] = { +0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x80, +}; + +static const BitmapCharRec ch224 = {3,8,0,0,4,ch224data}; + +/* char: 0xdf */ + +static const GLubyte ch223data[] = { +0xe0,0x50,0x50,0x60,0x50,0x50,0x20, +}; + +static const BitmapCharRec ch223 = {4,7,0,0,5,ch223data}; + +/* char: 0xde */ + +static const GLubyte ch222data[] = { +0xe0,0x40,0x70,0x48,0x70,0x40,0xe0, +}; + +static const BitmapCharRec ch222 = {5,7,0,0,6,ch222data}; + +/* char: 0xdd */ + +static const GLubyte ch221data[] = { +0x38,0x10,0x10,0x28,0x28,0x44,0xee,0x0,0x10,0x8, +}; + +static const BitmapCharRec ch221 = {7,10,0,0,8,ch221data}; + +/* char: 0xdc */ + +static const GLubyte ch220data[] = { +0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28, +}; + +static const BitmapCharRec ch220 = {7,9,0,0,8,ch220data}; + +/* char: 0xdb */ + +static const GLubyte ch219data[] = { +0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,0x10, +}; + +static const BitmapCharRec ch219 = {7,10,0,0,8,ch219data}; + +/* char: 0xda */ + +static const GLubyte ch218data[] = { +0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x8, +}; + +static const BitmapCharRec ch218 = {7,10,0,0,8,ch218data}; + +/* char: 0xd9 */ + +static const GLubyte ch217data[] = { +0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x20, +}; + +static const BitmapCharRec ch217 = {7,10,0,0,8,ch217data}; + +/* char: 0xd8 */ + +static const GLubyte ch216data[] = { +0x80,0x7c,0x66,0x52,0x52,0x4a,0x66,0x3e,0x1, +}; + +static const BitmapCharRec ch216 = {8,9,0,1,8,ch216data}; + +/* char: 0xd7 */ + +static const GLubyte ch215data[] = { +0x88,0x50,0x20,0x50,0x88, +}; + +static const BitmapCharRec ch215 = {5,5,0,0,6,ch215data}; + +/* char: 0xd6 */ + +static const GLubyte ch214data[] = { +0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50, +}; + +static const BitmapCharRec ch214 = {6,9,0,0,7,ch214data}; + +/* char: 0xd5 */ + +static const GLubyte ch213data[] = { +0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x28, +}; + +static const BitmapCharRec ch213 = {6,10,0,0,7,ch213data}; + +/* char: 0xd4 */ + +static const GLubyte ch212data[] = { +0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x20, +}; + +static const BitmapCharRec ch212 = {6,10,0,0,7,ch212data}; + +/* char: 0xd3 */ + +static const GLubyte ch211data[] = { +0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x10,0x8, +}; + +static const BitmapCharRec ch211 = {6,10,0,0,7,ch211data}; + +/* char: 0xd2 */ + +static const GLubyte ch210data[] = { +0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x20,0x40, +}; + +static const BitmapCharRec ch210 = {6,10,0,0,7,ch210data}; + +/* char: 0xd1 */ + +static const GLubyte ch209data[] = { +0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,0x0,0x50,0x28, +}; + +static const BitmapCharRec ch209 = {7,10,0,0,8,ch209data}; + +/* char: 0xd0 */ + +static const GLubyte ch208data[] = { +0xf8,0x4c,0x44,0xe4,0x44,0x4c,0xf8, +}; + +static const BitmapCharRec ch208 = {6,7,0,0,7,ch208data}; + +/* char: 0xcf */ + +static const GLubyte ch207data[] = { +0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0, +}; + +static const BitmapCharRec ch207 = {3,9,0,0,4,ch207data}; + +/* char: 0xce */ + +static const GLubyte ch206data[] = { +0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,0x40, +}; + +static const BitmapCharRec ch206 = {3,10,0,0,4,ch206data}; + +/* char: 0xcd */ + +static const GLubyte ch205data[] = { +0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x20, +}; + +static const BitmapCharRec ch205 = {3,10,0,0,4,ch205data}; + +/* char: 0xcc */ + +static const GLubyte ch204data[] = { +0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x80, +}; + +static const BitmapCharRec ch204 = {3,10,0,0,4,ch204data}; + +/* char: 0xcb */ + +static const GLubyte ch203data[] = { +0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50, +}; + +static const BitmapCharRec ch203 = {5,9,0,0,6,ch203data}; + +/* char: 0xca */ + +static const GLubyte ch202data[] = { +0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,0x20, +}; + +static const BitmapCharRec ch202 = {5,10,0,0,6,ch202data}; + +/* char: 0xc9 */ + +static const GLubyte ch201data[] = { +0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x10, +}; + +static const BitmapCharRec ch201 = {5,10,0,0,6,ch201data}; + +/* char: 0xc8 */ + +static const GLubyte ch200data[] = { +0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x40, +}; + +static const BitmapCharRec ch200 = {5,10,0,0,6,ch200data}; + +/* char: 0xc7 */ + +static const GLubyte ch199data[] = { +0x60,0x10,0x20,0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c, +}; + +static const BitmapCharRec ch199 = {6,10,0,3,7,ch199data}; + +/* char: 0xc6 */ + +static const GLubyte ch198data[] = { +0xef,0x49,0x78,0x2e,0x28,0x39,0x1f, +}; + +static const BitmapCharRec ch198 = {8,7,0,0,9,ch198data}; + +/* char: 0xc5 */ + +static const GLubyte ch197data[] = { +0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x10,0x28,0x10, +}; + +static const BitmapCharRec ch197 = {7,10,0,0,8,ch197data}; + +/* char: 0xc4 */ + +static const GLubyte ch196data[] = { +0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28, +}; + +static const BitmapCharRec ch196 = {7,9,0,0,8,ch196data}; + +/* char: 0xc3 */ + +static const GLubyte ch195data[] = { +0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x14, +}; + +static const BitmapCharRec ch195 = {7,10,0,0,8,ch195data}; + +/* char: 0xc2 */ + +static const GLubyte ch194data[] = { +0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x10, +}; + +static const BitmapCharRec ch194 = {7,10,0,0,8,ch194data}; + +/* char: 0xc1 */ + +static const GLubyte ch193data[] = { +0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x8, +}; + +static const BitmapCharRec ch193 = {7,10,0,0,8,ch193data}; + +/* char: 0xc0 */ + +static const GLubyte ch192data[] = { +0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x20, +}; + +static const BitmapCharRec ch192 = {7,10,0,0,8,ch192data}; + +/* char: 0xbf */ + +static const GLubyte ch191data[] = { +0xe0,0xa0,0x80,0x40,0x40,0x0,0x40, +}; + +static const BitmapCharRec ch191 = {3,7,0,2,4,ch191data}; + +/* char: 0xbe */ + +static const GLubyte ch190data[] = { +0x44,0x3e,0x2c,0xd4,0x28,0x48,0xe4, +}; + +static const BitmapCharRec ch190 = {7,7,0,0,8,ch190data}; + +/* char: 0xbd */ + +static const GLubyte ch189data[] = { +0x4e,0x24,0x2a,0xf6,0x48,0xc8,0x44, +}; + +static const BitmapCharRec ch189 = {7,7,0,0,8,ch189data}; + +/* char: 0xbc */ + +static const GLubyte ch188data[] = { +0x44,0x3e,0x2c,0xf4,0x48,0xc8,0x44, +}; + +static const BitmapCharRec ch188 = {7,7,0,0,8,ch188data}; + +/* char: 0xbb */ + +static const GLubyte ch187data[] = { +0xa0,0x50,0x50,0xa0, +}; + +static const BitmapCharRec ch187 = {4,4,0,-1,5,ch187data}; + +/* char: 0xba */ + +static const GLubyte ch186data[] = { +0xe0,0x0,0x40,0xa0,0x40, +}; + +static const BitmapCharRec ch186 = {3,5,0,-2,4,ch186data}; + +/* char: 0xb9 */ + +static const GLubyte ch185data[] = { +0xe0,0x40,0xc0,0x40, +}; + +static const BitmapCharRec ch185 = {3,4,0,-3,3,ch185data}; + +/* char: 0xb8 */ + +static const GLubyte ch184data[] = { +0xc0,0x20,0x40, +}; + +static const BitmapCharRec ch184 = {3,3,0,3,4,ch184data}; + +/* char: 0xb7 */ + +static const GLubyte ch183data[] = { +0x80, +}; + +static const BitmapCharRec ch183 = {1,1,0,-2,2,ch183data}; + +/* char: 0xb6 */ + +static const GLubyte ch182data[] = { +0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c, +}; + +static const BitmapCharRec ch182 = {6,9,0,2,6,ch182data}; + +/* char: 0xb5 */ + +static const GLubyte ch181data[] = { +0x80,0x80,0xe8,0x90,0x90,0x90,0x90, +}; + +static const BitmapCharRec ch181 = {5,7,0,2,5,ch181data}; + +/* char: 0xb4 */ + +static const GLubyte ch180data[] = { +0x80,0x40, +}; + +static const BitmapCharRec ch180 = {2,2,0,-5,3,ch180data}; + +/* char: 0xb3 */ + +static const GLubyte ch179data[] = { +0xc0,0x20,0x40,0xe0, +}; + +static const BitmapCharRec ch179 = {3,4,0,-3,3,ch179data}; + +/* char: 0xb2 */ + +static const GLubyte ch178data[] = { +0xe0,0x40,0xa0,0x60, +}; + +static const BitmapCharRec ch178 = {3,4,0,-3,3,ch178data}; + +/* char: 0xb1 */ + +static const GLubyte ch177data[] = { +0xf8,0x0,0x20,0x20,0xf8,0x20,0x20, +}; + +static const BitmapCharRec ch177 = {5,7,0,0,6,ch177data}; + +/* char: 0xb0 */ + +static const GLubyte ch176data[] = { +0x60,0x90,0x90,0x60, +}; + +static const BitmapCharRec ch176 = {4,4,0,-3,4,ch176data}; + +/* char: 0xaf */ + +static const GLubyte ch175data[] = { +0xe0, +}; + +static const BitmapCharRec ch175 = {3,1,0,-6,4,ch175data}; + +/* char: 0xae */ + +static const GLubyte ch174data[] = { +0x38,0x44,0xaa,0xb2,0xba,0x44,0x38, +}; + +static const BitmapCharRec ch174 = {7,7,-1,0,9,ch174data}; + +/* char: 0xad */ + +static const GLubyte ch173data[] = { +0xe0, +}; + +static const BitmapCharRec ch173 = {3,1,0,-2,4,ch173data}; + +/* char: 0xac */ + +static const GLubyte ch172data[] = { +0x8,0x8,0xf8, +}; + +static const BitmapCharRec ch172 = {5,3,-1,-1,7,ch172data}; + +/* char: 0xab */ + +static const GLubyte ch171data[] = { +0x50,0xa0,0xa0,0x50, +}; + +static const BitmapCharRec ch171 = {4,4,0,-1,5,ch171data}; + +/* char: 0xaa */ + +static const GLubyte ch170data[] = { +0xe0,0x0,0xa0,0x20,0xc0, +}; + +static const BitmapCharRec ch170 = {3,5,0,-2,4,ch170data}; + +/* char: 0xa9 */ + +static const GLubyte ch169data[] = { +0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38, +}; + +static const BitmapCharRec ch169 = {7,7,-1,0,9,ch169data}; + +/* char: 0xa8 */ + +static const GLubyte ch168data[] = { +0xa0, +}; + +static const BitmapCharRec ch168 = {3,1,-1,-6,5,ch168data}; + +/* char: 0xa7 */ + +static const GLubyte ch167data[] = { +0xe0,0x90,0x20,0x50,0x90,0xa0,0x40,0x90,0x70, +}; + +static const BitmapCharRec ch167 = {4,9,0,1,5,ch167data}; + +/* char: 0xa6 */ + +static const GLubyte ch166data[] = { +0x80,0x80,0x80,0x0,0x80,0x80,0x80, +}; + +static const BitmapCharRec ch166 = {1,7,0,0,2,ch166data}; + +/* char: 0xa5 */ + +static const GLubyte ch165data[] = { +0x70,0x20,0xf8,0x20,0xd8,0x50,0x88, +}; + +static const BitmapCharRec ch165 = {5,7,0,0,5,ch165data}; + +/* char: 0xa4 */ + +static const GLubyte ch164data[] = { +0x88,0x70,0x50,0x50,0x70,0x88, +}; + +static const BitmapCharRec ch164 = {5,6,0,-1,5,ch164data}; + +/* char: 0xa3 */ + +static const GLubyte ch163data[] = { +0xf0,0xc8,0x40,0xe0,0x40,0x50,0x30, +}; + +static const BitmapCharRec ch163 = {5,7,0,0,5,ch163data}; + +/* char: 0xa2 */ + +static const GLubyte ch162data[] = { +0x80,0xe0,0x90,0x80,0x90,0x70,0x10, +}; + +static const BitmapCharRec ch162 = {4,7,0,1,5,ch162data}; + +/* char: 0xa1 */ + +static const GLubyte ch161data[] = { +0x80,0x80,0x80,0x80,0x80,0x0,0x80, +}; + +static const BitmapCharRec ch161 = {1,7,-1,2,3,ch161data}; + +/* char: 0xa0 */ + +#ifdef _WIN32 +/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with + a height or width of zero does not advance the raster position + as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ +static const GLubyte ch160data[] = { 0x0 }; +static const BitmapCharRec ch160 = {1,1,0,0,2,ch160data}; +#else +static const BitmapCharRec ch160 = {0,0,0,0,2,0}; +#endif + +/* char: 0x7e '~' */ + +static const GLubyte ch126data[] = { +0x98,0x64, +}; + +static const BitmapCharRec ch126 = {6,2,0,-2,7,ch126data}; + +/* char: 0x7d '}' */ + +static const GLubyte ch125data[] = { +0x80,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80, +}; + +static const BitmapCharRec ch125 = {3,9,0,2,4,ch125data}; + +/* char: 0x7c '|' */ + +static const GLubyte ch124data[] = { +0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, +}; + +static const BitmapCharRec ch124 = {1,9,0,2,2,ch124data}; + +/* char: 0x7b '{' */ + +static const GLubyte ch123data[] = { +0x20,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20, +}; + +static const BitmapCharRec ch123 = {3,9,0,2,4,ch123data}; + +/* char: 0x7a 'z' */ + +static const GLubyte ch122data[] = { +0xf0,0x90,0x40,0x20,0xf0, +}; + +static const BitmapCharRec ch122 = {4,5,0,0,5,ch122data}; + +/* char: 0x79 'y' */ + +static const GLubyte ch121data[] = { +0x40,0x40,0x20,0x30,0x50,0x48,0xdc, +}; + +static const BitmapCharRec ch121 = {6,7,1,2,5,ch121data}; + +/* char: 0x78 'x' */ + +static const GLubyte ch120data[] = { +0xd8,0x50,0x20,0x50,0xd8, +}; + +static const BitmapCharRec ch120 = {5,5,0,0,6,ch120data}; + +/* char: 0x77 'w' */ + +static const GLubyte ch119data[] = { +0x28,0x6c,0x54,0x92,0xdb, +}; + +static const BitmapCharRec ch119 = {8,5,0,0,8,ch119data}; + +/* char: 0x76 'v' */ + +static const GLubyte ch118data[] = { +0x20,0x60,0x50,0x90,0xd8, +}; + +static const BitmapCharRec ch118 = {5,5,0,0,5,ch118data}; + +/* char: 0x75 'u' */ + +static const GLubyte ch117data[] = { +0x68,0x90,0x90,0x90,0x90, +}; + +static const BitmapCharRec ch117 = {5,5,0,0,5,ch117data}; + +/* char: 0x74 't' */ + +static const GLubyte ch116data[] = { +0x30,0x40,0x40,0x40,0xe0,0x40, +}; + +static const BitmapCharRec ch116 = {4,6,0,0,4,ch116data}; + +/* char: 0x73 's' */ + +static const GLubyte ch115data[] = { +0xe0,0x20,0x60,0x80,0xe0, +}; + +static const BitmapCharRec ch115 = {3,5,0,0,4,ch115data}; + +/* char: 0x72 'r' */ + +static const GLubyte ch114data[] = { +0xe0,0x40,0x40,0x60,0xa0, +}; + +static const BitmapCharRec ch114 = {3,5,0,0,4,ch114data}; + +/* char: 0x71 'q' */ + +static const GLubyte ch113data[] = { +0x38,0x10,0x70,0x90,0x90,0x90,0x70, +}; + +static const BitmapCharRec ch113 = {5,7,0,2,5,ch113data}; + +/* char: 0x70 'p' */ + +static const GLubyte ch112data[] = { +0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0, +}; + +static const BitmapCharRec ch112 = {4,7,0,2,5,ch112data}; + +/* char: 0x6f 'o' */ + +static const GLubyte ch111data[] = { +0x60,0x90,0x90,0x90,0x60, +}; + +static const BitmapCharRec ch111 = {4,5,0,0,5,ch111data}; + +/* char: 0x6e 'n' */ + +static const GLubyte ch110data[] = { +0xd8,0x90,0x90,0x90,0xe0, +}; + +static const BitmapCharRec ch110 = {5,5,0,0,5,ch110data}; + +/* char: 0x6d 'm' */ + +static const GLubyte ch109data[] = { +0xdb,0x92,0x92,0x92,0xec, +}; + +static const BitmapCharRec ch109 = {8,5,0,0,8,ch109data}; + +/* char: 0x6c 'l' */ + +static const GLubyte ch108data[] = { +0xe0,0x40,0x40,0x40,0x40,0x40,0xc0, +}; + +static const BitmapCharRec ch108 = {3,7,0,0,4,ch108data}; + +/* char: 0x6b 'k' */ + +static const GLubyte ch107data[] = { +0x98,0x90,0xe0,0xa0,0x90,0x80,0x80, +}; + +static const BitmapCharRec ch107 = {5,7,0,0,5,ch107data}; + +/* char: 0x6a 'j' */ + +static const GLubyte ch106data[] = { +0x80,0x40,0x40,0x40,0x40,0x40,0xc0,0x0,0x40, +}; + +static const BitmapCharRec ch106 = {2,9,0,2,3,ch106data}; + +/* char: 0x69 'i' */ + +static const GLubyte ch105data[] = { +0x40,0x40,0x40,0x40,0xc0,0x0,0x40, +}; + +static const BitmapCharRec ch105 = {2,7,0,0,3,ch105data}; + +/* char: 0x68 'h' */ + +static const GLubyte ch104data[] = { +0xd8,0x90,0x90,0x90,0xe0,0x80,0x80, +}; + +static const BitmapCharRec ch104 = {5,7,0,0,5,ch104data}; + +/* char: 0x67 'g' */ + +static const GLubyte ch103data[] = { +0xe0,0x90,0x60,0x40,0xa0,0xa0,0x70, +}; + +static const BitmapCharRec ch103 = {4,7,0,2,5,ch103data}; + +/* char: 0x66 'f' */ + +static const GLubyte ch102data[] = { +0xe0,0x40,0x40,0x40,0xe0,0x40,0x30, +}; + +static const BitmapCharRec ch102 = {4,7,0,0,4,ch102data}; + +/* char: 0x65 'e' */ + +static const GLubyte ch101data[] = { +0x60,0x80,0xc0,0xa0,0x60, +}; + +static const BitmapCharRec ch101 = {3,5,0,0,4,ch101data}; + +/* char: 0x64 'd' */ + +static const GLubyte ch100data[] = { +0x68,0x90,0x90,0x90,0x70,0x10,0x30, +}; + +static const BitmapCharRec ch100 = {5,7,0,0,5,ch100data}; + +/* char: 0x63 'c' */ + +static const GLubyte ch99data[] = { +0x60,0x80,0x80,0x80,0x60, +}; + +static const BitmapCharRec ch99 = {3,5,0,0,4,ch99data}; + +/* char: 0x62 'b' */ + +static const GLubyte ch98data[] = { +0xe0,0x90,0x90,0x90,0xe0,0x80,0x80, +}; + +static const BitmapCharRec ch98 = {4,7,0,0,5,ch98data}; + +/* char: 0x61 'a' */ + +static const GLubyte ch97data[] = { +0xe0,0xa0,0x60,0x20,0xc0, +}; + +static const BitmapCharRec ch97 = {3,5,0,0,4,ch97data}; + +/* char: 0x60 '`' */ + +static const GLubyte ch96data[] = { +0xc0,0x80, +}; + +static const BitmapCharRec ch96 = {2,2,0,-5,3,ch96data}; + +/* char: 0x5f '_' */ + +static const GLubyte ch95data[] = { +0xf8, +}; + +static const BitmapCharRec ch95 = {5,1,0,3,5,ch95data}; + +/* char: 0x5e '^' */ + +static const GLubyte ch94data[] = { +0xa0,0xa0,0x40, +}; + +static const BitmapCharRec ch94 = {3,3,-1,-4,5,ch94data}; + +/* char: 0x5d ']' */ + +static const GLubyte ch93data[] = { +0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0, +}; + +static const BitmapCharRec ch93 = {2,9,0,2,3,ch93data}; + +/* char: 0x5c '\' */ + +static const GLubyte ch92data[] = { +0x20,0x20,0x40,0x40,0x40,0x80,0x80, +}; + +static const BitmapCharRec ch92 = {3,7,0,0,3,ch92data}; + +/* char: 0x5b '[' */ + +static const GLubyte ch91data[] = { +0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0, +}; + +static const BitmapCharRec ch91 = {2,9,0,2,3,ch91data}; + +/* char: 0x5a 'Z' */ + +static const GLubyte ch90data[] = { +0xf8,0x88,0x40,0x20,0x10,0x88,0xf8, +}; + +static const BitmapCharRec ch90 = {5,7,0,0,6,ch90data}; + +/* char: 0x59 'Y' */ + +static const GLubyte ch89data[] = { +0x38,0x10,0x10,0x28,0x28,0x44,0xee, +}; + +static const BitmapCharRec ch89 = {7,7,0,0,8,ch89data}; + +/* char: 0x58 'X' */ + +static const GLubyte ch88data[] = { +0xee,0x44,0x28,0x10,0x28,0x44,0xee, +}; + +static const BitmapCharRec ch88 = {7,7,0,0,8,ch88data}; + +/* char: 0x57 'W' */ + +static const GLubyte ch87data[] = { +0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0xc9,0x80,0x88,0x80,0xdd,0xc0, +}; + +static const BitmapCharRec ch87 = {10,7,0,0,10,ch87data}; + +/* char: 0x56 'V' */ + +static const GLubyte ch86data[] = { +0x10,0x10,0x28,0x28,0x6c,0x44,0xee, +}; + +static const BitmapCharRec ch86 = {7,7,0,0,8,ch86data}; + +/* char: 0x55 'U' */ + +static const GLubyte ch85data[] = { +0x38,0x6c,0x44,0x44,0x44,0x44,0xee, +}; + +static const BitmapCharRec ch85 = {7,7,0,0,8,ch85data}; + +/* char: 0x54 'T' */ + +static const GLubyte ch84data[] = { +0x70,0x20,0x20,0x20,0x20,0xa8,0xf8, +}; + +static const BitmapCharRec ch84 = {5,7,0,0,6,ch84data}; + +/* char: 0x53 'S' */ + +static const GLubyte ch83data[] = { +0xe0,0x90,0x10,0x60,0xc0,0x90,0x70, +}; + +static const BitmapCharRec ch83 = {4,7,0,0,5,ch83data}; + +/* char: 0x52 'R' */ + +static const GLubyte ch82data[] = { +0xec,0x48,0x50,0x70,0x48,0x48,0xf0, +}; + +static const BitmapCharRec ch82 = {6,7,0,0,7,ch82data}; + +/* char: 0x51 'Q' */ + +static const GLubyte ch81data[] = { +0xc,0x18,0x70,0xcc,0x84,0x84,0x84,0xcc,0x78, +}; + +static const BitmapCharRec ch81 = {6,9,0,2,7,ch81data}; + +/* char: 0x50 'P' */ + +static const GLubyte ch80data[] = { +0xe0,0x40,0x40,0x70,0x48,0x48,0xf0, +}; + +static const BitmapCharRec ch80 = {5,7,0,0,6,ch80data}; + +/* char: 0x4f 'O' */ + +static const GLubyte ch79data[] = { +0x78,0xcc,0x84,0x84,0x84,0xcc,0x78, +}; + +static const BitmapCharRec ch79 = {6,7,0,0,7,ch79data}; + +/* char: 0x4e 'N' */ + +static const GLubyte ch78data[] = { +0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee, +}; + +static const BitmapCharRec ch78 = {7,7,0,0,8,ch78data}; + +/* char: 0x4d 'M' */ + +static const GLubyte ch77data[] = { +0xeb,0x80,0x49,0x0,0x55,0x0,0x55,0x0,0x63,0x0,0x63,0x0,0xe3,0x80, +}; + +static const BitmapCharRec ch77 = {9,7,0,0,10,ch77data}; + +/* char: 0x4c 'L' */ + +static const GLubyte ch76data[] = { +0xf8,0x48,0x40,0x40,0x40,0x40,0xe0, +}; + +static const BitmapCharRec ch76 = {5,7,0,0,6,ch76data}; + +/* char: 0x4b 'K' */ + +static const GLubyte ch75data[] = { +0xec,0x48,0x50,0x60,0x50,0x48,0xec, +}; + +static const BitmapCharRec ch75 = {6,7,0,0,7,ch75data}; + +/* char: 0x4a 'J' */ + +static const GLubyte ch74data[] = { +0xc0,0xa0,0x20,0x20,0x20,0x20,0x70, +}; + +static const BitmapCharRec ch74 = {4,7,0,0,4,ch74data}; + +/* char: 0x49 'I' */ + +static const GLubyte ch73data[] = { +0xe0,0x40,0x40,0x40,0x40,0x40,0xe0, +}; + +static const BitmapCharRec ch73 = {3,7,0,0,4,ch73data}; + +/* char: 0x48 'H' */ + +static const GLubyte ch72data[] = { +0xee,0x44,0x44,0x7c,0x44,0x44,0xee, +}; + +static const BitmapCharRec ch72 = {7,7,0,0,8,ch72data}; + +/* char: 0x47 'G' */ + +static const GLubyte ch71data[] = { +0x78,0xc4,0x84,0x9c,0x80,0xc4,0x7c, +}; + +static const BitmapCharRec ch71 = {6,7,0,0,7,ch71data}; + +/* char: 0x46 'F' */ + +static const GLubyte ch70data[] = { +0xe0,0x40,0x40,0x70,0x40,0x48,0xf8, +}; + +static const BitmapCharRec ch70 = {5,7,0,0,6,ch70data}; + +/* char: 0x45 'E' */ + +static const GLubyte ch69data[] = { +0xf8,0x48,0x40,0x70,0x40,0x48,0xf8, +}; + +static const BitmapCharRec ch69 = {5,7,0,0,6,ch69data}; + +/* char: 0x44 'D' */ + +static const GLubyte ch68data[] = { +0xf8,0x4c,0x44,0x44,0x44,0x4c,0xf8, +}; + +static const BitmapCharRec ch68 = {6,7,0,0,7,ch68data}; + +/* char: 0x43 'C' */ + +static const GLubyte ch67data[] = { +0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c, +}; + +static const BitmapCharRec ch67 = {6,7,0,0,7,ch67data}; + +/* char: 0x42 'B' */ + +static const GLubyte ch66data[] = { +0xf0,0x48,0x48,0x70,0x48,0x48,0xf0, +}; + +static const BitmapCharRec ch66 = {5,7,0,0,6,ch66data}; + +/* char: 0x41 'A' */ + +static const GLubyte ch65data[] = { +0xee,0x44,0x7c,0x28,0x28,0x38,0x10, +}; + +static const BitmapCharRec ch65 = {7,7,0,0,8,ch65data}; + +/* char: 0x40 '@' */ + +static const GLubyte ch64data[] = { +0x3e,0x40,0x92,0xad,0xa5,0xa5,0x9d,0x42,0x3c, +}; + +static const BitmapCharRec ch64 = {8,9,0,2,9,ch64data}; + +/* char: 0x3f '?' */ + +static const GLubyte ch63data[] = { +0x40,0x0,0x40,0x40,0x20,0xa0,0xe0, +}; + +static const BitmapCharRec ch63 = {3,7,0,0,4,ch63data}; + +/* char: 0x3e '>' */ + +static const GLubyte ch62data[] = { +0x80,0x40,0x20,0x40,0x80, +}; + +static const BitmapCharRec ch62 = {3,5,0,0,5,ch62data}; + +/* char: 0x3d '=' */ + +static const GLubyte ch61data[] = { +0xf8,0x0,0xf8, +}; + +static const BitmapCharRec ch61 = {5,3,0,-1,6,ch61data}; + +/* char: 0x3c '<' */ + +static const GLubyte ch60data[] = { +0x20,0x40,0x80,0x40,0x20, +}; + +static const BitmapCharRec ch60 = {3,5,-1,0,5,ch60data}; + +/* char: 0x3b ';' */ + +static const GLubyte ch59data[] = { +0x80,0x80,0x80,0x0,0x0,0x0,0x80, +}; + +static const BitmapCharRec ch59 = {1,7,-1,2,3,ch59data}; + +/* char: 0x3a ':' */ + +static const GLubyte ch58data[] = { +0x80,0x0,0x0,0x0,0x80, +}; + +static const BitmapCharRec ch58 = {1,5,-1,0,3,ch58data}; + +/* char: 0x39 '9' */ + +static const GLubyte ch57data[] = { +0xc0,0x20,0x70,0x90,0x90,0x90,0x60, +}; + +static const BitmapCharRec ch57 = {4,7,0,0,5,ch57data}; + +/* char: 0x38 '8' */ + +static const GLubyte ch56data[] = { +0x60,0x90,0x90,0x60,0x90,0x90,0x60, +}; + +static const BitmapCharRec ch56 = {4,7,0,0,5,ch56data}; + +/* char: 0x37 '7' */ + +static const GLubyte ch55data[] = { +0x40,0x40,0x40,0x20,0x20,0x90,0xf0, +}; + +static const BitmapCharRec ch55 = {4,7,0,0,5,ch55data}; + +/* char: 0x36 '6' */ + +static const GLubyte ch54data[] = { +0x60,0x90,0x90,0x90,0xe0,0x40,0x30, +}; + +static const BitmapCharRec ch54 = {4,7,0,0,5,ch54data}; + +/* char: 0x35 '5' */ + +static const GLubyte ch53data[] = { +0xe0,0x90,0x10,0x10,0xe0,0x40,0x70, +}; + +static const BitmapCharRec ch53 = {4,7,0,0,5,ch53data}; + +/* char: 0x34 '4' */ + +static const GLubyte ch52data[] = { +0x10,0x10,0xf8,0x90,0x50,0x30,0x10, +}; + +static const BitmapCharRec ch52 = {5,7,0,0,5,ch52data}; + +/* char: 0x33 '3' */ + +static const GLubyte ch51data[] = { +0xe0,0x10,0x10,0x60,0x10,0x90,0x60, +}; + +static const BitmapCharRec ch51 = {4,7,0,0,5,ch51data}; + +/* char: 0x32 '2' */ + +static const GLubyte ch50data[] = { +0xf0,0x40,0x20,0x20,0x10,0x90,0x60, +}; + +static const BitmapCharRec ch50 = {4,7,0,0,5,ch50data}; + +/* char: 0x31 '1' */ + +static const GLubyte ch49data[] = { +0xe0,0x40,0x40,0x40,0x40,0xc0,0x40, +}; + +static const BitmapCharRec ch49 = {3,7,-1,0,5,ch49data}; + +/* char: 0x30 '0' */ + +static const GLubyte ch48data[] = { +0x60,0x90,0x90,0x90,0x90,0x90,0x60, +}; + +static const BitmapCharRec ch48 = {4,7,0,0,5,ch48data}; + +/* char: 0x2f '/' */ + +static const GLubyte ch47data[] = { +0x80,0x80,0x40,0x40,0x40,0x20,0x20, +}; + +static const BitmapCharRec ch47 = {3,7,0,0,3,ch47data}; + +/* char: 0x2e '.' */ + +static const GLubyte ch46data[] = { +0x80, +}; + +static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data}; + +/* char: 0x2d '-' */ + +static const GLubyte ch45data[] = { +0xf0, +}; + +static const BitmapCharRec ch45 = {4,1,-1,-2,7,ch45data}; + +/* char: 0x2c ',' */ + +static const GLubyte ch44data[] = { +0x80,0x80,0x80, +}; + +static const BitmapCharRec ch44 = {1,3,-1,2,3,ch44data}; + +/* char: 0x2b '+' */ + +static const GLubyte ch43data[] = { +0x20,0x20,0xf8,0x20,0x20, +}; + +static const BitmapCharRec ch43 = {5,5,0,0,6,ch43data}; + +/* char: 0x2a '*' */ + +static const GLubyte ch42data[] = { +0xa0,0x40,0xa0, +}; + +static const BitmapCharRec ch42 = {3,3,0,-4,5,ch42data}; + +/* char: 0x29 ')' */ + +static const GLubyte ch41data[] = { +0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80, +}; + +static const BitmapCharRec ch41 = {3,9,0,2,4,ch41data}; + +/* char: 0x28 '(' */ + +static const GLubyte ch40data[] = { +0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20, +}; + +static const BitmapCharRec ch40 = {3,9,0,2,4,ch40data}; + +/* char: 0x27 ''' */ + +static const GLubyte ch39data[] = { +0x40,0xc0, +}; + +static const BitmapCharRec ch39 = {2,2,0,-5,3,ch39data}; + +/* char: 0x26 '&' */ + +static const GLubyte ch38data[] = { +0x76,0x8d,0x98,0x74,0x6e,0x50,0x30, +}; + +static const BitmapCharRec ch38 = {8,7,0,0,8,ch38data}; + +/* char: 0x25 '%' */ + +static const GLubyte ch37data[] = { +0x44,0x2a,0x2a,0x56,0xa8,0xa4,0x7e, +}; + +static const BitmapCharRec ch37 = {7,7,0,0,8,ch37data}; + +/* char: 0x24 '$' */ + +static const GLubyte ch36data[] = { +0x20,0xe0,0x90,0x10,0x60,0x80,0x90,0x70,0x20, +}; + +static const BitmapCharRec ch36 = {4,9,0,1,5,ch36data}; + +/* char: 0x23 '#' */ + +static const GLubyte ch35data[] = { +0x50,0x50,0xf8,0x50,0xf8,0x50,0x50, +}; + +static const BitmapCharRec ch35 = {5,7,0,0,5,ch35data}; + +/* char: 0x22 '"' */ + +static const GLubyte ch34data[] = { +0xa0,0xa0, +}; + +static const BitmapCharRec ch34 = {3,2,0,-5,4,ch34data}; + +/* char: 0x21 '!' */ + +static const GLubyte ch33data[] = { +0x80,0x0,0x80,0x80,0x80,0x80,0x80, +}; + +static const BitmapCharRec ch33 = {1,7,-1,0,3,ch33data}; + +/* char: 0x20 ' ' */ + +#ifdef _WIN32 +/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with + a height or width of zero does not advance the raster position + as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ +static const GLubyte ch32data[] = { 0x0 }; +static const BitmapCharRec ch32 = {1,1,0,0,2,ch32data}; +#else +static const BitmapCharRec ch32 = {0,0,0,0,2,0}; +#endif + +static const BitmapCharRec * const chars[] = { +&ch32, +&ch33, +&ch34, +&ch35, +&ch36, +&ch37, +&ch38, +&ch39, +&ch40, +&ch41, +&ch42, +&ch43, +&ch44, +&ch45, +&ch46, +&ch47, +&ch48, +&ch49, +&ch50, +&ch51, +&ch52, +&ch53, +&ch54, +&ch55, +&ch56, +&ch57, +&ch58, +&ch59, +&ch60, +&ch61, +&ch62, +&ch63, +&ch64, +&ch65, +&ch66, +&ch67, +&ch68, +&ch69, +&ch70, +&ch71, +&ch72, +&ch73, +&ch74, +&ch75, +&ch76, +&ch77, +&ch78, +&ch79, +&ch80, +&ch81, +&ch82, +&ch83, +&ch84, +&ch85, +&ch86, +&ch87, +&ch88, +&ch89, +&ch90, +&ch91, +&ch92, +&ch93, +&ch94, +&ch95, +&ch96, +&ch97, +&ch98, +&ch99, +&ch100, +&ch101, +&ch102, +&ch103, +&ch104, +&ch105, +&ch106, +&ch107, +&ch108, +&ch109, +&ch110, +&ch111, +&ch112, +&ch113, +&ch114, +&ch115, +&ch116, +&ch117, +&ch118, +&ch119, +&ch120, +&ch121, +&ch122, +&ch123, +&ch124, +&ch125, +&ch126, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +&ch160, +&ch161, +&ch162, +&ch163, +&ch164, +&ch165, +&ch166, +&ch167, +&ch168, +&ch169, +&ch170, +&ch171, +&ch172, +&ch173, +&ch174, +&ch175, +&ch176, +&ch177, +&ch178, +&ch179, +&ch180, +&ch181, +&ch182, +&ch183, +&ch184, +&ch185, +&ch186, +&ch187, +&ch188, +&ch189, +&ch190, +&ch191, +&ch192, +&ch193, +&ch194, +&ch195, +&ch196, +&ch197, +&ch198, +&ch199, +&ch200, +&ch201, +&ch202, +&ch203, +&ch204, +&ch205, +&ch206, +&ch207, +&ch208, +&ch209, +&ch210, +&ch211, +&ch212, +&ch213, +&ch214, +&ch215, +&ch216, +&ch217, +&ch218, +&ch219, +&ch220, +&ch221, +&ch222, +&ch223, +&ch224, +&ch225, +&ch226, +&ch227, +&ch228, +&ch229, +&ch230, +&ch231, +&ch232, +&ch233, +&ch234, +&ch235, +&ch236, +&ch237, +&ch238, +&ch239, +&ch240, +&ch241, +&ch242, +&ch243, +&ch244, +&ch245, +&ch246, +&ch247, +&ch248, +&ch249, +&ch250, +&ch251, +&ch252, +&ch253, +&ch254, +&ch255, +}; + +const BitmapFontRec glutBitmapTimesRoman10 = { +"-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1", +224, +32, +chars +}; + diff --git a/src/glut/beos/glut_tr24.cpp b/src/glut/beos/glut_tr24.c similarity index 99% rename from src/glut/beos/glut_tr24.cpp rename to src/glut/beos/glut_tr24.c index 5ae5d413c28..22b0e516035 100644 --- a/src/glut/beos/glut_tr24.cpp +++ b/src/glut/beos/glut_tr24.c @@ -1,7 +1,9 @@ /* GENERATED FILE -- DO NOT MODIFY */ +#define glutBitmapTimesRoman24 XXX #include "glutbitmap.h" +#undef glutBitmapTimesRoman24 /* char: 0xff */ @@ -913,7 +915,7 @@ static const BitmapCharRec ch161 = {2,17,-4,5,8,ch161data}; /* char: 0xa0 */ -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -1812,7 +1814,7 @@ static const BitmapCharRec ch33 = {2,17,-3,0,8,ch33data}; /* char: 0x20 ' ' */ -#ifdef WIN32 +#ifdef _WIN32 /* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with a height or width of zero does not advance the raster position as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */ @@ -2049,8 +2051,7 @@ static const BitmapCharRec * const chars[] = { &ch255, }; -// jeh: removed const so mwld can export structure to shared lib -BitmapFontRec glutBitmapTimesRoman24 = { +const BitmapFontRec glutBitmapTimesRoman24 = { "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1", 224, 32, diff --git a/src/glut/beos/glut_util.cpp b/src/glut/beos/glut_util.c similarity index 64% rename from src/glut/beos/glut_util.cpp rename to src/glut/beos/glut_util.c index 97e31158326..29e79513a3f 100644 --- a/src/glut/beos/glut_util.cpp +++ b/src/glut/beos/glut_util.c @@ -7,11 +7,26 @@ #include #include +#include #include -#include #include "glutint.h" -#include "glutState.h" + +/* strdup is actually not a standard ANSI C or POSIX routine + so implement a private one for GLUT. OpenVMS does not have a + strdup; Linux's standard libc doesn't declare strdup by default + (unless BSD or SVID interfaces are requested). */ +char * +__glutStrdup(const char *string) +{ + char *copy; + + copy = (char*) malloc(strlen(string) + 1); + if (copy == NULL) + return NULL; + strcpy(copy, string); + return copy; +} void __glutWarning(char *format,...) @@ -20,7 +35,7 @@ __glutWarning(char *format,...) va_start(args, format); fprintf(stderr, "GLUT: Warning in %s: ", - gState.programName ? gState.programName : "(unamed)"); + __glutProgramName ? __glutProgramName : "(unamed)"); vfprintf(stderr, format, args); va_end(args); putc('\n', stderr); @@ -44,7 +59,7 @@ __glutFatalError(char *format,...) va_start(args, format); fprintf(stderr, "GLUT: Fatal Error in %s: ", - gState.programName ? gState.programName : "(unamed)"); + __glutProgramName ? __glutProgramName : "(unamed)"); vfprintf(stderr, format, args); va_end(args); putc('\n', stderr); @@ -58,7 +73,7 @@ __glutFatalUsage(char *format,...) va_start(args, format); fprintf(stderr, "GLUT: Fatal API Usage in %s: ", - gState.programName ? gState.programName : "(unamed)"); + __glutProgramName ? __glutProgramName : "(unamed)"); vfprintf(stderr, format, args); va_end(args); putc('\n', stderr); diff --git a/src/glut/beos/glut_vidresize.c b/src/glut/beos/glut_vidresize.c new file mode 100644 index 00000000000..a9d9e632f54 --- /dev/null +++ b/src/glut/beos/glut_vidresize.c @@ -0,0 +1,230 @@ + +/* Copyright (c) Mark J. Kilgard, 1996. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include + +#if !defined(_WIN32) && !defined(__BEOS__) +#include +#endif + +#ifdef __sgi +#include +#endif + +#include "glutint.h" + +/* Grumble. The IRIX 6.3 and early IRIX 6.4 OpenGL headers + support the video resize extension, but failed to define + GLX_SGIX_video_resize. */ +#ifdef GLX_SYNC_FRAME_SGIX +#define GLX_SGIX_video_resize 1 +#endif + +#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) +static int canVideoResize = -1; +static int videoResizeChannel; +#else +static int canVideoResize = 0; +#endif +static int videoResizeInUse = 0; +static int dx = -1, dy = -1, dw = -1, dh = -1; + +/* XXX Note that IRIX 6.2, 6.3, and some 6.4 versions have a + bug where programs seg-fault when they attempt video + resizing from an indirect OpenGL context (either local or + over a network). */ + +#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) + +static volatile int errorCaught; + +/* ARGSUSED */ +static +catchXSGIvcErrors(Display * dpy, XErrorEvent * event) +{ + errorCaught = 1; + return 0; +} +#endif + +/* CENTRY */ +int APIENTRY +glutVideoResizeGet(GLenum param) +{ +#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) + if (canVideoResize < 0) { + canVideoResize = __glutIsSupportedByGLX("GLX_SGIX_video_resize"); + if (canVideoResize) { +#if __sgi + /* This is a hack because IRIX 6.2, 6.3, and some 6.4 + versions were released with GLX_SGIX_video_resize + being advertised by the X server though the video + resize extension is not actually supported. We try to + determine if the libGL.so we are using actually has a + video resize entrypoint before we try to use the + feature. */ + void (*func) (void); + void *glxDso = dlopen("libGL.so", RTLD_LAZY); + + func = (void (*)(void)) dlsym(glxDso, "glXQueryChannelDeltasSGIX"); + if (!func) { + canVideoResize = 0; + } else +#endif + { + char *channelString; + int (*handler) (Display *, XErrorEvent *); + + channelString = getenv("GLUT_VIDEO_RESIZE_CHANNEL"); + videoResizeChannel = channelString ? atoi(channelString) : 0; + + /* Work around another annoying problem with SGI's + GLX_SGIX_video_resize implementation. Early IRIX + 6.4 OpenGL's advertise the extension and have the + video resize API, but an XSGIvc X protocol errors + result trying to use the API. Set up an error + handler to intercept what would otherwise be a fatal + error. If an error was recieved, do not report that + video resize is possible. */ + handler = XSetErrorHandler(catchXSGIvcErrors); + + errorCaught = 0; + + glXQueryChannelDeltasSGIX(__glutDisplay, __glutScreen, + videoResizeChannel, &dx, &dy, &dw, &dh); + + /* glXQueryChannelDeltasSGIX is an inherent X server + round-trip so we know we will have gotten either the + correct reply or and error by this time. */ + XSetErrorHandler(handler); + + /* Still yet another work around. In IRIX 6.4 betas, + glXQueryChannelDeltasSGIX will return as if it + succeeded, but the values are filled with junk. + Watch to make sure the delta variables really make + sense. */ + if (errorCaught || + dx < 0 || dy < 0 || dw < 0 || dh < 0 || + dx > 2048 || dy > 2048 || dw > 2048 || dh > 2048) { + canVideoResize = 0; + } + } + } + } +#endif /* GLX_SGIX_video_resize */ + + switch (param) { + case GLUT_VIDEO_RESIZE_POSSIBLE: + return canVideoResize; + case GLUT_VIDEO_RESIZE_IN_USE: + return videoResizeInUse; + case GLUT_VIDEO_RESIZE_X_DELTA: + return dx; + case GLUT_VIDEO_RESIZE_Y_DELTA: + return dy; + case GLUT_VIDEO_RESIZE_WIDTH_DELTA: + return dw; + case GLUT_VIDEO_RESIZE_HEIGHT_DELTA: + return dh; + case GLUT_VIDEO_RESIZE_X: + case GLUT_VIDEO_RESIZE_Y: + case GLUT_VIDEO_RESIZE_WIDTH: + case GLUT_VIDEO_RESIZE_HEIGHT: +#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) + if (videoResizeInUse) { + int x, y, width, height; + + glXQueryChannelRectSGIX(__glutDisplay, __glutScreen, + videoResizeChannel, &x, &y, &width, &height); + switch (param) { + case GLUT_VIDEO_RESIZE_X: + return x; + case GLUT_VIDEO_RESIZE_Y: + return y; + case GLUT_VIDEO_RESIZE_WIDTH: + return width; + case GLUT_VIDEO_RESIZE_HEIGHT: + return height; + } + } +#endif + return -1; + default: + __glutWarning("invalid glutVideoResizeGet parameter: %d", param); + return -1; + } +} + +void APIENTRY +glutSetupVideoResizing(void) +{ +#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) + if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) { + glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen, + videoResizeChannel, __glutCurrentWindow->win); + videoResizeInUse = 1; + } else +#endif + __glutFatalError("glutEstablishVideoResizing: video resizing not possible.\n"); +} + +void APIENTRY +glutStopVideoResizing(void) +{ +#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) + if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) { + if (videoResizeInUse) { + glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen, + videoResizeChannel, None); + videoResizeInUse = 0; + } + } +#endif +} + +/* ARGSUSED */ +void APIENTRY +glutVideoResize(int x, int y, int width, int height) +{ +#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) + if (videoResizeInUse) { +#ifdef GLX_SYNC_SWAP_SGIX + /* glXChannelRectSyncSGIX introduced in a patch to IRIX + 6.2; the original unpatched IRIX 6.2 behavior is always + GLX_SYNC_SWAP_SGIX. */ + glXChannelRectSyncSGIX(__glutDisplay, __glutScreen, + videoResizeChannel, GLX_SYNC_SWAP_SGIX); +#endif + glXChannelRectSGIX(__glutDisplay, __glutScreen, + videoResizeChannel, x, y, width, height); + } +#endif +} + +/* ARGSUSED */ +void APIENTRY +glutVideoPan(int x, int y, int width, int height) +{ +#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize) + if (videoResizeInUse) { +#ifdef GLX_SYNC_FRAME_SGIX + /* glXChannelRectSyncSGIX introduced in a patch to IRIX + 6.2; the original unpatched IRIX 6.2 behavior is always + GLX_SYNC_SWAP_SGIX. We just ignore that we cannot + accomplish GLX_SYNC_FRAME_SGIX on IRIX unpatched 6.2; + this means you'd need a glutSwapBuffers to actually + realize the video resize. */ + glXChannelRectSyncSGIX(__glutDisplay, __glutScreen, + videoResizeChannel, GLX_SYNC_FRAME_SGIX); +#endif + glXChannelRectSGIX(__glutDisplay, __glutScreen, + videoResizeChannel, x, y, width, height); + } +#endif +} + +/* ENDCENTRY */ -- 2.30.2