#ifndef GrDirectContextPriv_DEFINED
#define GrDirectContextPriv_DEFINED
#include "include/core/SkRefCnt.h"
#include "include/core/SkSpan.h"
#include "include/core/SkSurface.h"
#include "include/gpu/ganesh/GrContextOptions.h"
#include "include/gpu/ganesh/GrContextThreadSafeProxy.h"
#include "include/gpu/ganesh/GrDirectContext.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTArray.h"
#include "src/gpu/ganesh/GrGpu.h"
#include "src/gpu/ganesh/GrRecordingContextPriv.h"
#include <cstddef>
#include <memory>
#include <utility>
class GrAtlasManager;
class GrClientMappedBufferManager;
class GrDeferredDisplayList;
class GrFragmentProcessor;
class GrOnFlushCallbackObject;
class GrProgramDesc;
class GrProgramInfo;
class GrRenderTargetProxy;
class GrResourceCache;
class GrResourceProvider;
class GrSurfaceProxy;
class SkImage;
class SkString;
class SkTaskGroup;
enum class GrBackendApi : unsigned int;
enum class GrSemaphoresSubmitted : bool;
struct GrFlushInfo;
namespace skgpu {
class MutableTextureState;
enum class MaskFormat : int;
namespace ganesh {
class SmallPathAtlasMgr;
}
}
namespace sktext {
namespace gpu {
class StrikeCache;
}
}
class GrDirectContextPriv : public GrRecordingContextPriv { … };
inline GrDirectContextPriv GrDirectContext::priv() { … }
inline const GrDirectContextPriv GrDirectContext::priv() const { … }
#endif