Index: src/gpu/GrTest.cpp |
diff --git a/src/gpu/GrTest.cpp b/src/gpu/GrTest.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..934f089f3d6dce70bc850cbe24c56faeaccc1811 |
--- /dev/null |
+++ b/src/gpu/GrTest.cpp |
@@ -0,0 +1,37 @@ |
+ |
+/* |
+ * Copyright 2013 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#include "GrTest.h" |
+ |
+#include "GrGpu.h" |
+ |
+void GrTestTarget::init(GrContext* ctx, GrDrawTarget* target) { |
+ SkASSERT(!fContext); |
+ |
+ fContext.reset(SkRef(ctx)); |
+ fDrawTarget.reset(SkRef(target)); |
+ |
+ SkNEW_IN_TLAZY(&fASR, GrDrawTarget::AutoStateRestore, (target, GrDrawTarget::kReset_ASRInit)); |
+ SkNEW_IN_TLAZY(&fACR, GrDrawTarget::AutoClipRestore, (target)); |
+ SkNEW_IN_TLAZY(&fAGP, GrDrawTarget::AutoGeometryPush, (target)); |
+} |
+ |
+void GrContext::getTestTarget(GrTestTarget* tar) { |
+ this->flush(); |
+ // We could create a proxy GrDrawTarget that passes through to fGpu until ~GrTextTarget() and |
+ // then disconnects. This would help prevent test writers from mixing using the returned |
+ // GrDrawTarget and regular drawing. We could also assert or fail in GrContext drawing methods |
+ // until ~GrTestTarget(). |
+ tar->init(this, fGpu); |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
+ |
+void GrContext::setMaxTextureSizeOverride(int maxTextureSizeOverride) { |
+ fMaxTextureSizeOverride = maxTextureSizeOverride; |
+} |