1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2021 Google LLC 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 skgpu_Surface_Graphite_DEFINED 9cb93a386Sopenharmony_ci#define skgpu_Surface_Graphite_DEFINED 10cb93a386Sopenharmony_ci 11cb93a386Sopenharmony_ci#include "src/image/SkSurface_Base.h" 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_cinamespace skgpu { 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ciclass Device; 16cb93a386Sopenharmony_ci 17cb93a386Sopenharmony_ciclass Surface_Graphite final : public SkSurface_Base { 18cb93a386Sopenharmony_cipublic: 19cb93a386Sopenharmony_ci Surface_Graphite(sk_sp<Device>); 20cb93a386Sopenharmony_ci ~Surface_Graphite() override; 21cb93a386Sopenharmony_ci 22cb93a386Sopenharmony_ci SkCanvas* onNewCanvas() override; 23cb93a386Sopenharmony_ci sk_sp<SkSurface> onNewSurface(const SkImageInfo&) override; 24cb93a386Sopenharmony_ci sk_sp<SkImage> onNewImageSnapshot(const SkIRect* subset) override; 25cb93a386Sopenharmony_ci void onWritePixels(const SkPixmap&, int x, int y) override; 26cb93a386Sopenharmony_ci bool onCopyOnWrite(ContentChangeMode) override; 27cb93a386Sopenharmony_ci 28cb93a386Sopenharmony_ciprivate: 29cb93a386Sopenharmony_ci sk_sp<Device> fDevice; 30cb93a386Sopenharmony_ci}; 31cb93a386Sopenharmony_ci 32cb93a386Sopenharmony_ci} // namespace skgpu 33cb93a386Sopenharmony_ci 34cb93a386Sopenharmony_ci#endif // skgpu_Surface_Graphite_DEFINED 35