#ifndef SkSurface_Base_DEFINED
#define SkSurface_Base_DEFINED
#include "include/core/SkCanvas.h"
#include "include/core/SkImage.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkSamplingOptions.h"
#include "include/core/SkScalar.h"
#include "include/core/SkSurface.h"
#include "include/core/SkTypes.h"
#include <cstdint>
#include <memory>
class GrBackendSemaphore;
class GrBackendTexture;
class GrRecordingContext;
class SkCapabilities;
class SkColorSpace;
class SkPaint;
class SkPixmap;
class GrSurfaceCharacterization;
class SkSurfaceProps;
enum GrSurfaceOrigin : int;
enum SkYUVColorSpace : int;
namespace skgpu { namespace graphite { class Recorder; } }
struct SkIRect;
struct SkISize;
struct SkImageInfo;
class SkSurface_Base : public SkSurface { … };
SkCanvas* SkSurface_Base::getCachedCanvas() { … }
sk_sp<SkImage> SkSurface_Base::refCachedImage() { … }
static inline SkSurface_Base* asSB(SkSurface* surface) { … }
static inline const SkSurface_Base* asConstSB(const SkSurface* surface) { … }
#endif