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; bShowInfo = false;
surfaceManager.addSurface(); 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() void ofApp::update()

7
src/ofxBaseSurface.cpp

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

1
src/ofxBaseSurface.h

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

29
src/ofxSurfaceManager.cpp

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

6
src/ofxSurfaceManager.h

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

Loading…
Cancel
Save