diff --git a/src/bitmap.cpp b/src/bitmap.cpp index 353bfa9..909e11e 100644 --- a/src/bitmap.cpp +++ b/src/bitmap.cpp @@ -1045,6 +1045,11 @@ void Bitmap::bindTex(ShaderBase &shader) p->bindTexture(shader); } +void Bitmap::taintArea(const IntRect &rect) +{ + p->addTaintedArea(rect); +} + void Bitmap::releaseResources() { if (p->megaSurface) diff --git a/src/bitmap.h b/src/bitmap.h index 0ac418b..72048b1 100644 --- a/src/bitmap.h +++ b/src/bitmap.h @@ -116,6 +116,9 @@ public: * texture size uniform in shader */ void bindTex(ShaderBase &shader); + /* Adds 'rect' to tainted area */ + void taintArea(const IntRect &rect); + sigc::signal modified; private: diff --git a/src/graphics.cpp b/src/graphics.cpp index 22236ff..fa769d7 100644 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -779,6 +779,9 @@ Bitmap *Graphics::snapToBitmap() p->compositeToBuffer(bitmap->getGLTypes().fbo); + /* Taint entire bitmap */ + bitmap->taintArea(IntRect(0, 0, width(), height())); + return bitmap; }