Doxygen Source Code Documentation
glut_bitmap.c File Reference
#include <GL/glut.h>#include "glutint.h"#include "glutbitmap.h"Go to the source code of this file.
Functions | |
| void | glutBitmapCharacter (GLUTbitmapFont font, int c) |
Function Documentation
|
||||||||||||
|
Definition at line 13 of file glut_bitmap.c. References BitmapCharPtr, BitmapFontPtr, c, and GLUTbitmapFont. Referenced by SUMA_AxisText(), and SUMA_DrawMesh().
00014 {
00015 BitmapCharPtr ch;
00016 BitmapFontPtr fontinfo = (BitmapFontPtr) font;
00017 GLint swapbytes, lsbfirst, rowlength;
00018 GLint skiprows, skippixels, alignment;
00019
00020 if (c < fontinfo->first ||
00021 c >= fontinfo->first + fontinfo->num_chars)
00022 return;
00023 ch = fontinfo->ch[c - fontinfo->first];
00024 if (ch) {
00025 /* save current modes */
00026 glGetIntegerv(GL_UNPACK_SWAP_BYTES, &swapbytes);
00027 glGetIntegerv(GL_UNPACK_LSB_FIRST, &lsbfirst);
00028 glGetIntegerv(GL_UNPACK_ROW_LENGTH, &rowlength);
00029 glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skiprows);
00030 glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &skippixels);
00031 glGetIntegerv(GL_UNPACK_ALIGNMENT, &alignment);
00032 /* Little endian machines (DEC Alpha for example) could
00033 benefit from setting GL_UNPACK_LSB_FIRST to GL_TRUE
00034 instead of GL_FALSE, but this would require changing the
00035 generated bitmaps too. */
00036 glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
00037 glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
00038 glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
00039 glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
00040 glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
00041 glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
00042 glBitmap(ch->width, ch->height, ch->xorig, ch->yorig,
00043 ch->advance, 0, ch->bitmap);
00044 /* restore saved modes */
00045 glPixelStorei(GL_UNPACK_SWAP_BYTES, swapbytes);
00046 glPixelStorei(GL_UNPACK_LSB_FIRST, lsbfirst);
00047 glPixelStorei(GL_UNPACK_ROW_LENGTH, rowlength);
00048 glPixelStorei(GL_UNPACK_SKIP_ROWS, skiprows);
00049 glPixelStorei(GL_UNPACK_SKIP_PIXELS, skippixels);
00050 glPixelStorei(GL_UNPACK_ALIGNMENT, alignment);
00051 }
00052 }
|