aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/gpu/GrContext.h77
-rw-r--r--src/gpu/GrContext.cpp6
-rw-r--r--src/gpu/SkGpuDevice.cpp10
3 files changed, 46 insertions, 47 deletions
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
index d718637e04..8f7378f664 100644
--- a/include/gpu/GrContext.h
+++ b/include/gpu/GrContext.h
@@ -662,6 +662,44 @@ public:
GrRenderTarget* fPrevTarget;
};
+ /**
+ * Save/restore the view-matrix in the context.
+ */
+ class AutoMatrix : GrNoncopyable {
+ public:
+ AutoMatrix() : fContext(NULL) {}
+ AutoMatrix(GrContext* ctx) : fContext(ctx) {
+ fMatrix = ctx->getMatrix();
+ }
+ AutoMatrix(GrContext* ctx, const GrMatrix& matrix) : fContext(ctx) {
+ fMatrix = ctx->getMatrix();
+ ctx->setMatrix(matrix);
+ }
+ void set(GrContext* ctx) {
+ if (NULL != fContext) {
+ fContext->setMatrix(fMatrix);
+ }
+ fMatrix = ctx->getMatrix();
+ fContext = ctx;
+ }
+ void set(GrContext* ctx, const GrMatrix& matrix) {
+ if (NULL != fContext) {
+ fContext->setMatrix(fMatrix);
+ }
+ fMatrix = ctx->getMatrix();
+ ctx->setMatrix(matrix);
+ fContext = ctx;
+ }
+ ~AutoMatrix() {
+ if (NULL != fContext) {
+ fContext->setMatrix(fMatrix);
+ }
+ }
+
+ private:
+ GrContext* fContext;
+ GrMatrix fMatrix;
+ };
///////////////////////////////////////////////////////////////////////////
// Functions intended for internal use only.
@@ -782,45 +820,6 @@ private:
};
/**
- * Save/restore the view-matrix in the context.
- */
-class GrAutoMatrix : GrNoncopyable {
-public:
- GrAutoMatrix() : fContext(NULL) {}
- GrAutoMatrix(GrContext* ctx) : fContext(ctx) {
- fMatrix = ctx->getMatrix();
- }
- GrAutoMatrix(GrContext* ctx, const GrMatrix& matrix) : fContext(ctx) {
- fMatrix = ctx->getMatrix();
- ctx->setMatrix(matrix);
- }
- void set(GrContext* ctx) {
- if (NULL != fContext) {
- fContext->setMatrix(fMatrix);
- }
- fMatrix = ctx->getMatrix();
- fContext = ctx;
- }
- void set(GrContext* ctx, const GrMatrix& matrix) {
- if (NULL != fContext) {
- fContext->setMatrix(fMatrix);
- }
- fMatrix = ctx->getMatrix();
- ctx->setMatrix(matrix);
- fContext = ctx;
- }
- ~GrAutoMatrix() {
- if (NULL != fContext) {
- fContext->setMatrix(fMatrix);
- }
- }
-
-private:
- GrContext* fContext;
- GrMatrix fMatrix;
-};
-
-/**
* Gets and locks a scratch texture from a descriptor using
* either exact or approximate criteria. Unlocks texture in
* the destructor.
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index 6e92bf7a24..a1e41618ed 100644
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -643,7 +643,7 @@ void GrContext::drawPaint(const GrPaint& paint) {
GrMatrix inverse;
SkTLazy<GrPaint> tmpPaint;
const GrPaint* p = &paint;
- GrAutoMatrix am;
+ AutoMatrix am;
// We attempt to map r by the inverse matrix and draw that. mapRect will
// map the four corners and bound them with a new rect. This will not
@@ -1824,7 +1824,7 @@ GrTexture* GrContext::gaussianBlur(GrTexture* srcTexture,
GrRenderTarget* oldRenderTarget = this->getRenderTarget();
GrClip oldClip = this->getClip();
GrTexture* origTexture = srcTexture;
- GrAutoMatrix avm(this, GrMatrix::I());
+ AutoMatrix avm(this, GrMatrix::I());
SkIRect clearRect;
int scaleFactorX, radiusX;
int scaleFactorY, radiusY;
@@ -1949,7 +1949,7 @@ GrTexture* GrContext::applyMorphology(GrTexture* srcTexture,
SkISize radius) {
ASSERT_OWNED_RESOURCE(srcTexture);
GrRenderTarget* oldRenderTarget = this->getRenderTarget();
- GrAutoMatrix avm(this, GrMatrix::I());
+ AutoMatrix avm(this, GrMatrix::I());
GrClip oldClip = this->getClip();
GrClip newClip(GrRect::MakeWH(SkIntToScalar(srcTexture->width()),
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 4e009ee731..c731999dba 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -822,7 +822,7 @@ bool drawWithGPUMaskFilter(GrContext* context, const SkPath& path,
GrPaint tempPaint;
tempPaint.reset();
- GrAutoMatrix avm(context, GrMatrix::I());
+ GrContext::AutoMatrix avm(context, GrMatrix::I());
tempPaint.fAntiAlias = grp->fAntiAlias;
if (tempPaint.fAntiAlias) {
// AA uses the "coverage" stages on GrDrawTarget. Coverage with a dst
@@ -929,7 +929,7 @@ bool drawWithMaskFilter(GrContext* context, const SkPath& path,
// used to compute inverse view, if necessary
GrMatrix ivm = matrix;
- GrAutoMatrix avm(context, GrMatrix::I());
+ GrContext::AutoMatrix avm(context, GrMatrix::I());
GrTextureDesc desc;
desc.fWidth = dstM.fBounds.width();
@@ -1435,7 +1435,7 @@ void apply_custom_stage(GrContext* context,
const GrRect& rect,
GrCustomStage* stage) {
SkASSERT(srcTexture && srcTexture->getContext() == context);
- GrAutoMatrix avm(context, GrMatrix::I());
+ GrContext::AutoMatrix avm(context, GrMatrix::I());
GrContext::AutoRenderTarget art(context, dstTexture->asRenderTarget());
GrClip oldClip = context->getClip();
@@ -1516,7 +1516,7 @@ void SkGpuDevice::drawSprite(const SkDraw& draw, const SkBitmap& bitmap,
return;
}
- GrAutoMatrix avm(fContext, GrMatrix::I());
+ GrContext::AutoMatrix avm(fContext, GrMatrix::I());
GrSamplerState* sampler = grPaint.textureSampler(kBitmapTextureIdx);
@@ -1582,7 +1582,7 @@ void SkGpuDevice::drawDevice(const SkDraw& draw, SkDevice* device,
int w = bm.width();
int h = bm.height();
- GrAutoMatrix avm(fContext, GrMatrix::I());
+ GrContext::AutoMatrix avm(fContext, GrMatrix::I());
grPaint.textureSampler(kBitmapTextureIdx)->reset();