mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Update Skia
This required a bunch of changes because of the new sk_sp type Skia has introduced into their API.
This commit is contained in:
parent
be608ee2e9
commit
ac113c2965
2
DEPS
2
DEPS
@ -21,7 +21,7 @@ vars = {
|
||||
'chromium_git': 'https://chromium.googlesource.com',
|
||||
'mojo_sdk_revision': '5c0d7cd229bff7e2dfbcdea8310592ec90482919',
|
||||
'base_revision': '6c89618151eb0e23d330778e6d6ea16fc6105010',
|
||||
'skia_revision': '992ad363d7ca879cdb86f802b379f06800a44125',
|
||||
'skia_revision': '50e82e61766d22da5238905916a8abc3e6664060',
|
||||
|
||||
# Note: When updating the Dart revision, ensure that all entries that are
|
||||
# dependencies of dart are also updated
|
||||
|
||||
@ -8,14 +8,15 @@
|
||||
|
||||
namespace flow {
|
||||
|
||||
static SkShader* CreateCheckerboardShader(SkColor c1, SkColor c2, int size) {
|
||||
static sk_sp<SkShader> CreateCheckerboardShader(SkColor c1, SkColor c2,
|
||||
int size) {
|
||||
SkBitmap bm;
|
||||
bm.allocN32Pixels(2 * size, 2 * size);
|
||||
bm.eraseColor(c1);
|
||||
bm.eraseArea(SkIRect::MakeLTRB(0, 0, size, size), c2);
|
||||
bm.eraseArea(SkIRect::MakeLTRB(size, size, 2 * size, 2 * size), c2);
|
||||
return SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode,
|
||||
SkShader::kRepeat_TileMode);
|
||||
return SkShader::MakeBitmapShader(bm, SkShader::kRepeat_TileMode,
|
||||
SkShader::kRepeat_TileMode);
|
||||
}
|
||||
|
||||
static void DrawCheckerboard(SkCanvas* canvas,
|
||||
@ -23,7 +24,7 @@ static void DrawCheckerboard(SkCanvas* canvas,
|
||||
SkColor c2,
|
||||
int size) {
|
||||
SkPaint paint;
|
||||
paint.setShader(CreateCheckerboardShader(c1, c2, size))->unref();
|
||||
paint.setShader(CreateCheckerboardShader(c1, c2, size));
|
||||
canvas->drawPaint(paint);
|
||||
}
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ void ShaderMaskLayer::Paint(PaintContext::ScopedFrame& frame) {
|
||||
|
||||
SkPaint paint;
|
||||
paint.setXfermodeMode(transfer_mode_);
|
||||
paint.setShader(shader_.get());
|
||||
paint.setShader(shader_);
|
||||
canvas.translate(mask_rect_.left(), mask_rect_.top());
|
||||
canvas.drawRect(SkRect::MakeWH(mask_rect_.width(), mask_rect_.height()), paint);
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ class ShaderMaskLayer : public ContainerLayer {
|
||||
ShaderMaskLayer();
|
||||
~ShaderMaskLayer() override;
|
||||
|
||||
void set_shader(SkShader* shader) { shader_ = skia::SharePtr(shader); }
|
||||
void set_shader(sk_sp<SkShader> shader) { shader_ = shader; }
|
||||
|
||||
void set_mask_rect(const SkRect& mask_rect) {
|
||||
mask_rect_ = mask_rect;
|
||||
@ -31,7 +31,7 @@ class ShaderMaskLayer : public ContainerLayer {
|
||||
void Paint(PaintContext::ScopedFrame& frame) override;
|
||||
|
||||
private:
|
||||
skia::RefPtr<SkShader> shader_;
|
||||
sk_sp<SkShader> shader_;
|
||||
SkRect mask_rect_;
|
||||
SkXfermode::Mode transfer_mode_;
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ skia::RefPtr<SkImage> RasterCache::GetPrerolledImage(GrContext* context,
|
||||
"height", physical_size.height());
|
||||
SkImageInfo info = SkImageInfo::MakeN32Premul(physical_size);
|
||||
skia::RefPtr<SkSurface> surface = skia::AdoptRef(
|
||||
SkSurface::NewRenderTarget(context, SkSurface::kYes_Budgeted, info));
|
||||
SkSurface::NewRenderTarget(context, SkBudgeted::kYes, info));
|
||||
if (surface) {
|
||||
SkCanvas* canvas = surface->getCanvas();
|
||||
canvas->clear(SK_ColorTRANSPARENT);
|
||||
|
||||
@ -332,7 +332,6 @@ component("skia") {
|
||||
"//third_party/skia/src/utils/SkNinePatch.cpp",
|
||||
"//third_party/skia/src/utils/SkOSFile.cpp",
|
||||
"//third_party/skia/src/utils/SkParsePath.cpp",
|
||||
"//third_party/skia/src/utils/SkTFitsIn.h",
|
||||
|
||||
#testing
|
||||
"//third_party/skia/src/fonts/SkGScalerContext.cpp",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user