static void linear_gradproc(skiatest::Reporter* reporter, const GradRec& buildRec, const GradRec& checkRec) { sk_sp<SkShader> s(SkGradientShader::MakeLinear(buildRec.fPoint, buildRec.fColors, buildRec.fPos, buildRec.fColorCount, buildRec.fTileMode)); SkShader::GradientInfo info; checkRec.gradCheck(reporter, s, &info, SkShader::kLinear_GradientType); REPORTER_ASSERT(reporter, !memcmp(info.fPoint, checkRec.fPoint, 2 * sizeof(SkPoint))); }
static void sweep_gradproc(skiatest::Reporter* reporter, const GradRec& buildRec, const GradRec& checkRec) { sk_sp<SkShader> s(SkGradientShader::MakeSweep(buildRec.fPoint[0].fX, buildRec.fPoint[0].fY, buildRec.fColors, buildRec.fPos, buildRec.fColorCount)); SkShader::GradientInfo info; checkRec.gradCheck(reporter, s, &info, SkShader::kSweep_GradientType); REPORTER_ASSERT(reporter, info.fPoint[0] == checkRec.fPoint[0]); }
static void linear_gradproc(skiatest::Reporter* reporter, const GradRec& rec) { SkAutoTUnref<SkShader> s(SkGradientShader::CreateLinear(rec.fPoint, rec.fColors, rec.fPos, rec.fColorCount, rec.fTileMode)); SkShader::GradientInfo info; rec.gradCheck(reporter, s, &info, SkShader::kLinear_GradientType); REPORTER_ASSERT(reporter, !memcmp(info.fPoint, rec.fPoint, 2 * sizeof(SkPoint))); }
static void sweep_gradproc(skiatest::Reporter* reporter, const GradRec& rec) { SkAutoTUnref<SkShader> s(SkGradientShader::CreateSweep(rec.fPoint[0].fX, rec.fPoint[0].fY, rec.fColors, rec.fPos, rec.fColorCount)); SkShader::GradientInfo info; rec.gradCheck(reporter, s, &info, SkShader::kSweep_GradientType); REPORTER_ASSERT(reporter, info.fPoint[0] == rec.fPoint[0]); }
static void radial_gradproc(skiatest::Reporter* reporter, const GradRec& buildRec, const GradRec& checkRec) { sk_sp<SkShader> s(SkGradientShader::MakeRadial(buildRec.fPoint[0], buildRec.fRadius[0], buildRec.fColors, buildRec.fPos, buildRec.fColorCount, buildRec.fTileMode)); SkShader::GradientInfo info; checkRec.gradCheck(reporter, s, &info, SkShader::kRadial_GradientType); REPORTER_ASSERT(reporter, info.fPoint[0] == checkRec.fPoint[0]); REPORTER_ASSERT(reporter, info.fRadius[0] == checkRec.fRadius[0]); }
static void radial_gradproc(skiatest::Reporter* reporter, const GradRec& rec) { SkAutoTUnref<SkShader> s(SkGradientShader::CreateRadial(rec.fPoint[0], rec.fRadius[0], rec.fColors, rec.fPos, rec.fColorCount, rec.fTileMode)); SkShader::GradientInfo info; rec.gradCheck(reporter, s, &info, SkShader::kRadial_GradientType); REPORTER_ASSERT(reporter, info.fPoint[0] == rec.fPoint[0]); REPORTER_ASSERT(reporter, info.fRadius[0] == rec.fRadius[0]); }
static void conical_gradproc(skiatest::Reporter* reporter, const GradRec& rec) { SkAutoTUnref<SkShader> s(SkGradientShader::CreateTwoPointConical(rec.fPoint[0], rec.fRadius[0], rec.fPoint[1], rec.fRadius[1], rec.fColors, rec.fPos, rec.fColorCount, rec.fTileMode)); SkShader::GradientInfo info; rec.gradCheck(reporter, s, &info, SkShader::kConical_GradientType); REPORTER_ASSERT(reporter, !memcmp(info.fPoint, rec.fPoint, 2 * sizeof(SkPoint))); REPORTER_ASSERT(reporter, !memcmp(info.fRadius, rec.fRadius, 2 * sizeof(SkScalar))); }
static void conical_gradproc(skiatest::Reporter* reporter, const GradRec& buildRec, const GradRec& checkRec) { sk_sp<SkShader> s(SkGradientShader::MakeTwoPointConical(buildRec.fPoint[0], buildRec.fRadius[0], buildRec.fPoint[1], buildRec.fRadius[1], buildRec.fColors, buildRec.fPos, buildRec.fColorCount, buildRec.fTileMode)); SkShader::GradientInfo info; checkRec.gradCheck(reporter, s, &info, SkShader::kConical_GradientType); REPORTER_ASSERT(reporter, !memcmp(info.fPoint, checkRec.fPoint, 2 * sizeof(SkPoint))); REPORTER_ASSERT(reporter, !memcmp(info.fRadius, checkRec.fRadius, 2 * sizeof(SkScalar))); }