topical media & game development

talk show tell print

lib-of-vs-apps-examples-fontsShapesExample-src-testApp.cpp / cpp



  include <testApp.h>
  
  int letter = '';
  
  //--------------------------------------------------------------
  void testApp::setup(){
          ofBackground(255,255,255);
  
          testFont.loadFont("Batang.ttf", 160, true, true, true);
          testFont2.loadFont("cooperBlack.ttf", 52, true, true, true);
  
          ofSetLogLevel(OF_LOG_WARNING);
  
          ofSetFullscreen(false);
  
  }
  
  //--------------------------------------------------------------
  void testApp::update(){
  
  }
  
  //--------------------------------------------------------------
  void testApp::draw(){
  
          ofSetColor(0, 90, 60);
          ofFill();
  
  //        ofBeginShape();
  //                ofVertex(100, 100);
  //                ofVertex(200, 200);
  //                ofVertex(100, 200);
  //        ofEndShape(true);
  //
          ofDrawBitmapString("fps: "+ofToString(ofGetFrameRate()), 10, 10);
          ofDrawBitmapString("press a key to see it as a texture and as a vector. ", 10, 24);
  
          testFont2.drawString("Hello - I am bitmap", 15, 400);
  
          ofFill();
          testFont2.drawStringAsShapes("Hello - I am vector", 15, 480);
          ofNoFill();
          testFont2.drawStringAsShapes("Hello - I am vector", 15, 550);
  
          //lets draw the key pressed as a tex and a vector both fill and no fill
          //here we show how easy it is to get
  
          string str = "";
          str += char(letter);
  
          testFont.drawString(str, 100, 250);
  
          //okay lets get the character back as ofPoints
          //all curves are calculated for us so all we need to do is draw!
          ofTTFCharacter testChar;
          testChar = testFont.getCharacterAsPoints(letter);
  
          ofFill();
          ofPushMatrix();
                  ofTranslate(250, 250, 0);
                  ofBeginShape();
                          for(int k = 0; k <testChar.contours.size(); k++){
                                  if( k!= 0)ofNextContour(true);
                                  for(int i = 0; i < testChar.contours[k].pts.size(); i++){
                                          ofVertex(testChar.contours[k].pts[i].x, testChar.contours[k].pts[i].y);
                                  }
                          }
                  ofEndShape( true );
          ofPopMatrix();
  
          ofNoFill();
          ofPushMatrix();
                  ofTranslate(400, 250, 0);
                  ofBeginShape();
                          for(int k = 0; k <testChar.contours.size(); k++){
                                  if( k!= 0)ofNextContour(true);
                                  for(int i = 0; i < testChar.contours[k].pts.size(); i++){
                                          ofVertex(testChar.contours[k].pts[i].x, testChar.contours[k].pts[i].y);
                                  }
                          }
                  ofEndShape( true );
          ofPopMatrix();
  
  }
  
  //--------------------------------------------------------------
  void testApp::keyPressed  (int key){
          letter = key;
          if( key == 'f')ofToggleFullscreen();
  }
  
  //--------------------------------------------------------------
  void testApp::keyReleased  (int key){
  }
  
  //--------------------------------------------------------------
  void testApp::mouseMoved(int x, int y ){
  }
  
  //--------------------------------------------------------------
  void testApp::mouseDragged(int x, int y, int button){
  }
  
  //--------------------------------------------------------------
  void testApp::mousePressed(int x, int y, int button){
          ofHideCursor();
  }
  
  //--------------------------------------------------------------
  void testApp::mouseReleased(){
  
  }
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.