#include "include/core/SkAlphaType.h"
#include "include/core/SkBlendMode.h"
#include "include/core/SkBlender.h"
#include "include/core/SkColor.h"
#include "include/core/SkColorType.h"
#include "include/core/SkImageInfo.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkPaint.h"
#include "include/core/SkPixmap.h"
#include "include/core/SkRect.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkSurfaceProps.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkCPUTypes.h"
#include "include/private/base/SkTemplates.h"
#include "src/base/SkArenaAlloc.h"
#include "src/core/SkBlendModePriv.h"
#include "src/core/SkBlenderBase.h"
#include "src/core/SkBlitter.h"
#include "src/core/SkColorSpacePriv.h"
#include "src/core/SkColorSpaceXformSteps.h"
#include "src/core/SkEffectPriv.h"
#include "src/core/SkMask.h"
#include "src/core/SkMemset.h"
#include "src/core/SkRasterPipeline.h"
#include "src/core/SkRasterPipelineOpContexts.h"
#include "src/core/SkRasterPipelineOpList.h"
#include "src/effects/colorfilters/SkColorFilterBase.h"
#include "src/shaders/SkShaderBase.h"
#include <cstdint>
#include <cstring>
#include <functional>
#include <optional>
#include <utility>
class SkColorSpace;
class SkShader;
class SkRasterPipelineBlitter final : public SkBlitter { … };
static SkColor4f paint_color_to_dst(const SkPaint& paint, const SkPixmap& dst) { … }
SkBlitter* SkCreateRasterPipelineBlitter(const SkPixmap& dst,
const SkPaint& paint,
const SkMatrix& ctm,
SkArenaAlloc* alloc,
sk_sp<SkShader> clipShader,
const SkSurfaceProps& props) { … }
SkBlitter* SkCreateRasterPipelineBlitter(const SkPixmap& dst,
const SkPaint& paint,
const SkRasterPipeline& shaderPipeline,
bool is_opaque,
SkArenaAlloc* alloc,
sk_sp<SkShader> clipShader) { … }
SkBlitter* SkRasterPipelineBlitter::Create(const SkPixmap& dst,
const SkPaint& paint,
const SkColor4f& dstPaintColor,
SkArenaAlloc* alloc,
const SkRasterPipeline& shaderPipeline,
bool is_opaque,
bool is_constant,
const SkShader* clipShader) { … }
void SkRasterPipelineBlitter::appendLoadDst(SkRasterPipeline* p) const { … }
void SkRasterPipelineBlitter::appendStore(SkRasterPipeline* p) const { … }
void SkRasterPipelineBlitter::appendClipScale(SkRasterPipeline* p) const { … }
void SkRasterPipelineBlitter::appendClipLerp(SkRasterPipeline* p) const { … }
void SkRasterPipelineBlitter::blitH(int x, int y, int w) { … }
void SkRasterPipelineBlitter::blitRect(int x, int y, int w, int h) { … }
void SkRasterPipelineBlitter::blitRectWithTrace(int x, int y, int w, int h, bool trace) { … }
void SkRasterPipelineBlitter::blitAntiH(int x, int y, const SkAlpha aa[], const int16_t runs[]) { … }
void SkRasterPipelineBlitter::blitAntiH2(int x, int y, U8CPU a0, U8CPU a1) { … }
void SkRasterPipelineBlitter::blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) { … }
void SkRasterPipelineBlitter::blitV(int x, int y, int height, SkAlpha alpha) { … }
void SkRasterPipelineBlitter::blitMask(const SkMask& mask, const SkIRect& clip) { … }