topical media & game development
lib-of-vs-apps-examples-graphicsExample-src-testApp.cpp / cpp
include <testApp.h>
//--------------------------------------------------------------
void testApp::setup(){
counter = 0;
ofSetCircleResolution(50);
ofBackground(255,255,255);
bSmooth = false;
ofSetWindowTitle("graphics example");
ofSetFrameRate(60); // if vertical sync is off, we can go a bit fast... this caps the framerate at 60fps.
}
//--------------------------------------------------------------
void testApp::update(){
counter = counter + 0.033f;
}
//--------------------------------------------------------------
void testApp::draw(){
//--------------------------- circles
//let's draw a circle:
ofSetColor(255,130,0);
float radius = 50 + 10 * sin(counter);
ofFill(); // draw "filled shapes"
ofCircle(100,400,radius);
// now just an outline
ofNoFill();
ofSetColor(0xCCCCCC);
ofCircle(100,400,80);
// use the bitMap type
// note, this can be slow on some graphics cards
// because it is using glDrawPixels which varies in
// speed from system to system. try using ofTrueTypeFont
// if this bitMap type slows you down.
ofSetColor(0x000000);
ofDrawBitmapString("circle", 75,500);
//--------------------------- rectangles
ofFill();
for (int i = 0; i < 200; i++){
ofSetColor((int)ofRandom(0,255),(int)ofRandom(0,255),(int)ofRandom(0,255));
ofRect(ofRandom(250,350),ofRandom(350,450),ofRandom(10,20),ofRandom(10,20));
}
ofSetColor(0x000000);
ofDrawBitmapString("rectangles", 275,500);
//--------------------------- transparency
ofSetColor(0x00FF33);
ofRect(400,350,100,100);
// alpha is usually turned off - for speed puposes. let's turn it on!
ofEnableAlphaBlending();
ofSetColor(255,0,0,127); // red, 50% transparent
ofRect(450,430,100,33);
ofSetColor(255,0,0,(int)(counter * 10.0f) % 255); // red, variable transparent
ofRect(450,370,100,33);
ofDisableAlphaBlending();
ofSetColor(0x000000);
ofDrawBitmapString("transparency", 410,500);
//--------------------------- lines
// a bunch of red lines, make them smooth if the flag is set
if (bSmooth){
ofEnableSmoothing();
}
ofSetColor(0xFF0000);
for (int i = 0; i < 20; i++){
ofLine(600,300 + (i*5),800, 250 + (i*10));
}
if (bSmooth){
ofDisableSmoothing();
}
ofSetColor(0x000000);
ofDrawBitmapString("lines\npress 's' to toggle smoothness", 600,500);
}
//--------------------------------------------------------------
void testApp::keyPressed (int key){
if (key == 's'){
bSmooth = !bSmooth;
}
}
//--------------------------------------------------------------
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){
}
//--------------------------------------------------------------
void testApp::mouseReleased(int x, int y, int button){
}
//--------------------------------------------------------------
void testApp::resized(int w, int h){
}
(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.