#include "src/shaders/gradients/SkSweepGradient.h"
#include "include/core/SkColor.h"
#include "include/core/SkColorSpace.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkShader.h"
#include "include/core/SkTileMode.h"
#include "include/effects/SkGradientShader.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkFloatingPoint.h"
#include "include/private/base/SkTArray.h"
#include "src/core/SkRasterPipeline.h"
#include "src/core/SkRasterPipelineOpList.h"
#include "src/core/SkReadBuffer.h"
#include "src/core/SkWriteBuffer.h"
#include "src/shaders/SkShaderBase.h"
#include "src/shaders/gradients/SkGradientBaseShader.h"
#include <cstdint>
#include <tuple>
#include <utility>
class SkArenaAlloc;
SkSweepGradient::SkSweepGradient(const SkPoint& center,
SkScalar t0,
SkScalar t1,
const Descriptor& desc)
: … { … }
SkShaderBase::GradientType SkSweepGradient::asGradient(GradientInfo* info,
SkMatrix* localMatrix) const { … }
static std::tuple<SkScalar, SkScalar> angles_from_t_coeff(SkScalar tBias, SkScalar tScale) { … }
sk_sp<SkFlattenable> SkSweepGradient::CreateProc(SkReadBuffer& buffer) { … }
void SkSweepGradient::flatten(SkWriteBuffer& buffer) const { … }
void SkSweepGradient::appendGradientStages(SkArenaAlloc* alloc, SkRasterPipeline* p,
SkRasterPipeline*) const { … }
sk_sp<SkShader> SkGradientShader::MakeSweep(SkScalar cx, SkScalar cy,
const SkColor4f colors[],
sk_sp<SkColorSpace> colorSpace,
const SkScalar pos[],
int colorCount,
SkTileMode mode,
SkScalar startAngle,
SkScalar endAngle,
const Interpolation& interpolation,
const SkMatrix* localMatrix) { … }
sk_sp<SkShader> SkGradientShader::MakeSweep(SkScalar cx, SkScalar cy,
const SkColor colors[],
const SkScalar pos[],
int colorCount,
SkTileMode mode,
SkScalar startAngle,
SkScalar endAngle,
uint32_t flags,
const SkMatrix* localMatrix) { … }
void SkRegisterSweepGradientShaderFlattenable() { … }