Created
July 9, 2010 22:05
-
-
Save sansumbrella/470142 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "cinder/app/AppBasic.h" | |
#include "cinder/ImageIo.h" | |
#include "cinder/Utilities.h" | |
#include <vector> | |
using namespace ci; | |
using namespace ci::app; | |
using std::vector; | |
class CopySurfaceApp : public AppBasic { | |
public: | |
void prepareSettings(Settings *settings); | |
void setup(); | |
void update(); | |
void draw(); | |
void shutdown(); | |
void keyDown( KeyEvent event ); | |
void mouseDrag( MouseEvent event ); | |
void fileDrop( FileDropEvent event ); | |
private: | |
vector<Vec2i> mCircles; | |
bool mDoSave; | |
float mCircleRadius; | |
}; | |
void CopySurfaceApp::prepareSettings(Settings *settings) | |
{ | |
settings->setWindowSize(1920,1080); | |
settings->setTitle("CopySurface"); | |
} | |
void CopySurfaceApp::setup() | |
{ | |
mDoSave = false; | |
int rows = 10; | |
int columns = 20; | |
mCircleRadius = 0.5 * getWindowHeight()/rows; | |
for( int x = 0; x != columns; ++x ) { | |
for (int y=0; y != rows; ++y) { | |
mCircles.push_back( Vec2i( (x+0.5) * mCircleRadius * 2, (y+0.5) * mCircleRadius * 2 ) ); | |
} | |
} | |
} | |
void CopySurfaceApp::update() | |
{ | |
} | |
void CopySurfaceApp::draw() | |
{ | |
gl::clear( Color::white() ); | |
gl::color( Color( CM_HSV, fmod(getElapsedSeconds(),8.0)/8.0, 1.0, 1.0 ) ); | |
for (vector<Vec2i>::iterator pos = mCircles.begin(); pos != mCircles.end(); ++pos) { | |
gl::drawSolidCircle( *pos, mCircleRadius ); | |
} | |
if( mDoSave ) | |
{ | |
//gl::drawString( "Saving Images" ); | |
writeImage( "../test/"+toString<int>(getElapsedFrames()) + ".png", copyWindowSurface() ); | |
} else { | |
//gl::drawString( "Only Copying Screen" ); | |
copyWindowSurface(); | |
} | |
} | |
void CopySurfaceApp::mouseDrag( MouseEvent event ) | |
{ | |
} | |
void CopySurfaceApp::keyDown( KeyEvent event ) | |
{ | |
switch( event.getChar() ){ | |
case 's': | |
mDoSave = !mDoSave; | |
break; | |
default: | |
break; | |
} | |
} | |
void CopySurfaceApp::fileDrop( FileDropEvent event ) | |
{ | |
} | |
void CopySurfaceApp::shutdown() | |
{ | |
} | |
// This line tells Cinder to actually create the application | |
CINDER_APP_BASIC( CopySurfaceApp, RendererGl ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment