#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <GL/gl.h>#include <GL/glu.h>#include "glf.h"Go to the source code of this file.
Classes | |
| struct | color |
| struct | one_symbol |
| struct | glf_font |
| struct | coord_rect |
| struct | widths |
| struct | _ImageRec |
Defines | |
| #define | MAX_FONTS 256 |
| #define | SEEK_SET_POS 4195 |
Typedefs | |
| typedef _ImageRec | ImageRec |
Functions | |
| void | glfInit () |
| void | glfClose () |
| int | LittleEndian () |
| int | ReadFont (char *font_name, struct glf_font *glff) |
| int | glfLoadFont (char *font_name) |
| int | glfUnloadFont () |
| int | glfUnloadFontD (int font_descriptor) |
| void | glfDrawWiredSymbol (char s) |
| void | glfDrawWiredSymbolF (int font_descriptor, char s) |
| void | DrawString (char *s, void(*funct)(char s)) |
| void | glfDrawWiredString (char *s) |
| void | glfDrawWiredStringF (int font_descriptor, char *s) |
| void | glfDrawSolidSymbol (char s) |
| void | glfDrawSolidSymbolF (int font_descriptor, char s) |
| void | glfDrawSolidString (char *s) |
| void | glfDrawSolidStringF (int font_descriptor, char *s) |
| void | glfDraw3DWiredSymbol (char s) |
| void | glfDraw3DWiredSymbolF (int font_descriptor, char s) |
| void | glfDraw3DWiredString (char *s) |
| void | glfDraw3DWiredStringF (int font_descriptor, char *s) |
| void | glfDraw3DSolidSymbol (char s) |
| void | glfDraw3DSolidSymbolF (int font_descriptor, char s) |
| void | glfDraw3DSolidString (char *s) |
| void | glfDraw3DSolidStringF (int font_descriptor, char *s) |
| void | glfGetStringBoundsF (int fd, char *s, float *minx, float *miny, float *maxx, float *maxy) |
| void | glfGetStringBounds (char *s, float *minx, float *miny, float *maxx, float *maxy) |
| void | glfSetSymbolSpace (float sp) |
| float | glfGetSymbolSpace () |
| void | glfSetSpaceSize (float sp) |
| float | glfGetSpaceSize () |
| void | glfSetSymbolDepth (float dpth) |
| float | glfGetSymbolDepth () |
| int | glfSetCurrentFont (int Font_Descriptor) |
| int | glfGetCurrentFont () |
| void | glfSetAnchorPoint (int anchp) |
| void | glfSetContourColor (float r, float g, float b, float a) |
| void | glfEnable (int what) |
| void | glfDisable (int what) |
| void | glfSetConsoleParam (int width, int height) |
| int | glfSetConsoleFont (int Font_Descriptor) |
| void | glfConsoleClear () |
| void | glfPrint (char *s, int lenght) |
| void | glfPrintString (char *s) |
| void | glfPrintChar (char s) |
| void | glfConsoleDraw () |
| void | glfSetCursorBlinkRate (int Rate) |
| void | glfStringCentering (GLboolean center) |
| void | glfStringDirection (GLuint direction) |
| GLuint | glfGetStringDirection () |
| GLboolean | glfGetStringCentering () |
| void | glfSetRotateAngle (float angle) |
| void | bwtorgba (unsigned char *b, unsigned char *l, int n) |
| void | latorgba (unsigned char *b, unsigned char *a, unsigned char *l, int n) |
| void | rgbtorgba (unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *l, int n) |
| void | rgbatorgba (unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a, unsigned char *l, int n) |
| void | ConvertShort (unsigned short *array, long length) |
| void | ConvertLong (unsigned *array, long length) |
| ImageRec * | ImageOpen (FILE *f) |
| void | ImageClose (ImageRec *image) |
| void | ImageGetRow (ImageRec *image, unsigned char *buf, int y, int z) |
| unsigned * | read_texture (FILE *f, int *width, int *height, int *components) |
| unsigned * | texture_to_mask (unsigned *tex, int width, int height) |
| int | glfLoadBMFFont (char *FName) |
| int | glfUnloadBMFFontD (int bmf_descriptor) |
| int | glfUnloadBMFFont () |
| void | glfStartBitmapDrawing () |
| void | glfStopBitmapDrawing () |
| int | glfSetCurrentBMFFont (int Font_Descriptor) |
| int | glfGetCurrentBMFFont () |
| void | glfDrawBSymbol (char s) |
| void | glfDrawBString (char *s) |
| void | glfDrawBMaskSymbol (char s) |
| void | glfDrawBMaskString (char *s) |
| void | glfBitmapStringCentering (GLboolean center) |
| GLboolean | glfBitmapGetStringCentering () |
| void | glfSetBRotateAngle (float angle) |
Variables | |
| float | SymbolDist = 0.2f |
| float | SymbolDepth = 0.2f |
| float | SpaceSize = 2.0f |
| float | RotateAngle = 0.0f |
| float | RotateAngleB = 0.0f |
| glf_font * | fonts [MAX_FONTS] |
| int | curfont |
| char | ap = GLF_CENTER |
| GLboolean | m_string_center |
| GLboolean | m_bitmap_string_center |
| GLuint | m_direction |
| char | console_msg = GLF_NO |
| char | texturing = GLF_NO |
| char | contouring = GLF_NO |
| color | contouring_color |
| int | conWidth |
| int | conHeight |
| int | conx = 0 cony = 0 |
| char * | conData |
| int | conFont |
| char | conCursor = GLF_NO |
| int | conCursorBlink |
| int | conCursorCount |
| char | conCursorMode = GLF_NO |
| float | sym_space = 0.001f |
| coord_rect | Symbols [256] |
| GLboolean | bmf_texturing |
| int | bmf_curfont |
| GLuint | bmf_texture [MAX_FONTS] |
| GLuint | bmf_mask [MAX_FONTS] |
| char | bmf_in_use [MAX_FONTS] |
| int | list_base [MAX_FONTS] |
| GLfloat | m_max_height [MAX_FONTS] |
| widths | m_widths [MAX_FONTS] |
|
|
Definition at line 34 of file glf.cxx. Referenced by glfGetStringBoundsF(). |
|
|
Definition at line 102 of file glf.cxx. Referenced by ImageGetRow(), and ImageOpen(). |
|
|
Referenced by ImageClose(), ImageGetRow(), ImageOpen(), and read_texture(). |
|
||||||||||||||||
|
Definition at line 1144 of file glf.cxx. Referenced by read_texture(). 01145 {
01146 while (n--)
01147 {
01148 l[0] = *b; l[1] = *b;
01149 l[2] = *b; l[3] = 0xff;
01150 l += 4; b++;
01151 }
01152 }
|
|
||||||||||||
|
Definition at line 1214 of file glf.cxx. Referenced by ImageOpen(). 01215 {
01216 unsigned b1, b2, b3, b4;
01217 unsigned char *ptr;
01218
01219 ptr = (unsigned char *)array;
01220 while (length--)
01221 {
01222 b1 = *ptr++;
01223 b2 = *ptr++;
01224 b3 = *ptr++;
01225 b4 = *ptr++;
01226 *array++ = (b1 << 24) | (b2 << 16) | (b3 << 8) | (b4);
01227 }
01228 }
|
|
||||||||||||
|
Definition at line 1201 of file glf.cxx. Referenced by ImageOpen(). 01202 {
01203 unsigned b1, b2;
01204 unsigned char *ptr;
01205
01206 ptr = (unsigned char *)array;
01207 while (length--) {
01208 b1 = *ptr++;
01209 b2 = *ptr++;
01210 *array++ = (b1 << 8) | (b2);
01211 }
01212 }
|
|
||||||||||||
|
Definition at line 412 of file glf.cxx. References curfont, fonts, GLF_DOWN, GLF_LEFT, GLF_RIGHT, GLF_UP, m_direction, RotateAngle, s(), SpaceSize, SymbolDist, and glf_font::symbols. Referenced by glfDraw3DSolidString(), glfDraw3DSolidStringF(), glfDraw3DWiredString(), glfDraw3DWiredStringF(), glfDrawSolidString(), glfDrawSolidStringF(), glfDrawWiredString(), and glfDrawWiredStringF(). 00413 {
00414 int i;
00415 float sda, sdb;
00416 float distance = 0;
00417
00418 if (!s) return;
00419 if (!*s) return;
00420 if (curfont == -1) return;
00421
00422 /* Calculate correction (if string centering enabled) */
00423 if (m_string_center)
00424 {
00425 distance = 0;
00426 for (i=0; i<(int)strlen(s); i++)
00427 {
00428 if ((fonts[curfont]->symbols[(int)s[i]] == NULL) || (s[i] == ' '))
00429 {
00430 if (m_direction == GLF_LEFT || m_direction == GLF_UP) distance += SpaceSize;
00431 else distance -= SpaceSize;
00432 }
00433 else
00434 if (i < ((int)strlen(s)-1))
00435 if (s[i+1] == ' ')
00436 {
00437 if (m_direction == GLF_LEFT || m_direction == GLF_UP) distance += SymbolDist;
00438 else distance -= SymbolDist;
00439 }
00440 else
00441 {
00442 if (fonts[curfont]->symbols[(int)s[i+1]] == NULL) continue;
00443
00444 if (m_direction == GLF_LEFT || m_direction == GLF_RIGHT)
00445 {
00446 sda = (float)fabs(fonts[curfont]->symbols[(int)s[i]]->rightx);
00447 sdb = (float)fabs(fonts[curfont]->symbols[(int)s[i+1]]->leftx);
00448 if (m_direction == GLF_LEFT) distance += sda+sdb+SymbolDist;
00449 else distance -= sda+sdb+SymbolDist;
00450 }
00451 else
00452 {
00453 sda = (float)fabs(fonts[curfont]->symbols[(int)s[i]]->topy);
00454 sdb = (float)fabs(fonts[curfont]->symbols[(int)s[i]]->bottomy);
00455 if (m_direction == GLF_DOWN) distance -= sda+sdb+SymbolDist;
00456 else distance += sda+sdb+SymbolDist;
00457 }
00458 }
00459 }
00460 }
00461
00462 glPushMatrix();
00463
00464 /* Rotate if needed */
00465 if (RotateAngle != 0.0f) glRotatef(RotateAngle, 0, 0, 1);
00466
00467 /* Correct string position */
00468 if (m_string_center)
00469 {
00470 switch (m_direction)
00471 {
00472 case GLF_LEFT : glTranslatef(-distance/2, 0, 0); break;
00473 case GLF_RIGHT : glTranslatef(distance/2, 0, 0); break;
00474 case GLF_UP : glTranslatef(0, distance/2, 0); break;
00475 case GLF_DOWN : glTranslatef(0, -distance/2, 0); break;
00476 }
00477 }
00478 else if (s[0] != ' ')
00479 {
00480 switch (m_direction)
00481 {
00482 case GLF_LEFT : glTranslatef(-(1-(float)fabs(fonts[curfont]->symbols[(int)s[0]]->leftx)), 0, 0); break;
00483 case GLF_RIGHT : glTranslatef((1-(float)fabs(fonts[curfont]->symbols[(int)s[0]]->rightx)), 0, 0); break;
00484 case GLF_UP : glTranslatef(0, (1-(float)fabs(fonts[curfont]->symbols[(int)s[0]]->topy)), 0); break;
00485 case GLF_DOWN : glTranslatef(0, -(1-(float)fabs(fonts[curfont]->symbols[(int)s[0]]->bottomy)), 0); break;
00486 }
00487 }
00488
00489 /* Start to draw our string */
00490 for (i=0; i<(int)strlen(s); i++)
00491 {
00492 if (s[i] != ' ') (*funct) (s[i]);
00493 if ((fonts[curfont]->symbols[(int)s[i]] == NULL) || (s[i] == ' '))
00494 {
00495 switch (m_direction)
00496 {
00497 case GLF_LEFT : glTranslatef(SpaceSize, 0, 0); break;
00498 case GLF_RIGHT : glTranslatef(-SpaceSize, 0, 0); break;
00499 case GLF_UP : glTranslatef(0, SpaceSize, 0); break;
00500 case GLF_DOWN : glTranslatef(0, -SpaceSize, 0); break;
00501 }
00502 }
00503 else
00504 if (i < ((int)strlen(s)-1))
00505 if (s[i+1] == ' ')
00506 {
00507 switch (m_direction)
00508 {
00509 case GLF_LEFT : glTranslatef(SymbolDist, 0, 0); break;
00510 case GLF_RIGHT : glTranslatef(-SymbolDist, 0, 0); break;
00511 case GLF_UP : glTranslatef(0, SymbolDist, 0); break;
00512 case GLF_DOWN : glTranslatef(0, -SymbolDist, 0); break;
00513 }
00514 }
00515 else
00516 {
00517 if (fonts[curfont]->symbols[(int)s[i+1]] == NULL) continue;
00518
00519 if (m_direction == GLF_LEFT || m_direction == GLF_RIGHT)
00520 {
00521 if (m_direction == GLF_LEFT)
00522 {
00523 sda = (float)fabs(fonts[curfont]->symbols[(int)s[i]]->rightx);
00524 sdb = (float)fabs(fonts[curfont]->symbols[(int)s[i+1]]->leftx);
00525 }
00526 else
00527 {
00528 sda = (float)fabs(fonts[curfont]->symbols[(int)s[i+1]]->rightx);
00529 sdb = (float)fabs(fonts[curfont]->symbols[(int)s[i]]->leftx);
00530 }
00531
00532 if (m_direction == GLF_LEFT) glTranslatef(sda+sdb+SymbolDist, 0, 0);
00533 else glTranslatef(-(sda+sdb+SymbolDist), 0, 0);
00534 }
00535 else
00536 {
00537 if (m_direction == GLF_DOWN)
00538 {
00539 sda = (float)fabs(fonts[curfont]->symbols[(int)s[i]]->topy);
00540 sdb = (float)fabs(fonts[curfont]->symbols[(int)s[i+1]]->bottomy);
00541 }
00542 else
00543 {
00544 sda = (float)fabs(fonts[curfont]->symbols[(int)s[i+1]]->topy);
00545 sdb = (float)fabs(fonts[curfont]->symbols[(int)s[i]]->bottomy);
00546 }
00547
00548 if (m_direction == GLF_DOWN) glTranslatef(0, -(sda+sdb+SymbolDist), 0);
00549 else glTranslatef(0, sda+sdb+SymbolDist, 0);
00550 }
00551
00552 }
00553 }
00554 glPopMatrix();
00555 }
|
|
|
Definition at line 1723 of file glf.cxx. 01724 {
01725 return m_bitmap_string_center;
01726 }
|
|
|
Definition at line 1717 of file glf.cxx. References m_bitmap_string_center. Referenced by glfInit(). 01718 {
01719 m_bitmap_string_center = center;
01720 }
|
|
|
Definition at line 159 of file glf.cxx. References conData, glfUnloadBMFFontD(), and glfUnloadFontD(). 00160 {
00161 int i;
00162
00163 free(conData);
00164
00165 for (i=0; i<MAX_FONTS; i++) glfUnloadFontD(i);
00166 for (i=0; i<MAX_FONTS; i++) glfUnloadBMFFontD(i);
00167 }
|
|
|
Definition at line 1012 of file glf.cxx. References conData, conHeight, conWidth, and conx. Referenced by glfInit(), and glfSetConsoleParam(). 01013 {
01014 memset(conData, 0, conWidth*conHeight);
01015 conx = 0;
01016 cony = 0;
01017 }
|
|
|
Definition at line 1057 of file glf.cxx. References conCursor, conCursorCount, conCursorMode, conData, conFont, conWidth, glfDrawSolidStringF(), and s(). 01058 {
01059 int i, j;
01060 char s[512];
01061
01062 for (i=0; i<conHeight; i++)
01063 {
01064 memcpy(s, &conData[i*conWidth], conWidth);
01065 s[conWidth] = 0;
01066 if ((conCursor == GLF_YES) && (i == cony))
01067 {
01068 conCursorCount--;
01069 if (conCursorCount < 0)
01070 {
01071 conCursorCount = conCursorBlink;
01072 if (conCursorMode == GLF_YES) conCursorMode = GLF_NO;
01073 else conCursorMode = GLF_YES;
01074 }
01075
01076 if (conCursorMode == GLF_YES)
01077 for (j=0; j<conWidth; j++)
01078 {
01079 if (!s[j])
01080 {
01081 s[j] = '_'; /* Draw cursor */
01082 s[j+1] = 0;
01083 break;
01084 }
01085 }
01086 }
01087 glfDrawSolidStringF(conFont, s);
01088 glTranslatef(0, -2, 0);
01089 }
01090 }
|
|
|
Definition at line 981 of file glf.cxx. References conCursor, console_msg, contouring, GLF_CONSOLE_CURSOR, GLF_CONSOLE_MESSAGES, GLF_CONTOURING, GLF_TEXTURING, and texturing. 00982 {
00983 switch (what)
00984 {
00985 case GLF_CONSOLE_MESSAGES: console_msg = GLF_NO; break;
00986 case GLF_TEXTURING: texturing = GLF_NO; break;
00987 case GLF_CONSOLE_CURSOR: conCursor = GLF_NO; break;
00988 case GLF_CONTOURING: contouring = GLF_NO; break;
00989 }
00990 }
|
|
|
Definition at line 839 of file glf.cxx. References DrawString(), glfDraw3DSolidSymbol(), and s(). Referenced by TridSketchText::DrawSelf(). 00840 {
00841 DrawString(s, &glfDraw3DSolidSymbol);
00842 }
|
|
||||||||||||
|
Definition at line 845 of file glf.cxx. References curfont, DrawString(), glfDraw3DSolidSymbol(), and s(). 00846 {
00847 int temp;
00848
00849 temp = curfont;
00850 curfont = font_descriptor;
00851 DrawString(s, &glfDraw3DSolidSymbol);
00852 curfont = temp;
00853 }
|
|
|
Definition at line 735 of file glf.cxx. References color::a, color::b, contouring, contouring_color, curfont, one_symbol::facets, one_symbol::fdata, fonts, color::g, glfDraw3DWiredSymbol(), one_symbol::ldata, one_symbol::lines, color::r, s(), SymbolDepth, glf_font::symbols, one_symbol::vdata, and one_symbol::vertexs. Referenced by glfDraw3DSolidString(), glfDraw3DSolidStringF(), and glfDraw3DSolidSymbolF(). 00736 {
00737 int i, j, cur_line, flag;
00738 float x, y, bx=0, by=0;
00739 unsigned char *b; /* Face pointer */
00740 float *vp; /* Vertex pointer */
00741 float *tvp; /* temp vertex pointer */
00742 float temp_color[4];
00743 GLboolean light_temp;
00744
00745 if ((curfont<0) || (fonts[curfont] == NULL)) return;
00746 if (fonts[curfont]->symbols[(int)s] == NULL) return;
00747
00748 b = fonts[curfont]->symbols[(int)s]->fdata;
00749 vp = fonts[curfont]->symbols[(int)s]->vdata;
00750
00751 glBegin(GL_TRIANGLES);
00752 glNormal3f(0, 0, 1);
00753 for (i=0; i<fonts[curfont]->symbols[(int)s]->facets; i++)
00754 {
00755 b += 2;
00756 for (j=0; j<3; j++)
00757 {
00758 x = vp[*b*2];
00759 y = vp[*b*2+1];
00760 glVertex3f(x, y, 1+SymbolDepth);
00761 b--;
00762 }
00763 b += 4;
00764 }
00765 glEnd();
00766
00767 b = fonts[curfont]->symbols[(int)s]->fdata;
00768 vp = fonts[curfont]->symbols[(int)s]->vdata;
00769
00770 glBegin(GL_TRIANGLES);
00771 glNormal3f(0, 0, -1);
00772 for (i=0; i<fonts[curfont]->symbols[(int)s]->facets; i++)
00773 {
00774 for (j=0; j<3; j++)
00775 {
00776 x = vp[*b*2];
00777 y = vp[*b*2+1];
00778 glVertex3f(x, y, 1);
00779 b++;
00780 }
00781 }
00782 glEnd();
00783
00784 flag = 0;
00785 glBegin(GL_QUAD_STRIP);
00786 tvp = fonts[curfont]->symbols[(int)s]->vdata;
00787 cur_line = 0;
00788 for (i=0; i<fonts[curfont]->symbols[(int)s]->vertexs; i++)
00789 {
00790 x = *tvp;
00791 tvp++;
00792 y = *tvp;
00793 tvp++;
00794 if (!flag)
00795 {
00796 bx = x;
00797 by = y;
00798 flag = 1;
00799 }
00800 glNormal3f(x, y, 0);
00801 glVertex3f(x, y, 1);
00802 glVertex3f(x, y, 1+SymbolDepth);
00803 if (fonts[curfont]->symbols[(int)s]->ldata[cur_line] == i)
00804 {
00805 glVertex3f(bx, by, 1);
00806 glVertex3f(bx, by, 1+SymbolDepth);
00807 flag = 0;
00808 glEnd();
00809 cur_line++;
00810 if (cur_line < fonts[curfont]->symbols[(int)s]->lines) glBegin(GL_QUAD_STRIP);
00811 else break; /* No more lines */
00812 }
00813 }
00814
00815 /* Draw contour, if enabled */
00816 if (contouring == GLF_YES)
00817 {
00818 glGetBooleanv(GL_LIGHTING, &light_temp);
00819 glDisable(GL_LIGHTING);
00820 glGetFloatv(GL_CURRENT_COLOR, temp_color);
00821 glColor4f(contouring_color.r, contouring_color.g, contouring_color.b, contouring_color.a);
00822 glfDraw3DWiredSymbol(s);
00823 glColor4fv(temp_color);
00824 if (light_temp) glEnable(GL_LIGHTING);
00825 }
00826 }
|
|
||||||||||||
|
Definition at line 829 of file glf.cxx. References curfont, glfDraw3DSolidSymbol(), and s(). 00830 {
00831 int temp;
00832
00833 temp = curfont;
00834 curfont = font_descriptor;
00835 glfDraw3DSolidSymbol(s);
00836 curfont = temp;
00837 }
|
|
|
Definition at line 717 of file glf.cxx. References DrawString(), glfDraw3DWiredSymbol(), and s(). 00718 {
00719 DrawString(s, &glfDraw3DWiredSymbol);
00720 }
|
|
||||||||||||
|
Definition at line 723 of file glf.cxx. References curfont, DrawString(), glfDraw3DWiredSymbol(), and s(). 00724 {
00725 int temp;
00726
00727 temp = curfont;
00728 curfont = font_descriptor;
00729 DrawString(s, &glfDraw3DWiredSymbol);
00730 curfont = temp;
00731 }
|
|
|
Definition at line 642 of file glf.cxx. References curfont, fonts, one_symbol::ldata, one_symbol::lines, SymbolDepth, glf_font::symbols, one_symbol::vdata, and one_symbol::vertexs. Referenced by glfDraw3DSolidSymbol(), glfDraw3DWiredString(), glfDraw3DWiredStringF(), and glfDraw3DWiredSymbolF(). 00643 {
00644 int i, cur_line;
00645 float *tvp; /* temp vertex pointer */
00646 float x, y;
00647
00648 if ((curfont<0) || (fonts[curfont] == NULL)) return;
00649 if (fonts[curfont]->symbols[(int)s] == NULL) return;
00650
00651 /* Draw front symbol */
00652 glBegin(GL_LINE_LOOP);
00653 tvp = fonts[curfont]->symbols[(int)s]->vdata;
00654 cur_line = 0;
00655 for (i=0; i<fonts[curfont]->symbols[(int)s]->vertexs; i++)
00656 {
00657 x = *tvp;
00658 tvp++;
00659 y = *tvp;
00660 tvp++;
00661 glVertex3f(x, y, 1);
00662 if (fonts[curfont]->symbols[(int)s]->ldata[cur_line] == i)
00663 {
00664 glEnd();
00665 cur_line++;
00666 if (cur_line < fonts[curfont]->symbols[(int)s]->lines) glBegin(GL_LINE_LOOP);
00667 else break; /* No more lines */
00668 }
00669 }
00670
00671 /* Draw back symbol */
00672 glBegin(GL_LINE_LOOP);
00673 tvp = fonts[curfont]->symbols[(int)s]->vdata;
00674 cur_line = 0;
00675 for (i=0; i<fonts[curfont]->symbols[(int)s]->vertexs; i++)
00676 {
00677 x = *tvp;
00678 tvp++;
00679 y = *tvp;
00680 tvp++;
00681 glVertex3f(x, y, 1+SymbolDepth);
00682 if (fonts[curfont]->symbols[(int)s]->ldata[cur_line] == i)
00683 {
00684 glEnd();
00685 cur_line++;
00686 if (cur_line < fonts[curfont]->symbols[(int)s]->lines) glBegin(GL_LINE_LOOP);
00687 else break; /* No more lines */
00688 }
00689 }
00690
00691 /* Draw lines between back and front symbols */
00692 glBegin(GL_LINES);
00693 tvp = fonts[curfont]->symbols[(int)s]->vdata;
00694 for (i=0; i<fonts[curfont]->symbols[(int)s]->vertexs; i++)
00695 {
00696 x = *tvp;
00697 tvp++;
00698 y = *tvp;
00699 tvp++;
00700 glVertex3f(x, y, 1);
00701 glVertex3f(x, y, 1+SymbolDepth);
00702 }
00703 glEnd();
00704 }
|
|
||||||||||||
|
Definition at line 707 of file glf.cxx. References curfont, glfDraw3DWiredSymbol(), and s(). 00708 {
00709 int temp;
00710
00711 temp = curfont;
00712 curfont = font_descriptor;
00713 glfDraw3DWiredSymbol(s);
00714 curfont = temp;
00715 }
|
|
|
Definition at line 1669 of file glf.cxx. References bmf_curfont, bmf_in_use, bmf_mask, bmf_texture, list_base, m_bitmap_string_center, m_widths, s(), and widths::width. 01670 {
01671 GLfloat temp_trans;
01672 int i;
01673
01674 temp_trans = 0;
01675
01676 if ((bmf_curfont < 0) || (bmf_in_use[bmf_curfont] == 0)) return;
01677
01678 /* Calculate length of all string */
01679 for (i=0; i<(int)strlen(s); i++)
01680 temp_trans += m_widths[bmf_curfont].width[s[i]] + sym_space;
01681
01682 glPushMatrix();
01683 glPushAttrib(GL_CURRENT_BIT);
01684
01685 /* Draw the text as a mask in black */
01686 glColor3ub(0xff, 0xff, 0xff);
01687 glBlendFunc(GL_DST_COLOR, GL_ZERO);
01688 glBindTexture(GL_TEXTURE_2D, bmf_mask[bmf_curfont]);
01689
01690 glListBase(list_base[bmf_curfont]);
01691 if (m_bitmap_string_center == GL_TRUE)
01692 {
01693 glPushMatrix();
01694 glTranslatef(-temp_trans/2, 0, 0);
01695 }
01696 glCallLists(strlen(s), GL_UNSIGNED_BYTE, (unsigned char *)s);
01697 if (m_bitmap_string_center == GL_TRUE) glPopMatrix();
01698
01699 glPopAttrib();
01700 glPopMatrix();
01701
01702 glBindTexture(GL_TEXTURE_2D, bmf_texture[bmf_curfont]);
01703
01704 /* Now draw the text over only the black bits in the requested color */
01705 glBlendFunc(GL_ONE, GL_ONE);
01706 glListBase(list_base[bmf_curfont]);
01707 if (m_bitmap_string_center == GL_TRUE)
01708 {
01709 glPushMatrix();
01710 glTranslatef(-temp_trans/2, 0, 0);
01711 }
01712 glCallLists(strlen(s), GL_UNSIGNED_BYTE, (unsigned char *)s);
01713 if (m_bitmap_string_center == GL_TRUE) glPopMatrix();
01714 }
|
|
|
Definition at line 1644 of file glf.cxx. References bmf_curfont, bmf_in_use, bmf_mask, bmf_texture, list_base, and s(). 01645 {
01646 if ((bmf_curfont < 0) || (bmf_in_use[bmf_curfont] == 0)) return;
01647
01648 glPushMatrix();
01649 glPushAttrib(GL_CURRENT_BIT);
01650
01651 /* Draw the text as a mask in black */
01652 glColor3ub(0xff, 0xff, 0xff);
01653 glBlendFunc(GL_DST_COLOR, GL_ZERO);
01654 glBindTexture(GL_TEXTURE_2D, bmf_mask[bmf_curfont]);
01655
01656 glCallList(list_base[bmf_curfont]+(unsigned char)s);
01657
01658 glPopAttrib();
01659 glPopMatrix();
01660
01661 glBindTexture(GL_TEXTURE_2D, bmf_texture[bmf_curfont]);
01662
01663 /* Now draw the text over only the black bits in the requested color */
01664 glBlendFunc(GL_ONE, GL_ONE);
01665
01666 glCallList(list_base[bmf_curfont]+(unsigned char)s);
01667 }
|
|
|
Definition at line 1621 of file glf.cxx. References bmf_curfont, bmf_in_use, list_base, m_bitmap_string_center, m_widths, s(), and widths::width. 01622 {
01623 GLfloat temp_trans;
01624 int i;
01625
01626 temp_trans = 0;
01627
01628 if ((bmf_curfont < 0) || (bmf_in_use[bmf_curfont] == 0)) return;
01629
01630 /* Calculate length of all string */
01631 for (i=0; i<(int)strlen(s); i++)
01632 temp_trans += m_widths[bmf_curfont].width[s[i]] + sym_space;
01633
01634 glListBase(list_base[bmf_curfont]);
01635 if (m_bitmap_string_center == GL_TRUE)
01636 {
01637 glPushMatrix();
01638 glTranslatef(-temp_trans/2, 0, 0);
01639 }
01640 glCallLists(strlen(s), GL_UNSIGNED_BYTE, (unsigned char *)s);
01641 if (m_bitmap_string_center == GL_TRUE) glPopMatrix();
01642 }
|
|
|
Definition at line 1613 of file glf.cxx. References bmf_curfont, bmf_in_use, list_base, and s(). 01614 {
01615 if ((bmf_curfont < 0) || (bmf_in_use[bmf_curfont] == 0)) return;
01616
01617 glCallList(list_base[bmf_curfont]+(unsigned char)s);
01618 }
|
|
|
Definition at line 623 of file glf.cxx. References DrawString(), glfDrawSolidSymbol(), and s(). Referenced by TridGLFrame::DrawHUD(). 00624 {
00625 DrawString(s, &glfDrawSolidSymbol);
00626 }
|
|
||||||||||||
|
Definition at line 629 of file glf.cxx. References curfont, DrawString(), glfDrawSolidSymbol(), and s(). Referenced by glfConsoleDraw(). 00630 {
00631 int temp;
00632
00633 temp = curfont;
00634 curfont = font_descriptor;
00635 DrawString(s, &glfDrawSolidSymbol);
00636 curfont = temp;
00637 }
|
|
|
Definition at line 573 of file glf.cxx. References color::a, color::b, contouring, contouring_color, curfont, one_symbol::facets, one_symbol::fdata, fonts, color::g, glfDrawWiredSymbol(), color::r, s(), glf_font::symbols, texturing, and one_symbol::vdata. Referenced by glfDrawSolidString(), glfDrawSolidStringF(), and glfDrawSolidSymbolF(). 00574 {
00575 unsigned char *b; /* Face pointer */
00576 float *vp; /* Vertex pointer */
00577 int i, j;
00578 float x, y;
00579 float temp_color[4];
00580
00581 if ((curfont<0) || (fonts[curfont] == NULL)) return;
00582
00583 if (fonts[curfont]->symbols[(int)s] == NULL) return;
00584
00585 b = fonts[curfont]->symbols[(int)s]->fdata;
00586 vp = fonts[curfont]->symbols[(int)s]->vdata;
00587
00588 glBegin(GL_TRIANGLES);
00589 for (i=0; i<fonts[curfont]->symbols[(int)s]->facets; i++)
00590 {
00591 for (j=0; j<3; j++)
00592 {
00593 x = vp[*b*2];
00594 y = vp[*b*2+1];
00595 if (texturing == GLF_YES) glTexCoord2f((x+1)/2, (y+1)/2);
00596 glVertex2f(x, y);
00597 b++;
00598 }
00599 }
00600 glEnd();
00601
00602 /* Draw contour, if enabled */
00603 if (contouring == GLF_YES)
00604 {
00605 glGetFloatv(GL_CURRENT_COLOR, temp_color);
00606 glColor4f(contouring_color.r, contouring_color.g, contouring_color.b, contouring_color.a);
00607 glfDrawWiredSymbol(s);
00608 glColor4fv(temp_color);
00609 }
00610 }
|
|
||||||||||||
|
Definition at line 613 of file glf.cxx. References curfont, glfDrawSolidSymbol(), and s(). 00614 {
00615 int temp;
00616
00617 temp = curfont;
00618 curfont = font_descriptor;
00619 glfDrawSolidSymbol(s);
00620 curfont = temp;
00621 }
|
|
|
Definition at line 557 of file glf.cxx. References DrawString(), glfDrawWiredSymbol(), and s(). 00558 {
00559 DrawString(s, &glfDrawWiredSymbol);
00560 }
|
|
||||||||||||
|
Definition at line 563 of file glf.cxx. References curfont, DrawString(), glfDrawWiredSymbol(), and s(). 00564 {
00565 int temp;
00566
00567 temp = curfont;
00568 curfont = font_descriptor;
00569 DrawString(s, &glfDrawWiredSymbol);
00570 curfont = temp;
00571 }
|
|
|
Definition at line 374 of file glf.cxx. References curfont, fonts, one_symbol::ldata, one_symbol::lines, glf_font::symbols, one_symbol::vdata, and one_symbol::vertexs. Referenced by glfDrawSolidSymbol(), glfDrawWiredString(), glfDrawWiredStringF(), and glfDrawWiredSymbolF(). 00375 {
00376 int i, cur_line;
00377 float *tvp; /* temporary vertex pointer */
00378 float x, y;
00379
00380 if ((curfont < 0) || (fonts[curfont] == NULL)) return;
00381 if (fonts[curfont]->symbols[(int)s] == NULL) return;
00382
00383 glBegin(GL_LINE_LOOP);
00384 tvp = fonts[curfont]->symbols[(int)s]->vdata;
00385 cur_line = 0;
00386 for (i=0; i<fonts[curfont]->symbols[(int)s]->vertexs; i++)
00387 {
00388 x = *tvp++;
00389 y = *tvp++;
00390 glVertex2f(x, y);
00391 if (fonts[curfont]->symbols[(int)s]->ldata[cur_line] == i)
00392 {
00393 glEnd();
00394 cur_line++;
00395 if (cur_line < fonts[curfont]->symbols[(int)s]->lines) glBegin(GL_LINE_LOOP);
00396 else break; /* No more lines */
00397 }
00398 }
00399 }
|
|
||||||||||||
|
Definition at line 402 of file glf.cxx. References curfont, glfDrawWiredSymbol(), and s(). 00403 {
00404 int temp;
00405
00406 temp = curfont;
00407 curfont = font_descriptor;
00408 glfDrawWiredSymbol(s);
00409 curfont = temp;
00410 }
|
|
|
Definition at line 970 of file glf.cxx. References conCursor, console_msg, contouring, GLF_CONSOLE_CURSOR, GLF_CONSOLE_MESSAGES, GLF_CONTOURING, GLF_TEXTURING, and texturing. Referenced by glfInit(). 00971 {
00972 switch (what)
00973 {
00974 case GLF_CONSOLE_MESSAGES: console_msg = GLF_YES; break;
00975 case GLF_TEXTURING: texturing = GLF_YES; break;
00976 case GLF_CONSOLE_CURSOR: conCursor = GLF_YES; break;
00977 case GLF_CONTOURING: contouring = GLF_YES; break;
00978 }
00979 }
|
|
|
Definition at line 1607 of file glf.cxx. 01608 {
01609 return bmf_curfont;
01610 }
|
|
|
Definition at line 951 of file glf.cxx. Referenced by TridSketchText::DrawSelf(). 00952 {
00953 return curfont;
00954 }
|
|
|
Definition at line 928 of file glf.cxx. 00929 {
00930 return SpaceSize;
00931 }
|
|
||||||||||||||||||||||||
|
Definition at line 908 of file glf.cxx. References curfont, glfGetStringBoundsF(), and s(). Referenced by TridSketchText::DrawSelf(). 00909 {
00910 glfGetStringBoundsF(curfont, s, minx, miny, maxx, maxy);
00911 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 856 of file glf.cxx. References one_symbol::bottomy, fonts, one_symbol::leftx, MAX_FONTS, one_symbol::rightx, s(), glf_font::symbols, and one_symbol::topy. Referenced by glfGetStringBounds(). 00857 {
00858 struct glf_font *font;
00859 int i;
00860 float sda, sdb, cw = 0, minxx = 10;
00861 float top = 10, bottom = -10;
00862
00863 if (fd < 0 || fd > (MAX_FONTS-1)) return;
00864 font = fonts[fd];
00865
00866 if (font == NULL) return;
00867
00868 if (font->symbols[(int)s[0]])
00869 minxx = -(float)(fabs(font->symbols[(int)s[0]]->leftx));
00870 else
00871 minxx = 0.0;
00872
00873 for (i=0; i<(int)strlen(s); i++)
00874 {
00875 if ((font->symbols[(int)s[i]] == NULL) || (s[i] == ' '))
00876 cw += SpaceSize;
00877 else
00878 {
00879 sdb = (float)fabs(font->symbols[(int)s[i]]->leftx);
00880 sda = (float)fabs(font->symbols[(int)s[i]]->rightx);
00881
00882 cw += sda+sdb+SymbolDist;
00883
00884 /* Update top/bottom bounds */
00885 if (font->symbols[(int)s[i]]->bottomy > bottom)
00886 bottom = font->symbols[(int)s[i]]->bottomy;
00887
00888 if (font->symbols[(int)s[i]]->topy < top)
00889 top = font->symbols[(int)s[i]]->topy;
00890 }
00891 }
00892
00893 cw += minxx + SymbolDist;
00894
00895 if ((maxx) && (maxy))
00896 {
00897 *maxx = cw;
00898 *maxy = bottom;
00899 }
00900
00901 if ((minx) && (miny))
00902 {
00903 *minx = minxx;
00904 *miny = top;
00905 }
00906 }
|
|
|
Definition at line 1124 of file glf.cxx. 01125 {
01126 return m_string_center;
01127 }
|
|
|
Definition at line 1117 of file glf.cxx. 01118 {
01119 return m_direction;
01120 }
|
|
|
Definition at line 938 of file glf.cxx. 00939 {
00940 return SymbolDepth;
00941 }
|
|
|
Definition at line 918 of file glf.cxx. 00919 {
00920 return SymbolDist;
00921 }
|
|
|
Definition at line 130 of file glf.cxx. References ap, bmf_curfont, bmf_in_use, conData, console_msg, contouring, contouring_color, curfont, fonts, GLF_CONSOLE_CURSOR, GLF_LEFT, glfBitmapStringCentering(), glfConsoleClear(), glfEnable(), glfSetConsoleParam(), glfSetCursorBlinkRate(), glfStringCentering(), glfStringDirection(), m_max_height, and texturing. Referenced by TridOpenGLGlobal::GlfLoadFont(). 00131 {
00132 int i;
00133
00134 for (i=0; i<MAX_FONTS; i++)
00135 {
00136 fonts[i] = NULL;
00137 bmf_in_use[i] = 0;
00138 m_max_height[i] = 0;
00139 }
00140
00141 curfont = -1;
00142 bmf_curfont = -1;
00143 console_msg = GLF_NO;
00144 ap = GLF_CENTER; /* Set anchor point to center of each symbol */
00145 texturing = GLF_NO; /* By default texturing is NOT Enabled */
00146 contouring = GLF_NO; /* By default contouring is NOT Enabled */
00147 memset(&contouring_color, 0, sizeof(struct color));
00148 conData = NULL;
00149 glfSetConsoleParam(40, 20);
00150 glfConsoleClear();
00151 glfEnable(GLF_CONSOLE_CURSOR);
00152 glfSetCursorBlinkRate(10);
00153 glfStringCentering(GL_FALSE);
00154 glfBitmapStringCentering(GL_FALSE);
00155 glfStringDirection(GLF_LEFT);
00156 }
|
|
|
Definition at line 1423 of file glf.cxx. References bmf_curfont, bmf_in_use, bmf_mask, bmf_texture, coord_rect::height, list_base, LittleEndian(), m_max_height, m_widths, read_texture(), sym_space, Symbols, texture_to_mask(), coord_rect::width, widths::width, coord_rect::x, and coord_rect::y. 01424 {
01425 FILE *f;
01426 char Header[4];
01427 char FontName[97];
01428 int i, flag;
01429 int LEndian;
01430 float tx, ty, tw, th;
01431 unsigned char temp, *tp;
01432 unsigned *texture; /* Texture image */
01433 unsigned *mask; /* Mask texture */
01434 int twidth, theight, tcomp; /* Image parameters */
01435 float *temp_width;
01436
01437 LEndian = LittleEndian();
01438
01439 f = fopen(FName, "rb");
01440 if (f == NULL) return GLF_ERROR; /* Error opening file */
01441
01442 /* Get header */
01443 fread(Header, 1, 3, f);
01444 Header[3] = 0;
01445 if (strcmp(Header, "BMF")) return GLF_ERROR; /* Not BMF format */
01446
01447 /* Get font name */
01448 fread(FontName, 1, 96, f);
01449 FontName[96] = 0;
01450
01451 /* Allocate space for temp widths */
01452
01453 temp_width = (float *)malloc(sizeof(float)*256);
01454
01455 /* Read all 256 symbols information */
01456 for (i=0; i<256; i++)
01457 {
01458 fread(&tx, 4, 1, f);
01459 fread(&ty, 4, 1, f);
01460 fread(&tw, 4, 1, f);
01461 fread(&th, 4, 1, f);
01462
01463 if (!LEndian)
01464 {
01465 tp = (unsigned char *)&tx;
01466 temp = tp[0]; tp[0] = tp[3]; tp[3] = temp;
01467 temp = tp[1]; tp[1] = tp[2]; tp[2] = temp;
01468 tp = (unsigned char *)&ty;
01469 temp = tp[0]; tp[0] = tp[3]; tp[3] = temp;
01470 temp = tp[1]; tp[1] = tp[2]; tp[2] = temp;
01471 tp = (unsigned char *)&tw;
01472 temp = tp[0]; tp[0] = tp[3]; tp[3] = temp;
01473 temp = tp[1]; tp[1] = tp[2]; tp[2] = temp;
01474 tp = (unsigned char *)&th;
01475 temp = tp[0]; tp[0] = tp[3]; tp[3] = temp;
01476 temp = tp[1]; tp[1] = tp[2]; tp[2] = temp;
01477 }
01478
01479 Symbols[(int)i].x = tx;
01480 Symbols[(int)i].y = ty;
01481 Symbols[(int)i].width = tw;
01482 Symbols[(int)i].height = th;
01483 temp_width[i] = tw;
01484 }
01485
01486 /* Read texture image from file and build texture */
01487 texture = read_texture(f, &twidth, &theight, &tcomp);
01488 /* Generate mask texture */
01489 mask = texture_to_mask(texture, twidth, theight);
01490
01491 /* Find unused font descriptor */
01492 flag = 0;
01493 for (i=0; i<MAX_FONTS; i++)
01494 if (bmf_in_use[i] == 0)
01495 {
01496 /* Initialize this font */
01497 bmf_in_use[i] = 1;
01498 bmf_curfont = i;
01499 flag = 1;
01500 break;
01501 }
01502 if (!flag) /* Not enought space for new texture */
01503 {
01504 fclose(f);
01505 free(texture);
01506 free(mask);
01507 free(temp_width);
01508 return -1;
01509 }
01510
01511 m_widths[bmf_curfont].width = temp_width;
01512
01513 /* Generating textures for font and mask */
01514 glGenTextures(1, &bmf_texture[bmf_curfont]);
01515 glGenTextures(1, &bmf_mask[bmf_curfont]);
01516
01517
01518 glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
01519
01520 /* Build font texture */
01521 glBindTexture(GL_TEXTURE_2D, bmf_texture[bmf_curfont]);
01522 glTexImage2D(GL_TEXTURE_2D, 0, 3, twidth, theight, 0, GL_RGBA, GL_UNSIGNED_BYTE, texture);
01523
01524 /* Linear filtering for better quality */
01525 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
01526 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
01527
01528 /* Build mask texture */
01529 glBindTexture(GL_TEXTURE_2D, bmf_mask[bmf_curfont]);
01530 glTexImage2D(GL_TEXTURE_2D, 0, 3, twidth, theight, 0, GL_RGBA, GL_UNSIGNED_BYTE, mask);
01531 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
01532 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
01533
01534 free(texture);
01535 free(mask);
01536 fclose(f);
01537
01538 /* Now build list for each symbol */
01539 list_base[bmf_curfont] = glGenLists(256);
01540 for (i=0; i<256; i++)
01541 {
01542 glNewList(list_base[bmf_curfont]+i, GL_COMPILE);
01543
01544 glBegin(GL_QUADS);
01545 glTexCoord2f(Symbols[(int)i].x, Symbols[(int)i].y); glVertex2f(0, 0);
01546 glTexCoord2f(Symbols[(int)i].x+Symbols[(int)i].width, Symbols[(int)i].y); glVertex2f(Symbols[(int)i].width, 0);
01547 glTexCoord2f(Symbols[(int)i].x+Symbols[(int)i].width, Symbols[(int)i].y+Symbols[(int)i].height); glVertex2f(Symbols[(int)i].width, Symbols[(int)i].height);
01548 glTexCoord2f(Symbols[(int)i].x, Symbols[(int)i].y+Symbols[(int)i].height); glVertex2f(0, Symbols[(int)i].height);
01549 glEnd();
01550 glTranslatef(Symbols[(int)i].width+sym_space, 0, 0);
01551
01552 glEndList();
01553 if (Symbols[(int)i].height > m_max_height[bmf_curfont]) m_max_height[bmf_curfont] = Symbols[(int)i].height;
01554 }
01555 return bmf_curfont;
01556 }
|
|
|
Definition at line 300 of file glf.cxx. References curfont, fonts, and ReadFont(). Referenced by TridOpenGLGlobal::GlfLoadFont(). 00301 {
00302 int i;
00303 char flag; /* Temporary flag */
00304
00305 /* First we find free font descriptor */
00306 flag = 0; /* Descriptor not found yet */
00307 for (i=0; i<MAX_FONTS; i++)
00308 if (fonts[i] == NULL)
00309 {
00310 /* Initialize this font */
00311 fonts[i] = (struct glf_font *)malloc(sizeof(struct glf_font));
00312 flag = 1;
00313 break;
00314 }
00315
00316 if (!flag) return GLF_ERROR; /* Free font not found */
00317 if (ReadFont(font_name, fonts[i]) == GLF_OK)
00318 {
00319 curfont = i; /* Set curfont to just loaded font */
00320 return i;
00321 }
00322
00323 if (fonts[i] != NULL)
00324 {
00325 free(fonts[i]);
00326 fonts[i] = NULL;
00327 }
00328 return GLF_ERROR;
00329 }
|
|
||||||||||||
|
Definition at line 1019 of file glf.cxx. References conData, conHeight, conWidth, conx, and s(). Referenced by glfPrintChar(), and glfPrintString(). 01020 {
01021 int i;
01022
01023 for (i=0; i<lenght; i++)
01024 {
01025 if (s[i] > 31)
01026 {
01027 conData[cony*conWidth+conx] = s[i];
01028 conx++;
01029 } else
01030 if (s[i] == '\n') conx = conWidth;
01031 if (conx >= conWidth)
01032 {
01033 conx = 0;
01034 cony++;
01035 if (cony >= conHeight)
01036 {
01037 /* Shift all console contents up */
01038 memcpy(conData, &conData[conWidth], conWidth*(conHeight-1));
01039 /* Fill bottom line by spaces */
01040 memset(&conData[conWidth*(conHeight-1)], 0, conWidth);
01041 cony = conHeight-1;
01042 }
01043 }
01044 }
01045 }
|
|
|
Definition at line 1052 of file glf.cxx. References glfPrint(), and s(). 01053 {
01054 glfPrint(&s, 1);
01055 }
|
|
|
Definition at line 1047 of file glf.cxx. References glfPrint(), and s(). 01048 {
01049 glfPrint(s, strlen(s));
01050 }
|
|
|
Definition at line 956 of file glf.cxx. References ap. 00957 {
00958 if ((anchp >= GLF_LEFT_UP) && (anchp <= GLF_RIGHT_DOWN))
00959 ap = anchp;
00960 }
|
|
|
Definition at line 1729 of file glf.cxx. References RotateAngleB. 01730 {
01731 RotateAngleB = angle;
01732 }
|
|
|
Definition at line 1004 of file glf.cxx. References conFont, and fonts. 01005 {
01006 if ((Font_Descriptor < 0) || (fonts[Font_Descriptor] == NULL)) return GLF_ERROR;
01007
01008 conFont = Font_Descriptor;
01009 return GLF_OK;
01010 }
|
|
||||||||||||
|
Definition at line 994 of file glf.cxx. References conData, conHeight, conWidth, and glfConsoleClear(). Referenced by glfInit(). 00995 {
00996 if (conData) free(conData);
00997
00998 conWidth = width;
00999 conHeight = height;
01000 conData = (char *)malloc(width*height);
01001 glfConsoleClear();
01002 }
|
|
||||||||||||||||||||
|
Definition at line 962 of file glf.cxx. References color::a, color::b, contouring_color, color::g, and color::r. 00963 {
00964 contouring_color.r = r;
00965 contouring_color.g = g;
00966 contouring_color.b = b;
00967 contouring_color.a = a;
00968 }
|
|
|
Definition at line 1598 of file glf.cxx. References bmf_curfont, and bmf_in_use. 01599 {
01600 if ((Font_Descriptor < 0) || (bmf_in_use[Font_Descriptor] == 0)) return GLF_ERROR;
01601
01602 bmf_curfont = Font_Descriptor;
01603 return GLF_OK;
01604 }
|
|
|
Definition at line 943 of file glf.cxx. References curfont, and fonts. Referenced by TridSketchText::DrawSelf(). 00944 {
00945 if ((Font_Descriptor < 0) || (fonts[Font_Descriptor] == NULL)) return GLF_ERROR;
00946
00947 curfont = Font_Descriptor;
00948 return GLF_OK;
00949 }
|
|
|
Definition at line 1092 of file glf.cxx. References conCursorBlink, conCursorCount, and conCursorMode. Referenced by glfInit(). 01093 {
01094 if (Rate > 0)
01095 {
01096 conCursorBlink = Rate;
01097 conCursorCount = Rate;
01098 conCursorMode = GLF_YES;
01099 }
01100 }
|
|
|
Definition at line 1130 of file glf.cxx. References RotateAngle. Referenced by TridGLFrame::DrawHUD(). 01131 {
01132 RotateAngle = angle;
01133 }
|
|
|
Definition at line 923 of file glf.cxx. References SpaceSize. 00924 {
00925 SpaceSize = sp;
00926 }
|
|
|
Definition at line 933 of file glf.cxx. References SymbolDepth. Referenced by TridSketchText::DrawSelf(). 00934 {
00935 SymbolDepth = dpth;
00936 }
|
|
|
Definition at line 913 of file glf.cxx. References SymbolDist. 00914 {
00915 SymbolDist = sp;
00916 }
|
|
|
Definition at line 1580 of file glf.cxx. References bmf_curfont, bmf_texture, and bmf_texturing. 01581 {
01582 /* Enable 2D Texturing */
01583 glGetBooleanv(GL_TEXTURE_2D, &bmf_texturing);
01584 glEnable(GL_TEXTURE_2D);
01585
01586 glBindTexture(GL_TEXTURE_2D, bmf_texture[bmf_curfont]);
01587 }
|
|
|
Definition at line 1590 of file glf.cxx. 01591 {
01592 /* Return previuos state of texturing */
01593 if (bmf_texturing) glEnable(GL_TEXTURE_2D);
01594 else glDisable(GL_TEXTURE_2D);
01595 }
|
|
|
Definition at line 1103 of file glf.cxx. References m_string_center. Referenced by TridGLFrame::DrawHUD(), TridSketchText::DrawSelf(), and glfInit(). 01104 {
01105 m_string_center = center;
01106 }
|
|
|
Definition at line 1110 of file glf.cxx. References GLF_LEFT, GLF_RIGHT, GLF_UP, and m_direction. Referenced by TridGLFrame::DrawHUD(), and glfInit(). 01111 {
01112 if (direction == GLF_LEFT || direction == GLF_RIGHT ||
01113 direction == GLF_UP || direction == GLF_DOWN) m_direction = direction;
01114 }
|
|
|
Definition at line 1574 of file glf.cxx. References bmf_curfont, and glfUnloadBMFFontD(). 01575 {
01576 return glfUnloadBMFFontD(bmf_curfont);
01577 }
|
|
|
Definition at line 1559 of file glf.cxx. References bmf_curfont, bmf_in_use, bmf_mask, and bmf_texture. Referenced by glfClose(), and glfUnloadBMFFont(). 01560 {
01561 if ((bmf_descriptor < 0) || (bmf_in_use[bmf_descriptor] == 0)) return GLF_ERROR;
01562
01563 bmf_in_use[bmf_descriptor] = 0;
01564
01565 glDeleteTextures(1, &bmf_texture[bmf_descriptor]);
01566 glDeleteTextures(1, &bmf_mask[bmf_descriptor]);
01567
01568 if (bmf_descriptor == bmf_curfont) bmf_curfont = -1;
01569
01570 return GLF_OK;
01571 }
|
|
|
Definition at line 336 of file glf.cxx. References curfont, fonts, and glf_font::symbols. Referenced by TridOpenGLGlobal::GlfLoadFont(), glfUnloadFontD(), and TridOpenGLGlobal::~TridOpenGLGlobal(). 00337 {
00338 int i;
00339
00340 if ((curfont<0) || (fonts[curfont] == NULL)) return GLF_ERROR;
00341
00342 for (i=0; i<256; i++)
00343 {
00344 if (fonts[curfont]->symbols[(int)i] != NULL)
00345 {
00346 free(fonts[curfont]->symbols[(int)i]->vdata);
00347 free(fonts[curfont]->symbols[(int)i]->fdata);
00348 free(fonts[curfont]->symbols[(int)i]->ldata);
00349 free(fonts[curfont]->symbols[(int)i]);
00350 }
00351 }
00352
00353 free(fonts[curfont]);
00354 fonts[curfont] = NULL;
00355 curfont = -1;
00356 return GLF_OK;
00357 }
|
|
|
Definition at line 360 of file glf.cxx. References curfont, fonts, and glfUnloadFont(). Referenced by glfClose(). 00361 {
00362 int temp;
00363
00364 if ((font_descriptor < 0) || (fonts[font_descriptor] == NULL)) return GLF_ERROR;
00365
00366 temp = curfont;
00367 curfont = font_descriptor;
00368 glfUnloadFont();
00369 if (temp != font_descriptor) curfont = temp;
00370 else curfont = -1;
00371 return GLF_OK;
00372 }
|
|
|
Definition at line 1300 of file glf.cxx. References ImageRec, _ImageRec::rowSize, _ImageRec::rowStart, _ImageRec::tmp, _ImageRec::tmpB, _ImageRec::tmpG, and _ImageRec::tmpR. Referenced by read_texture(). 01301 {
01302 free(image->tmp);
01303 free(image->tmpR);
01304 free(image->tmpG);
01305 free(image->tmpB);
01306 free(image->rowSize);
01307 free(image->rowStart);
01308 free(image);
01309 }
|
|
||||||||||||||||||||
|
Definition at line 1312 of file glf.cxx. References count, _ImageRec::file, ImageRec, _ImageRec::rowSize, _ImageRec::rowStart, SEEK_SET_POS, _ImageRec::tmp, _ImageRec::type, _ImageRec::xsize, and _ImageRec::ysize. Referenced by read_texture(). 01313 {
01314 unsigned char *iPtr, *oPtr, pixel;
01315 int count;
01316
01317 if ((image->type & 0xFF00) == 0x0100)
01318 {
01319 fseek(image->file, (long)image->rowStart[y+z*image->ysize]+SEEK_SET_POS, SEEK_SET);
01320 fread(image->tmp, 1, (unsigned int)image->rowSize[y+z*image->ysize], image->file);
01321
01322 iPtr = image->tmp;
01323 oPtr = buf;
01324 for (;;)
01325 {
01326 pixel = *iPtr++;
01327 count = (int)(pixel & 0x7F);
01328 if (!count) return;
01329 if (pixel & 0x80) while (count--) *oPtr++ = *iPtr++;
01330 else
01331 {
01332 pixel = *iPtr++;
01333 while (count--) *oPtr++ = pixel;
01334 }
01335 }
01336 }
01337 else
01338 {
01339 fseek(image->file, 512+(y*image->xsize)+(z*image->xsize*image->ysize)+SEEK_SET_POS, SEEK_SET);
01340 fread(buf, 1, image->xsize, image->file);
01341 }
01342 }
|
|
|
Definition at line 1231 of file glf.cxx. References ConvertLong(), ConvertShort(), _ImageRec::file, ImageRec, _ImageRec::imagic, _ImageRec::rleEnd, _ImageRec::rowSize, _ImageRec::rowStart, SEEK_SET_POS, _ImageRec::tmp, _ImageRec::tmpB, _ImageRec::tmpG, _ImageRec::tmpR, _ImageRec::type, _ImageRec::xsize, _ImageRec::ysize, and _ImageRec::zsize. Referenced by read_texture(). 01232 {
01233 union
01234 {
01235 int testWord;
01236 char testByte[4];
01237 } endianTest;
01238
01239 ImageRec *image;
01240 int swapFlag;
01241 int x;
01242
01243 endianTest.testWord = 1;
01244 if (endianTest.testByte[0] == 1) swapFlag = 1;
01245 else swapFlag = 0;
01246
01247 image = (ImageRec *)malloc(sizeof(ImageRec));
01248 if (image == NULL)
01249 {
01250 fprintf(stderr, "Out of memory!\n");
01251 exit(1);
01252 }
01253
01254 image->file = f;
01255
01256 fread(image, 1, 12, image->file);
01257
01258 if (swapFlag) ConvertShort(&image->imagic, 6);
01259
01260 image->tmp = (unsigned char *)malloc(image->xsize*256);
01261 image->tmpR = (unsigned char *)malloc(image->xsize*256);
01262 image->tmpG = (unsigned char *)malloc(image->xsize*256);
01263 image->tmpB = (unsigned char *)malloc(image->xsize*256);
01264 if (image->tmp == NULL || image->tmpR == NULL || image->tmpG == NULL ||
01265 image->tmpB == NULL)
01266 {
01267 fprintf(stderr, "Out of memory!\n");
01268 exit(1);
01269 }
01270
01271 if ((image->type & 0xFF00) == 0x0100)
01272 {
01273 x = image->ysize * image->zsize * sizeof(unsigned);
01274 image->rowStart = (unsigned *)malloc(x);
01275 image->rowSize = (int *)malloc(x);
01276 if (image->rowStart == NULL || image->rowSize == NULL)
01277 {
01278 fprintf(stderr, "Out of memory!\n");
01279 exit(1);
01280 }
01281 image->rleEnd = 512 + (2 * x);
01282 fseek(image->file, 512+SEEK_SET_POS, SEEK_SET);
01283 fread(image->rowStart, 1, x, image->file);
01284 fread(image->rowSize, 1, x, image->file);
01285 if (swapFlag)
01286 {
01287 ConvertLong(image->rowStart, x/(int)sizeof(unsigned));
01288 ConvertLong((unsigned *)image->rowSize, x/(int)sizeof(int));
01289 }
01290 }
01291 else
01292 {
01293 image->rowStart = NULL;
01294 image->rowSize = NULL;
01295 }
01296 return image;
01297 }
|
|
||||||||||||||||||||
|
Definition at line 1154 of file glf.cxx. Referenced by read_texture(). 01155 {
01156 while(n--)
01157 {
01158 l[0] = *b; l[1] = *b;
01159 l[2] = *b; l[3] = *a;
01160 l += 4; b++; a++;
01161 }
01162 }
|
|
|
Definition at line 174 of file glf.cxx. Referenced by glfLoadBMFFont(), and ReadFont(). 00175 {
00176 int endianTester = 1;
00177 char *endianChar = 0;
00178
00179 endianChar = (char *)&endianTester;
00180 if (*endianChar) return 1;
00181 return 0;
00182 }
|
|
||||||||||||||||||||
|
Definition at line 1345 of file glf.cxx. References base, bwtorgba(), ImageClose(), ImageGetRow(), ImageOpen(), ImageRec, latorgba(), rgbatorgba(), rgbtorgba(), _ImageRec::xsize, _ImageRec::ysize, and _ImageRec::zsize. Referenced by glfLoadBMFFont(). 01346 {
01347 unsigned *base, *lptr;
01348 unsigned char *rbuf, *gbuf, *bbuf, *abuf;
01349 ImageRec *image;
01350 int y;
01351
01352 image = ImageOpen(f);
01353
01354 if (!image) return NULL;
01355 (*width) = image->xsize;
01356 (*height) = image->ysize;
01357 (*components) = image->zsize;
01358
01359 base = (unsigned *)malloc(image->xsize*image->ysize*sizeof(unsigned));
01360 rbuf = (unsigned char *)malloc(image->xsize*sizeof(unsigned char));
01361 gbuf = (unsigned char *)malloc(image->xsize*sizeof(unsigned char));
01362 bbuf = (unsigned char *)malloc(image->xsize*sizeof(unsigned char));
01363 abuf = (unsigned char *)malloc(image->xsize*sizeof(unsigned char));
01364
01365 if(!base || !rbuf || !gbuf || !bbuf) return NULL;
01366 lptr = base;
01367 for (y=0; y<image->ysize; y++)
01368 {
01369 if(image->zsize >= 4)
01370 {
01371 ImageGetRow(image, rbuf, y, 0);
01372 ImageGetRow(image, gbuf, y, 1);
01373 ImageGetRow(image, bbuf, y, 2);
01374 ImageGetRow(image, abuf, y, 3);
01375 rgbatorgba(rbuf,gbuf,bbuf,abuf,(unsigned char *)lptr,image->xsize);
01376 lptr += image->xsize;
01377 }
01378 else if(image->zsize == 3)
01379 {
01380 ImageGetRow(image,rbuf, y, 0);
01381 ImageGetRow(image,gbuf, y, 1);
01382 ImageGetRow(image,bbuf, y, 2);
01383 rgbtorgba(rbuf,gbuf,bbuf,(unsigned char *)lptr,image->xsize);
01384 lptr += image->xsize;
01385 }
01386 else if(image->zsize == 2)
01387 {
01388 ImageGetRow(image,rbuf, y, 0);
01389 ImageGetRow(image,abuf, y, 1);
01390 latorgba(rbuf,abuf,(unsigned char *)lptr,image->xsize);
01391 lptr += image->xsize;
01392 }
01393 else
01394 {
01395 ImageGetRow(image, rbuf, y, 0);
01396 bwtorgba(rbuf,(unsigned char *)lptr,image->xsize);
01397 lptr += image->xsize;
01398 }
01399 }
01400 ImageClose(image);
01401 free(rbuf);
01402 free(gbuf);
01403 free(bbuf);
01404 free(abuf);
01405
01406 return (unsigned *) base;
01407 }
|
|
||||||||||||
|
Definition at line 196 of file glf.cxx. References one_symbol::bottomy, one_symbol::facets, one_symbol::fdata, glf_font::font_name, one_symbol::ldata, one_symbol::leftx, one_symbol::lines, LittleEndian(), one_symbol::rightx, glf_font::sym_total, glf_font::symbols, one_symbol::topy, one_symbol::vdata, and one_symbol::vertexs. Referenced by glfLoadFont(). 00197 {
00198
00199 FILE *fontf;
00200 char buffer[64];
00201 int i, j;
00202 unsigned char temp, code, verts, fcets, lns;
00203 float tempfx, tempfy;
00204 unsigned char *tp;
00205 int LEndian; /* True if little endian machine */
00206
00207 fontf = fopen(font_name, "rb");
00208 if (fontf == NULL) return GLF_ERROR;
00209
00210 fread(buffer, 3, 1, fontf);
00211 buffer[3] = 0;
00212 if (strcmp(buffer, "GLF"))
00213 {
00214 /* If header is not "GLF" */
00215 if (console_msg) printf("Error reading font file: incorrect file format\n");
00216 return GLF_ERROR;
00217 }
00218
00219 /* Check for machine type */
00220 LEndian = LittleEndian();
00221
00222 fread(glff->font_name, 96, 1, fontf);
00223 glff->font_name[96] = 0;
00224
00225 fread(&glff->sym_total, 1, 1, fontf); /* Read total symbols in font */
00226
00227 for (i=0; i<MAX_FONTS; i++) glff->symbols[(int)i] = NULL;
00228
00229 for (i=0; i<28; i++) fread(&temp, 1, 1, fontf); /* Read unused data */
00230
00231 /* Now start to read font data */
00232
00233 for (i=0; i<glff->sym_total; i++)
00234 {
00235 fread(&code, 1, 1, fontf); /* Read symbol code */
00236 fread(&verts, 1, 1, fontf); /* Read vertexs count */
00237 fread(&fcets, 1, 1, fontf); /* Read facets count */
00238 fread(&lns, 1, 1, fontf); /* Read lines count */
00239
00240 if (glff->symbols[(int)code] != NULL)
00241 {
00242 if (console_msg) printf("Error reading font file: encountered symbols in font\n");
00243 return GLF_ERROR;
00244 }
00245
00246 glff->symbols[(int)code] = (struct one_symbol *)malloc(sizeof(struct one_symbol));
00247 glff->symbols[(int)code]->vdata = (float *)malloc(8*verts);
00248 glff->symbols[(int)code]->fdata = (unsigned char *)malloc(3*fcets);
00249 glff->symbols[(int)code]->ldata = (unsigned char *)malloc(lns);
00250
00251 glff->symbols[(int)code]->vertexs = verts;
00252 glff->symbols[(int)code]->facets = fcets;
00253 glff->symbols[(int)code]->lines = lns;
00254
00255 /* Read vertexs data */
00256 glff->symbols[(int)code]->leftx = 10;
00257 glff->symbols[(int)code]->rightx = -10;
00258 glff->symbols[(int)code]->topy = 10;
00259 glff->symbols[(int)code]->bottomy = -10;
00260
00261 for (j=0; j<verts; j++)
00262 {
00263 fread(&tempfx, 4, 1, fontf);
00264 fread(&tempfy, 4, 1, fontf);
00265
00266 /* If machine is bigendian -> swap low and high words in
00267 tempfx and tempfy */
00268 if (!LEndian)
00269 {
00270 tp = (unsigned char *)&tempfx;
00271 temp = tp[0]; tp[0] = tp[3]; tp[3] = temp;
00272 temp = tp[1]; tp[1] = tp[2]; tp[2] = temp;
00273 tp = (unsigned char *)&tempfy;
00274 temp = tp[0]; tp[0] = tp[3]; tp[3] = temp;
00275 temp = tp[1]; tp[1] = tp[2]; tp[2] = temp;
00276 }
00277 glff->symbols[(int)code]->vdata[j*2] = tempfx;
00278 glff->symbols[(int)code]->vdata[j*2+1] = tempfy;
00279
00280 if (tempfx < glff->symbols[(int)code]->leftx) glff->symbols[(int)code]->leftx = tempfx;
00281 if (tempfx > glff->symbols[(int)code]->rightx) glff->symbols[(int)code]->rightx = tempfx;
00282 if (tempfy < glff->symbols[(int)code]->topy) glff->symbols[(int)code]->topy = tempfy;
00283 if (tempfy > glff->symbols[(int)code]->bottomy) glff->symbols[(int)code]->bottomy = tempfy;
00284 }
00285 for (j=0; j<fcets; j++)
00286 fread(&glff->symbols[(int)code]->fdata[j*3], 3, 1, fontf);
00287 for (j=0; j<lns; j++)
00288 fread(&glff->symbols[(int)code]->ldata[j], 1, 1, fontf);
00289 }
00290 fclose(fontf);
00291 return GLF_OK;
00292 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 1174 of file glf.cxx. Referenced by read_texture(). 01175 {
01176 while(n--)
01177 {
01178 l[0] = r[0]; l[1] = g[0];
01179 l[2] = b[0]; l[3] = a[0];
01180 l += 4; r++; g++; b++; a++;
01181 }
01182 }
|
|
||||||||||||||||||||||||
|
Definition at line 1164 of file glf.cxx. Referenced by read_texture(). 01165 {
01166 while(n--)
01167 {
01168 l[0] = r[0]; l[1] = g[0];
01169 l[2] = b[0]; l[3] = 0xff;
01170 l += 4; r++; g++; b++;
01171 }
01172 }
|
|
||||||||||||||||
|
Definition at line 1410 of file glf.cxx. Referenced by glfLoadBMFFont(). 01411 {
01412 int nSize, i;
01413 unsigned *ret;
01414
01415 nSize = width * height;
01416 ret = (unsigned *)malloc(nSize * sizeof(unsigned));
01417 for (i=0; i<nSize; i++) ret[i] = tex[i] & 0x00ffffff ? 0 : 0x00ffffff;
01418
01419 return ret;
01420 }
|
|
|
Definition at line 80 of file glf.cxx. Referenced by glfInit(), and glfSetAnchorPoint(). |
|
|
Definition at line 120 of file glf.cxx. Referenced by glfDrawBMaskString(), glfDrawBMaskSymbol(), glfDrawBString(), glfDrawBSymbol(), glfInit(), glfLoadBMFFont(), glfSetCurrentBMFFont(), glfStartBitmapDrawing(), glfUnloadBMFFont(), and glfUnloadBMFFontD(). |
|
|
Definition at line 123 of file glf.cxx. Referenced by glfDrawBMaskString(), glfDrawBMaskSymbol(), glfDrawBString(), glfDrawBSymbol(), glfInit(), glfLoadBMFFont(), glfSetCurrentBMFFont(), and glfUnloadBMFFontD(). |
|
|
Definition at line 122 of file glf.cxx. Referenced by glfDrawBMaskString(), glfDrawBMaskSymbol(), glfLoadBMFFont(), and glfUnloadBMFFontD(). |
|
|
Definition at line 121 of file glf.cxx. Referenced by glfDrawBMaskString(), glfDrawBMaskSymbol(), glfLoadBMFFont(), glfStartBitmapDrawing(), and glfUnloadBMFFontD(). |
|
|
Definition at line 119 of file glf.cxx. Referenced by glfStartBitmapDrawing(). |
|
|
Definition at line 96 of file glf.cxx. Referenced by glfConsoleDraw(), glfDisable(), and glfEnable(). |
|
|
Definition at line 97 of file glf.cxx. Referenced by glfSetCursorBlinkRate(). |
|
|
Definition at line 98 of file glf.cxx. Referenced by glfConsoleDraw(), and glfSetCursorBlinkRate(). |
|
|
Definition at line 99 of file glf.cxx. Referenced by glfConsoleDraw(), and glfSetCursorBlinkRate(). |
|
|
Definition at line 94 of file glf.cxx. Referenced by glfClose(), glfConsoleClear(), glfConsoleDraw(), glfInit(), glfPrint(), and glfSetConsoleParam(). |
|
|
Definition at line 95 of file glf.cxx. Referenced by glfConsoleDraw(), and glfSetConsoleFont(). |
|
|
Definition at line 92 of file glf.cxx. Referenced by glfConsoleClear(), glfPrint(), and glfSetConsoleParam(). |
|
|
Definition at line 86 of file glf.cxx. Referenced by glfDisable(), glfEnable(), and glfInit(). |
|
|
Definition at line 88 of file glf.cxx. Referenced by glfDisable(), glfDraw3DSolidSymbol(), glfDrawSolidSymbol(), glfEnable(), and glfInit(). |
|
|
Definition at line 89 of file glf.cxx. Referenced by glfDraw3DSolidSymbol(), glfDrawSolidSymbol(), glfInit(), and glfSetContourColor(). |
|
|
Definition at line 92 of file glf.cxx. Referenced by glfConsoleClear(), glfConsoleDraw(), glfPrint(), and glfSetConsoleParam(). |
|
|
Definition at line 93 of file glf.cxx. Referenced by glfConsoleClear(), and glfPrint(). |
|
|
|
Definition at line 78 of file glf.cxx. Referenced by DrawString(), glfDraw3DSolidSymbol(), glfDraw3DWiredSymbol(), glfDrawSolidSymbol(), glfDrawWiredSymbol(), glfGetStringBoundsF(), glfInit(), glfLoadFont(), glfSetConsoleFont(), glfSetCurrentFont(), glfUnloadFont(), and glfUnloadFontD(). |
|
|
Definition at line 124 of file glf.cxx. Referenced by glfDrawBMaskString(), glfDrawBMaskSymbol(), glfDrawBString(), glfDrawBSymbol(), and glfLoadBMFFont(). |
|
|
Definition at line 82 of file glf.cxx. Referenced by glfBitmapStringCentering(), glfDrawBMaskString(), and glfDrawBString(). |
|
|
Definition at line 84 of file glf.cxx. Referenced by DrawString(), and glfStringDirection(). |
|
|
Definition at line 125 of file glf.cxx. Referenced by glfInit(), and glfLoadBMFFont(). |
|
|
Definition at line 81 of file glf.cxx. Referenced by glfStringCentering(). |
|
|
Definition at line 126 of file glf.cxx. Referenced by glfDrawBMaskString(), glfDrawBString(), and glfLoadBMFFont(). |
|
|
Definition at line 72 of file glf.cxx. Referenced by DrawString(), and glfSetRotateAngle(). |
|
|
Definition at line 73 of file glf.cxx. Referenced by glfSetBRotateAngle(). |
|
|
Definition at line 71 of file glf.cxx. Referenced by DrawString(), and glfSetSpaceSize(). |
|
|
Definition at line 115 of file glf.cxx. Referenced by glfLoadBMFFont(). |
|
|
Definition at line 70 of file glf.cxx. Referenced by glfDraw3DSolidSymbol(), glfDraw3DWiredSymbol(), and glfSetSymbolDepth(). |
|
|
Definition at line 69 of file glf.cxx. Referenced by DrawString(), and glfSetSymbolSpace(). |
|
|
Definition at line 118 of file glf.cxx. Referenced by glfLoadBMFFont(). |
|
|
Definition at line 87 of file glf.cxx. Referenced by glfDisable(), glfDrawSolidSymbol(), glfEnable(), and glfInit(). |
1.3.9.1