1/* 2 * Copyright 2021 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8#ifndef GrMockSurfaceProxy_DEFINED 9#define GrMockSurfaceProxy_DEFINED 10 11#include "src/gpu/GrSurfaceProxy.h" 12 13class GrMockSurfaceProxy : public GrSurfaceProxy { 14public: 15 GrMockSurfaceProxy(SkString name) : GrSurfaceProxy( 16 GrBackendFormat::MakeMock(GrColorType::kRGBA_8888, SkImage::CompressionType::kNone), 17 SkISize::Make(1, 1), 18 SkBackingFit::kExact, 19 SkBudgeted::kNo, 20 GrProtected::kNo, 21 GrInternalSurfaceFlags::kNone, 22 UseAllocator::kNo) { 23 SkDEBUGCODE(this->setDebugName(std::move(name))); 24 } 25 26 bool instantiate(GrResourceProvider*) override { return false; } 27 SkDEBUGCODE(void onValidateSurface(const GrSurface*) override {} ) 28 size_t onUninstantiatedGpuMemorySize() const override { return 0; } 29 30protected: 31 sk_sp<GrSurface> createSurface(GrResourceProvider*) const override { return nullptr; } 32 33private: 34 LazySurfaceDesc callbackDesc() const override { SkUNREACHABLE; } 35}; 36 37#endif 38