945 {
947#if defined(SK_GRAPHITE)
949#endif
950
952 if (fUseSubset) {
953 cellWidth *= 1.5f;
954 cellHeight *= 1.5f;
955 }
956
959
961 if (fUseSubset) {
963
964
968 }
969
976
978 }
979
980 for (int opaque : { 0, 1 }) {
982
984
985 canvas->
drawImageRect(fOriginalBMs[opaque].asImage(), srcRect, dstRect,
988
991 if (fUseTargetColorSpace && fImages[opaque][cs][
format]) {
992
993
994
996#if defined(SK_GRAPHITE)
997 if (recorder) {
999 recorder, fTargetColorSpace, {});
1000 } else
1001#endif
1002 {
1004 direct, fTargetColorSpace);
1005 }
1007 &
paint, constraint);
1008 } else {
1011 }
1013 }
1014
1016 }
1017 }
1018 }
static GrDirectContext * GrAsDirectContext(GrContext_Base *base)
@ kIdentity_SkYUVColorSpace
maps Y->R, U->G, V->B
virtual GrRecordingContext * recordingContext() const
virtual skgpu::graphite::Recorder * recorder() const
@ kStrict_SrcRectConstraint
sample only inside bounds; slower
@ kFast_SrcRectConstraint
sample outside bounds; faster
void drawImageRect(const SkImage *, const SkRect &src, const SkRect &dst, const SkSamplingOptions &, const SkPaint *, SrcRectConstraint)
virtual sk_sp< SkImage > makeColorSpace(GrDirectContext *direct, sk_sp< SkColorSpace > target) const =0
SkSamplingOptions sampling
SkSamplingOptions(SkFilterMode::kLinear))
static constexpr SkCubicResampler Mitchell()
static SkRect Make(const SkISize &size)
void offsetTo(float newX, float newY)
SkScalar fBottom
larger y-axis bounds
void inset(float dx, float dy)
SkScalar fLeft
smaller x-axis bounds
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)
SkScalar fRight
larger x-axis bounds
void offset(float dx, float dy)
constexpr float height() const
constexpr float width() const
SkScalar fTop
smaller y-axis bounds