1 2 /* 3 * Copyright 2013 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 #include "GrTest.h" 10 11 #include "GrGpu.h" 12 13 void GrTestTarget::init(GrContext* ctx, GrDrawTarget* target) { 14 SkASSERT(!fContext); 15 16 fContext.reset(SkRef(ctx)); 17 fDrawTarget.reset(SkRef(target)); 18 19 SkNEW_IN_TLAZY(&fASR, GrDrawTarget::AutoStateRestore, (target, GrDrawTarget::kReset_ASRInit)); 20 SkNEW_IN_TLAZY(&fACR, GrDrawTarget::AutoClipRestore, (target)); 21 SkNEW_IN_TLAZY(&fAGP, GrDrawTarget::AutoGeometryPush, (target)); 22 } 23 24 void GrContext::getTestTarget(GrTestTarget* tar) { 25 this->flush(); 26 // We could create a proxy GrDrawTarget that passes through to fGpu until ~GrTextTarget() and 27 // then disconnects. This would help prevent test writers from mixing using the returned 28 // GrDrawTarget and regular drawing. We could also assert or fail in GrContext drawing methods 29 // until ~GrTestTarget(). 30 tar->init(this, fGpu); 31 } 32 33 /////////////////////////////////////////////////////////////////////////////// 34 35 void GrContext::setMaxTextureSizeOverride(int maxTextureSizeOverride) { 36 fMaxTextureSizeOverride = maxTextureSizeOverride; 37 } 38