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/ganesh/GrSurfaceProxy.h" 12 13 class GrMockSurfaceProxy : public GrSurfaceProxy { 14 public: GrMockSurfaceProxy(SkString name,std::string_view label)15 GrMockSurfaceProxy(SkString name, std::string_view label) 16 : GrSurfaceProxy(GrBackendFormat::MakeMock(GrColorType::kRGBA_8888, 17 SkImage::CompressionType::kNone), 18 SkISize::Make(1, 1), 19 SkBackingFit::kExact, 20 skgpu::Budgeted::kNo, 21 GrProtected::kNo, 22 GrInternalSurfaceFlags::kNone, 23 UseAllocator::kNo, 24 label) { 25 SkDEBUGCODE(this->setDebugName(std::move(name))); 26 } 27 instantiate(GrResourceProvider *)28 bool instantiate(GrResourceProvider*) override { return false; } SkDEBUGCODE(void onValidateSurface (const GrSurface *)override{} )29 SkDEBUGCODE(void onValidateSurface(const GrSurface*) override {} ) 30 size_t onUninstantiatedGpuMemorySize() const override { return 0; } 31 32 protected: createSurface(GrResourceProvider *)33 sk_sp<GrSurface> createSurface(GrResourceProvider*) const override { return nullptr; } 34 35 private: callbackDesc()36 LazySurfaceDesc callbackDesc() const override { SkUNREACHABLE; } 37 }; 38 39 #endif 40