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