Exemplo n.º 1
0
 void testConstructor()
 {
     buildGLContext();
 
     FTGLBitmapFont* bitmapFont = new FTGLBitmapFont( FONT_FILE);            
     CPPUNIT_ASSERT( bitmapFont->Error() == 0);
 
     CPPUNIT_ASSERT( glGetError() == GL_NO_ERROR);        
 }
Exemplo n.º 2
0
        void testDisplayList()
        {
            buildGLContext();
        
            FTGLBitmapFont* bitmapFont = new FTGLBitmapFont( FONT_FILE);            
            bitmapFont->FaceSize(18);
            
            int glList = glGenLists(1);
            glNewList( glList, GL_COMPILE);

                bitmapFont->Render(GOOD_ASCII_TEST_STRING);

            glEndList();

            CPPUNIT_ASSERT( glGetError() == GL_NO_ERROR);
        }
Exemplo n.º 3
0
        void testPenPosition()
        {
            buildGLContext();
            float rasterPosition[4];
            
            glRasterPos2f(0.0f,0.0f);
            
            glGetFloatv(GL_CURRENT_RASTER_POSITION, rasterPosition);
            CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, rasterPosition[0], 0.01);
            
            FTGLBitmapFont* bitmapFont = new FTGLBitmapFont( FONT_FILE);            
            bitmapFont->FaceSize(18);

            bitmapFont->Render(GOOD_ASCII_TEST_STRING);
            bitmapFont->Render(GOOD_ASCII_TEST_STRING);

            glGetFloatv(GL_CURRENT_RASTER_POSITION, rasterPosition);
            CPPUNIT_ASSERT_DOUBLES_EQUAL( 122, rasterPosition[0], 0.01);
            CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, rasterPosition[1], 0.01);
        }
// Load FtglBitmapFont
void FtglBitmapFont::loadFont()
{
    if (isLoaded()) return;

    // Check for required parameters

    if( filename() == nullptr ) {
        if (isMessageEnabled(MSG_ERROR)) {
            std::cerr << "No ttf file" << std::endl;
        }
        return;
    }

    // Generate filename
    const size_t FONTPATHNAME_LENGTH = 256;
    char fontPathname[FONTPATHNAME_LENGTH];
    if (fontDirectory() != nullptr) lcStrcpy(fontPathname, FONTPATHNAME_LENGTH, fontDirectory());
    else lcStrcpy(fontPathname, FONTPATHNAME_LENGTH, "./");
    lcStrcat(fontPathname, FONTPATHNAME_LENGTH, filename());

    FTGLBitmapFont* ftglFont = new FTGLBitmapFont(fontPathname);
    if (ftglFont != nullptr && !ftglFont->Error()) {
        // set the face size and return the pointer, then tell our base class that we have a loaded font
        ftglFont->FaceSize(getFaceSize());
        ftgl(ftglFont);
        setFontLoaded();
    }
    else {
        if (isMessageEnabled(MSG_ERROR)) {
            std::cerr << "FtglBitmapFont::loadFont() - font did not load correctly: file: \"";
            std::cerr << fontPathname << "\"";
            std::cerr << std::endl;
        }
        std::exit(1);
    }
}
Exemplo n.º 5
0
        void testRender()
        {
            buildGLContext();

            FTGLBitmapFont* bitmapFont = new FTGLBitmapFont( FONT_FILE);            
            bitmapFont->Render(GOOD_ASCII_TEST_STRING);

            CPPUNIT_ASSERT( bitmapFont->Error() == 0);        
            CPPUNIT_ASSERT( glGetError() == GL_NO_ERROR);        

            bitmapFont->FaceSize(18);
            bitmapFont->Render(GOOD_ASCII_TEST_STRING);

            CPPUNIT_ASSERT( bitmapFont->Error() == 0);        
            CPPUNIT_ASSERT( glGetError() == GL_NO_ERROR);        
        }
Exemplo n.º 6
0
void renderStringChr(FTGLBitmapFont &f, const float &x, const float &y, const float &z, const char* s)
{
	glRasterPos3f(x, y, z);
	f.Render(s);
}