Lines Matching defs:desc
126 SkGradientShaderBase::SkGradientShaderBase(const Descriptor& desc, const SkMatrix& ptsToUnit)
127 : INHERITED(desc.fLocalMatrix)
129 , fColorSpace(desc.fColorSpace ? desc.fColorSpace : SkColorSpace::MakeSRGB())
133 SkASSERT(desc.fCount > 1);
135 fGradFlags = static_cast<uint8_t>(desc.fGradFlags);
137 SkASSERT((unsigned)desc.fTileMode < kSkTileModeCount);
138 fTileMode = desc.fTileMode;
151 fColorCount = desc.fCount;
155 if (desc.fPos) {
156 needsFirst = desc.fPos[0] != 0;
157 needsLast = desc.fPos[desc.fCount - 1] != SK_Scalar1;
161 size_t storageSize = fColorCount * (sizeof(SkColor4f) + (desc.fPos ? sizeof(SkScalar) : 0));
163 fOrigPos = desc.fPos ? reinterpret_cast<SkScalar*>(fOrigColors4f + fColorCount)
169 *origColors++ = desc.fColors[0];
171 for (int i = 0; i < desc.fCount; ++i) {
172 origColors[i] = desc.fColors[i];
173 fColorsAreOpaque = fColorsAreOpaque && (desc.fColors[i].fA == 1);
176 origColors += desc.fCount;
177 *origColors = desc.fColors[desc.fCount - 1];
180 if (desc.fPos) {
186 int count = desc.fCount + needsLast;
189 const SkScalar uniformStep = desc.fPos[startIndex] - prev;
192 auto curr = (i == desc.fCount) ? 1 : SkTPin(desc.fPos[i], prev, 1.0f);
208 Descriptor desc;
209 desc.fColors = fOrigColors4f;
210 desc.fColorSpace = fColorSpace;
211 desc.fPos = fOrigPos;
212 desc.fCount = fColorCount;
213 desc.fTileMode = fTileMode;
214 desc.fGradFlags = fGradFlags;
217 desc.fLocalMatrix = m.isIdentity() ? nullptr : &m;
218 desc.flatten(buffer);
679 static void desc_init(SkGradientShaderBase::Descriptor* desc,
685 desc->fColors = colors;
686 desc->fColorSpace = std::move(colorSpace);
687 desc->fPos = pos;
688 desc->fCount = colorCount;
689 desc->fTileMode = mode;
690 desc->fGradFlags = flags;
691 desc->fLocalMatrix = localMatrix;
884 SkGradientShaderBase::Descriptor desc;
885 desc_init(&desc, opt.fColors, std::move(colorSpace), opt.fPos, opt.fCount, mode, flags,
887 return sk_make_sp<SkLinearGradient>(pts, desc);
928 SkGradientShaderBase::Descriptor desc;
929 desc_init(&desc, opt.fColors, std::move(colorSpace), opt.fPos, opt.fCount, mode, flags,
931 return sk_make_sp<SkRadialGradient>(center, radius, desc);
1004 SkGradientShaderBase::Descriptor desc;
1005 desc_init(&desc, opt.fColors, std::move(colorSpace), opt.fPos, opt.fCount, mode, flags,
1007 return SkTwoPointConicalGradient::Create(start, startRadius, end, endRadius, desc);
1070 SkGradientShaderBase::Descriptor desc;
1071 desc_init(&desc, opt.fColors, std::move(colorSpace), opt.fPos, opt.fCount, mode, flags,
1077 return sk_make_sp<SkSweepGradient>(SkPoint::Make(cx, cy), t0, t1, desc);