void testBadDisplayList() { buildGLContext(); FTGLExtrdFont* extrudedFont = new FTGLExtrdFont( FONT_FILE); extrudedFont->FaceSize(18); int glList = glGenLists(1); glNewList( glList, GL_COMPILE); extrudedFont->Render(GOOD_ASCII_TEST_STRING); glEndList(); CPPUNIT_ASSERT( glGetError() == GL_INVALID_OPERATION); }
void testRender() { buildGLContext(); FTGLExtrdFont* extrudedFont = new FTGLExtrdFont( FONT_FILE); extrudedFont->Render(GOOD_ASCII_TEST_STRING); CPPUNIT_ASSERT( extrudedFont->Error() == 0x97); // Invalid pixels per em CPPUNIT_ASSERT( glGetError() == GL_NO_ERROR); extrudedFont->FaceSize(18); extrudedFont->Render(GOOD_ASCII_TEST_STRING); CPPUNIT_ASSERT( extrudedFont->Error() == 0); CPPUNIT_ASSERT( glGetError() == GL_NO_ERROR); }
void testGoodDisplayList() { buildGLContext(); FTGLExtrdFont* extrudedFont = new FTGLExtrdFont( FONT_FILE); extrudedFont->FaceSize(18); extrudedFont->UseDisplayList(false); int glList = glGenLists(1); glNewList( glList, GL_COMPILE); extrudedFont->Render(GOOD_ASCII_TEST_STRING); glEndList(); CPPUNIT_ASSERT( glGetError() == GL_NO_ERROR); }
// Load FtglExtrdFont void FtglExtrdFont::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()); FTGLExtrdFont* ftglFont = new FTGLExtrdFont(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); // we'll put this here for now ftglFont->Depth(10); setFontLoaded(); } else { if (isMessageEnabled(MSG_ERROR)) { std::cerr << "FtglExtrdFont::loadFont() - font did not load correctly: file: \""; std::cerr << fontPathname << "\""; std::cerr << std::endl; } std::exit(1); } }