#include "include/utils/SkCanvasStateUtils.h"
#include "include/core/SkAlphaType.h"
#include "include/core/SkBitmap.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkColorType.h"
#include "include/core/SkImageInfo.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkPixmap.h"
#include "include/core/SkPoint.h"
#include "include/core/SkRect.h"
#include "include/core/SkSize.h"
#include "include/private/base/SkMalloc.h"
#include "src/core/SkDevice.h"
#include "src/core/SkWriter32.h"
#include "src/utils/SkCanvasStack.h"
#include <cstddef>
#include <cstdint>
#include <utility>
enum RasterConfigs { … };
RasterConfig;
enum CanvasBackends { … };
CanvasBackend;
struct ClipRect { … };
struct SkMCState { … };
struct SkCanvasLayerState { … };
class SkCanvasState { … };
class SkCanvasState_v1 : public SkCanvasState { … };
static void setup_MC_state(SkMCState* state, const SkMatrix& matrix, const SkIRect& clip) { … }
SkCanvasState* SkCanvasStateUtils::CaptureCanvasState(SkCanvas* canvas) { … }
static void setup_canvas_from_MC_state(const SkMCState& state, SkCanvas* canvas) { … }
static std::unique_ptr<SkCanvas>
make_canvas_from_canvas_layer(const SkCanvasLayerState& layerState) { … }
std::unique_ptr<SkCanvas> SkCanvasStateUtils::MakeFromCanvasState(const SkCanvasState* state) { … }
void SkCanvasStateUtils::ReleaseCanvasState(SkCanvasState* state) { … }