Browse Source

Add alternative surface adding methods

master
Krisjanis Rijnieks 11 years ago
parent
commit
79b21aa16f
  1. 5
      example/src/ofApp.cpp
  2. 7
      src/ofxBaseSurface.cpp
  3. 1
      src/ofxBaseSurface.h
  4. 29
      src/ofxSurfaceManager.cpp
  5. 6
      src/ofxSurfaceManager.h

5
example/src/ofApp.cpp

@ -6,7 +6,10 @@ void ofApp::setup()
bShowInfo = false;
surfaceManager.addSurface();
surfaceManager.addSurface();
surfaceManager.addSurface( &image.getTextureReference() );
surfaceManager.addSurface(ofVec2f(10,10), ofVec2f(300, 20), ofVec2f(200, 300),
ofVec2f(0.1f, 0.1f), ofVec2f(0.5f, 0.2f), ofVec2f(0.4f, 0.9f),
&image.getTextureReference());
}
void ofApp::update()

7
src/ofxBaseSurface.cpp

@ -38,7 +38,7 @@ void ofxBaseSurface::createDefaultTexture()
texture = &defaultTexture;
}
void ofxBaseSurface::drawTexture(ofVec2f position)
void ofxBaseSurface::drawTexture(ofVec2f position)
{
ofMesh texMesh;
texMesh.addVertex(position);
@ -56,6 +56,11 @@ void ofxBaseSurface::drawTexture(ofVec2f position)
texture->unbind();
}
void ofxBaseSurface::setTexture(ofTexture *texturePtr)
{
texture = texturePtr;
}
ofTexture* ofxBaseSurface::getTexture()
{
return texture;

1
src/ofxBaseSurface.h

@ -14,6 +14,7 @@ public:
// Draws a texture using ofMesh
void drawTexture(ofVec2f position);
void setTexture(ofTexture* texturePtr);
ofTexture* getTexture();

29
src/ofxSurfaceManager.cpp

@ -109,6 +109,23 @@ void ofxSurfaceManager::addSurface()
addTriangleSurface();
}
void ofxSurfaceManager::addSurface(ofTexture* texturePtr)
{
addTriangleSurface(texturePtr);
}
void ofxSurfaceManager::addSurface(ofVec2f v1, ofVec2f v2, ofVec2f v3, ofVec2f t1, ofVec2f t2, ofVec2f t3)
{
addTriangleSurface(v1, v2, v3, t1, t2, t3);
}
void ofxSurfaceManager::addSurface(ofVec2f v1, ofVec2f v2, ofVec2f v3,
ofVec2f t1, ofVec2f t2, ofVec2f t3,
ofTexture *texturePtr)
{
addTriangleSurface(v1, v2, v3, t1, t2, t3, texturePtr);
}
void ofxSurfaceManager::removeSurface(int index)
{
if ( index >= surfaceGuis.size() ) {
@ -157,6 +174,18 @@ void ofxSurfaceManager::addTriangleSurface()
surfaceGuis.back()->setup( *triangleSurfaces.back() );
}
void ofxSurfaceManager::addTriangleSurface(ofTexture* texturePtr)
{
addTriangleSurface();
triangleSurfaces.back()->setTexture(texturePtr);
}
void ofxSurfaceManager::addTriangleSurface(ofVec2f v1, ofVec2f v2, ofVec2f v3, ofVec2f t1, ofVec2f t2, ofVec2f t3)
{
addTriangleSurface();
triangleSurfaces.back()->setup(v1, v2, v3, t1, t2, t3, triangleSurfaces.back()->getTexture());
}
void ofxSurfaceManager::addTriangleSurface(ofVec2f v1, ofVec2f v2, ofVec2f v3, ofVec2f t1, ofVec2f t2, ofVec2f t3, ofTexture* texturePtr)
{
addTriangleSurface();

6
src/ofxSurfaceManager.h

@ -20,6 +20,10 @@ public:
void mouseDragged(int x, int y, int button);
void addSurface();
void addSurface(ofTexture* texturePtr);
void addSurface(ofVec2f v1, ofVec2f v2, ofVec2f v3, ofVec2f t1, ofVec2f t2, ofVec2f t3);
void addSurface(ofVec2f v1, ofVec2f v2, ofVec2f v3, ofVec2f t1, ofVec2f t2, ofVec2f t3, ofTexture* texturePtr);
void removeSurface(int index);
void setGuiMode(ofxSurfaceGui::editMode);
void selectSurface(int index);
@ -31,6 +35,8 @@ private:
deque<ofxSurfaceGui*> surfaceGuis;
void addTriangleSurface();
void addTriangleSurface(ofTexture* texturePtr);
void addTriangleSurface(ofVec2f v1, ofVec2f v2, ofVec2f v3, ofVec2f t1, ofVec2f t2, ofVec2f t3);
void addTriangleSurface(ofVec2f v1, ofVec2f v2, ofVec2f v3, ofVec2f t1, ofVec2f t2, ofVec2f t3, ofTexture* texturePtr);
};

Loading…
Cancel
Save