chromium/third_party/skia/src/gpu/ganesh/GrRecordingContextPriv.h

/*
 * Copyright 2019 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */
#ifndef GrRecordingContextPriv_DEFINED
#define GrRecordingContextPriv_DEFINED

#include "include/core/SkRefCnt.h"
#include "include/core/SkTypes.h"
#include "include/gpu/GpuTypes.h"
#include "include/gpu/ganesh/GrRecordingContext.h"
#include "include/gpu/ganesh/GrTypes.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkTArray.h"
#include "src/gpu/SkBackingFit.h"
#include "src/gpu/ganesh/Device.h"
#include "src/gpu/ganesh/GrColorInfo.h"
#include "src/gpu/ganesh/GrImageContextPriv.h"
#include "src/text/gpu/SubRunControl.h"

#include <memory>
#include <string_view>

class GrAuditTrail;
class GrBackendFormat;
class GrBackendTexture;
class GrContextThreadSafeProxy;
class GrDeferredDisplayList;
class GrDrawingManager;
class GrImageInfo;
class GrOnFlushCallbackObject;
class GrProgramInfo;
class GrProxyProvider;
class GrSurfaceProxy;
class GrSurfaceProxyView;
class GrThreadSafeCache;
class SkArenaAlloc;
class SkColorSpace;
class SkSurfaceProps;
enum SkAlphaType : int;
enum class GrColorType;
struct SkISize;
struct SkImageInfo;

namespace skgpu {
class Swizzle;
class RefCntedCallback;

namespace ganesh {
class SurfaceContext;
class SurfaceFillContext;
}  // namespace ganesh
}  // namespace skgpu

namespace sktext::gpu {
class SubRunAllocator;
class TextBlobRedrawCoordinator;
}  // namespace sktext::gpu

/** Class that exposes methods on GrRecordingContext that are only intended for use internal to
    Skia. This class is purely a privileged window into GrRecordingContext. It should never have
    additional data members or virtual methods. */
class GrRecordingContextPriv : public GrImageContextPriv {};

inline GrRecordingContextPriv GrRecordingContext::priv() {}

inline const GrRecordingContextPriv GrRecordingContext::priv () const {}

#endif