/usr/include/oce/OpenGl_TextRender.hxx is in liboce-visualization-dev 0.9.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #include <OSD_FontAspect.hxx>
#include <InterfaceGraphic_tgl_all.hxx>
#include <OpenGl_tgl_all.hxx>
#include <InterfaceGraphic_telem.hxx>
#include <NCollection_DataMap.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_HAsciiString.hxx>
#include <OpenGl_FontMgr.hxx> // For FTFont
#define NUM_FONT_SIZES 40
#define NUM_CHAR_FONT 1024
#define CACHE_SIZE 30
class OpenGl_TextRender
{
public:
static OpenGl_TextRender* instance();
Tint FindFont ( Tchar*, OSD_FontAspect, Tfloat, Tfloat = 1. , Tfloat = 1.);
void StringSize( const wchar_t *text, GLint *width, GLint *ascent, GLint *descent);
void RenderText( const wchar_t*, GLuint, int, GLfloat, GLfloat, GLfloat );
void ExportText( const wchar_t* text, char* fontname, GLfloat height, GLfloat angle, GLint alingment, GLfloat x, GLfloat y, GLfloat z, GLboolean is2d );
#ifdef HAVE_GL2PS
static void getGL2PSFontName(char *src_font, char *ps_font);
#endif
private:
static int curFont ;
static int curSize ;
static int curScale ;
static int curTexFont ;
#ifdef HAVE_GL2PS
int alignmentforgl2ps(int Hmode, int Vmode);
#endif
struct FontMapNode
{
const char* enumName;
const char* FontName;
OSD_FontAspect fontAspect;
};
struct FontEntry
{
const char* name;
const char* xlfd;
float xsizes[NUM_FONT_SIZES];
int count;
};
FontMapNode searchFontInMap( Handle(TCollection_HAsciiString)& fontName );
static FontMapNode fontMap[];
static FontEntry fontEntry[];
OpenGl_TextRender();
OpenGl_TextRender( const OpenGl_TextRender& ){};
OpenGl_TextRender& operator = ( const OpenGl_TextRender&){ return *this;};
~OpenGl_TextRender(){};
struct OGLFont_Cache
{
FTFont* Font;
Standard_Integer FontHeight;
GLCONTEXT GlContext;
};
typedef NCollection_DataMap<Standard_Integer,OGLFont_Cache> FontCache;
FontCache _FontCache;
Standard_Integer _CurrentFontId;
Standard_ShortReal _XCurrentScale,
_YCurrentScale;
};
|