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); }
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); }
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); } }