void GrTestTarget::init(GrContext* ctx, GrDrawTarget* target) { SkASSERT(!fContext); fContext.reset(SkRef(ctx)); fDrawTarget.reset(SkRef(target)); SkNEW_IN_TLAZY(&fACR, GrDrawTarget::AutoClipRestore, (target)); SkNEW_IN_TLAZY(&fAGP, GrDrawTarget::AutoGeometryPush, (target)); }
GrGLSimpleTextureEffect(const GrBackendEffectFactory& factory, const GrDrawEffect& drawEffect) : INHERITED (factory) { GrEffect::CoordsType coordsType = drawEffect.castEffect<GrSimpleTextureEffect>().coordsType(); if (GrEffect::kCustom_CoordsType != coordsType) { SkNEW_IN_TLAZY(&fEffectMatrix, GrGLEffectMatrix, (coordsType)); } }
void GrDrawTarget::AutoStateRestore::set(GrDrawTarget* target, ASRInit init, const SkMatrix* vm) { SkASSERT(NULL == fDrawTarget); fDrawTarget = target; fSavedState = target->drawState(); SkASSERT(fSavedState); fSavedState->ref(); if (kReset_ASRInit == init) { if (NULL == vm) { // calls the default cons fTempState.init(); } else { SkNEW_IN_TLAZY(&fTempState, GrDrawState, (*vm)); } } else { SkASSERT(kPreserve_ASRInit == init); if (NULL == vm) { fTempState.set(*fSavedState); } else { SkNEW_IN_TLAZY(&fTempState, GrDrawState, (*fSavedState, *vm)); } } target->setDrawState(fTempState.get()); }