1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Copyright 2021 Google Inc. 3*c8dee2aaSAndroid Build Coastguard Worker * 4*c8dee2aaSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker * found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker */ 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker #ifndef GrMockSurfaceProxy_DEFINED 9*c8dee2aaSAndroid Build Coastguard Worker #define GrMockSurfaceProxy_DEFINED 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkRefCnt.h" 12*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkSize.h" 13*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkString.h" 14*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkTextureCompressionType.h" 15*c8dee2aaSAndroid Build Coastguard Worker #include "include/gpu/GpuTypes.h" 16*c8dee2aaSAndroid Build Coastguard Worker #include "include/gpu/ganesh/GrBackendSurface.h" 17*c8dee2aaSAndroid Build Coastguard Worker #include "include/private/base/SkAssert.h" 18*c8dee2aaSAndroid Build Coastguard Worker #include "include/private/base/SkDebug.h" 19*c8dee2aaSAndroid Build Coastguard Worker #include "include/private/gpu/ganesh/GrTypesPriv.h" 20*c8dee2aaSAndroid Build Coastguard Worker #include "src/gpu/SkBackingFit.h" 21*c8dee2aaSAndroid Build Coastguard Worker #include "src/gpu/ganesh/GrSurfaceProxy.h" 22*c8dee2aaSAndroid Build Coastguard Worker 23*c8dee2aaSAndroid Build Coastguard Worker #include <cstddef> 24*c8dee2aaSAndroid Build Coastguard Worker #include <string_view> 25*c8dee2aaSAndroid Build Coastguard Worker #include <utility> 26*c8dee2aaSAndroid Build Coastguard Worker 27*c8dee2aaSAndroid Build Coastguard Worker class GrResourceProvider; 28*c8dee2aaSAndroid Build Coastguard Worker class GrSurface; 29*c8dee2aaSAndroid Build Coastguard Worker 30*c8dee2aaSAndroid Build Coastguard Worker class GrMockSurfaceProxy : public GrSurfaceProxy { 31*c8dee2aaSAndroid Build Coastguard Worker public: GrMockSurfaceProxy(SkString name,std::string_view label)32*c8dee2aaSAndroid Build Coastguard Worker GrMockSurfaceProxy(SkString name, std::string_view label) 33*c8dee2aaSAndroid Build Coastguard Worker : GrSurfaceProxy(GrBackendFormat::MakeMock(GrColorType::kRGBA_8888, 34*c8dee2aaSAndroid Build Coastguard Worker SkTextureCompressionType::kNone), 35*c8dee2aaSAndroid Build Coastguard Worker SkISize::Make(1, 1), 36*c8dee2aaSAndroid Build Coastguard Worker SkBackingFit::kExact, 37*c8dee2aaSAndroid Build Coastguard Worker skgpu::Budgeted::kNo, 38*c8dee2aaSAndroid Build Coastguard Worker skgpu::Protected::kNo, 39*c8dee2aaSAndroid Build Coastguard Worker GrInternalSurfaceFlags::kNone, 40*c8dee2aaSAndroid Build Coastguard Worker UseAllocator::kNo, 41*c8dee2aaSAndroid Build Coastguard Worker label) { 42*c8dee2aaSAndroid Build Coastguard Worker SkDEBUGCODE(this->setDebugName(std::move(name))); 43*c8dee2aaSAndroid Build Coastguard Worker } 44*c8dee2aaSAndroid Build Coastguard Worker instantiate(GrResourceProvider *)45*c8dee2aaSAndroid Build Coastguard Worker bool instantiate(GrResourceProvider*) override { return false; } SkDEBUGCODE(void onValidateSurface (const GrSurface *)override{} )46*c8dee2aaSAndroid Build Coastguard Worker SkDEBUGCODE(void onValidateSurface(const GrSurface*) override {} ) 47*c8dee2aaSAndroid Build Coastguard Worker size_t onUninstantiatedGpuMemorySize() const override { return 0; } 48*c8dee2aaSAndroid Build Coastguard Worker 49*c8dee2aaSAndroid Build Coastguard Worker protected: createSurface(GrResourceProvider *)50*c8dee2aaSAndroid Build Coastguard Worker sk_sp<GrSurface> createSurface(GrResourceProvider*) const override { return nullptr; } 51*c8dee2aaSAndroid Build Coastguard Worker 52*c8dee2aaSAndroid Build Coastguard Worker private: callbackDesc()53*c8dee2aaSAndroid Build Coastguard Worker LazySurfaceDesc callbackDesc() const override { SkUNREACHABLE; } 54*c8dee2aaSAndroid Build Coastguard Worker }; 55*c8dee2aaSAndroid Build Coastguard Worker 56*c8dee2aaSAndroid Build Coastguard Worker #endif 57