Revert of switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.org/1822623002/ )
Reason for revert:
need to fix unguarded makeWithFilter
Original issue's description:
> switch colorfilters to sk_sp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822623002
>
> Committed: https://skia.googlesource.com/skia/+/f809d7687a4fb7b88b651b046da2bc0035d6aa09
TBR=fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1820303002
diff --git a/samplecode/SampleAll.cpp b/samplecode/SampleAll.cpp
index 70ecd9f..b8b0ee6 100644
--- a/samplecode/SampleAll.cpp
+++ b/samplecode/SampleAll.cpp
@@ -384,7 +384,7 @@
SkMaskFilter* embossFilter = SkEmbossMaskFilter::Create(sigma, light);
SkXfermode* xfermode = SkXfermode::Create(SkXfermode::kXor_Mode);
- auto lightingFilter = SkColorMatrixFilter::MakeLightingFilter(
+ SkColorFilter* lightingFilter = SkColorMatrixFilter::CreateLightingFilter(
0xff89bc45, 0xff112233);
canvas->save();
@@ -406,7 +406,7 @@
paint.setStrokeWidth(SkIntToScalar(10));
paint.setStyle(SkPaint::kStroke_Style);
paint.setXfermode(xfermode)->unref();
- paint.setColorFilter(lightingFilter);
+ paint.setColorFilter(lightingFilter)->unref();
canvas->drawLine(start.fX, start.fY, stop.fX, stop.fY, paint); // should not be green
paint.setXfermode(nullptr);
paint.setColorFilter(nullptr);
@@ -543,9 +543,9 @@
#if 01
int index = i % SK_ARRAY_COUNT(gLightingColors);
- paint.setColorFilter(SkColorMatrixFilter::MakeLightingFilter(
+ paint.setColorFilter(SkColorMatrixFilter::CreateLightingFilter(
gLightingColors[index].fMul,
- gLightingColors[index].fAdd));
+ gLightingColors[index].fAdd))->unref();
#endif
canvas->drawText(str.c_str(), str.size(), x, y, paint);
diff --git a/samplecode/SampleColorFilter.cpp b/samplecode/SampleColorFilter.cpp
index 0b8acc3..4ee8949 100644
--- a/samplecode/SampleColorFilter.cpp
+++ b/samplecode/SampleColorFilter.cpp
@@ -184,7 +184,8 @@
for (size_t y = 0; y < SK_ARRAY_COUNT(gColors); y++) {
for (size_t x = 0; x < SK_ARRAY_COUNT(gModes); x++) {
- paint.setColorFilter(SkColorFilter::MakeModeFilter(gColors[y], gModes[x]));
+ SkColorFilter* cf = SkColorFilter::CreateModeFilter(gColors[y], gModes[x]);
+ SkSafeUnref(paint.setColorFilter(cf));
canvas->drawBitmap(fBitmap, x * N * 1.25f, y * N * scale, &paint);
}
}
diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp
index 82934ea..dd0fa40 100644
--- a/samplecode/SampleFilterFuzz.cpp
+++ b/samplecode/SampleFilterFuzz.cpp
@@ -298,9 +298,9 @@
return bitmap[R(2)];
}
-static sk_sp<SkData> make_3Dlut(int* cubeDimension, bool invR, bool invG, bool invB) {
+static SkData* make_3Dlut(int* cubeDimension, bool invR, bool invG, bool invB) {
int size = 4 << R(5);
- auto data = SkData::MakeUninitialized(sizeof(SkColor) * size * size * size);
+ SkData* data = SkData::NewUninitialized(sizeof(SkColor) * size * size * size);
SkColor* pixels = (SkColor*)(data->writable_data());
SkAutoTMalloc<uint8_t> lutMemory(size);
SkAutoTMalloc<uint8_t> invLutMemory(size);
@@ -350,17 +350,20 @@
}
}
-static sk_sp<SkColorFilter> make_color_filter() {
+static SkColorFilter* make_color_filter() {
+ SkColorFilter* colorFilter;
switch (R(6)) {
case 0: {
SkScalar array[20];
for (int i = 0; i < 20; ++i) {
array[i] = make_scalar();
}
- return SkColorFilter::MakeMatrixFilterRowMajor255(array);
+ colorFilter = SkColorMatrixFilter::Create(array);
+ break;
}
case 1:
- return SkLumaColorFilter::Make();
+ colorFilter = SkLumaColorFilter::Create();
+ break;
case 2: {
uint8_t tableA[256];
uint8_t tableR[256];
@@ -370,17 +373,21 @@
rand_color_table(tableR);
rand_color_table(tableG);
rand_color_table(tableB);
- return SkTableColorFilter::MakeARGB(tableA, tableR, tableG, tableB);
+ colorFilter = SkTableColorFilter::CreateARGB(tableA, tableR, tableG, tableB);
+ break;
}
case 3:
- return SkColorFilter::MakeModeFilter(make_color(), make_xfermode());
+ colorFilter = SkColorFilter::CreateModeFilter(make_color(), make_xfermode());
+ break;
case 4:
- return SkColorMatrixFilter::MakeLightingFilter(make_color(), make_color());
+ colorFilter = SkColorMatrixFilter::CreateLightingFilter(make_color(), make_color());
+ break;
case 5:
default:
+ colorFilter = nullptr;
break;
}
- return nullptr;
+ return colorFilter;
}
static SkPath make_path() {
@@ -531,7 +538,7 @@
rasterizerBuilder.addLayer(paintForRasterizer);
paint.setRasterizer(rasterizerBuilder.detach());
paint.setImageFilter(make_image_filter());
- sk_sp<SkData> data(make_3Dlut(nullptr, make_bool(), make_bool(), make_bool()));
+ SkAutoDataUnref data(make_3Dlut(nullptr, make_bool(), make_bool(), make_bool()));
paint.setTextAlign(make_paint_align());
paint.setTextSize(make_scalar());
paint.setTextScaleX(make_scalar());
@@ -560,16 +567,16 @@
break;
case COLOR:
{
- sk_sp<SkColorFilter> cf(make_color_filter());
- filter = cf ? SkColorFilterImageFilter::Create(cf.get(), make_image_filter()) : 0;
+ SkAutoTUnref<SkColorFilter> cf(make_color_filter());
+ filter = cf.get() ? SkColorFilterImageFilter::Create(cf, make_image_filter()) : 0;
}
break;
case LUT3D:
{
int cubeDimension;
- sk_sp<SkData> lut3D(make_3Dlut(&cubeDimension, (R(2) == 1), (R(2) == 1), (R(2) == 1)));
- sk_sp<SkColorFilter> cf(SkColorCubeFilter::Make(lut3D, cubeDimension));
- filter = cf ? SkColorFilterImageFilter::Create(cf.get(), make_image_filter()) : 0;
+ SkAutoDataUnref lut3D(make_3Dlut(&cubeDimension, (R(2) == 1), (R(2) == 1), (R(2) == 1)));
+ SkAutoTUnref<SkColorFilter> cf(SkColorCubeFilter::Create(lut3D, cubeDimension));
+ filter = cf.get() ? SkColorFilterImageFilter::Create(cf, make_image_filter()) : 0;
}
break;
case BLUR: