Skip to content

Commit b32a65f

Browse files
JsouLiangdnfield
authored andcommitted
Use new DlBlendMode object (#78)
1 parent 5b1b9df commit b32a65f

File tree

2 files changed

+41
-40
lines changed

2 files changed

+41
-40
lines changed

impeller/display_list/display_list_dispatcher.cc

+36-36
Original file line numberDiff line numberDiff line change
@@ -159,60 +159,60 @@ void DisplayListDispatcher::setInvertColors(bool invert) {
159159
UNIMPLEMENTED;
160160
}
161161

162-
std::optional<Entity::BlendMode> ToBlendMode(SkBlendMode mode) {
162+
std::optional<Entity::BlendMode> ToBlendMode(flutter::DlBlendMode mode) {
163163
switch (mode) {
164-
case SkBlendMode::kClear:
164+
case flutter::DlBlendMode::kClear:
165165
return Entity::BlendMode::kClear;
166-
case SkBlendMode::kSrc:
166+
case flutter::DlBlendMode::kSrc:
167167
return Entity::BlendMode::kSource;
168-
case SkBlendMode::kDst:
168+
case flutter::DlBlendMode::kDst:
169169
return Entity::BlendMode::kDestination;
170-
case SkBlendMode::kSrcOver:
170+
case flutter::DlBlendMode::kSrcOver:
171171
return Entity::BlendMode::kSourceOver;
172-
case SkBlendMode::kDstOver:
172+
case flutter::DlBlendMode::kDstOver:
173173
return Entity::BlendMode::kDestinationOver;
174-
case SkBlendMode::kSrcIn:
174+
case flutter::DlBlendMode::kSrcIn:
175175
return Entity::BlendMode::kSourceIn;
176-
case SkBlendMode::kDstIn:
176+
case flutter::DlBlendMode::kDstIn:
177177
return Entity::BlendMode::kDestinationIn;
178-
case SkBlendMode::kSrcOut:
178+
case flutter::DlBlendMode::kSrcOut:
179179
return Entity::BlendMode::kSourceOut;
180-
case SkBlendMode::kDstOut:
180+
case flutter::DlBlendMode::kDstOut:
181181
return Entity::BlendMode::kDestinationOut;
182-
case SkBlendMode::kSrcATop:
182+
case flutter::DlBlendMode::kSrcATop:
183183
return Entity::BlendMode::kSourceATop;
184-
case SkBlendMode::kDstATop:
184+
case flutter::DlBlendMode::kDstATop:
185185
return Entity::BlendMode::kDestinationATop;
186-
case SkBlendMode::kXor:
186+
case flutter::DlBlendMode::kXor:
187187
return Entity::BlendMode::kXor;
188-
case SkBlendMode::kPlus:
188+
case flutter::DlBlendMode::kPlus:
189189
return Entity::BlendMode::kPlus;
190-
case SkBlendMode::kModulate:
190+
case flutter::DlBlendMode::kModulate:
191191
return Entity::BlendMode::kModulate;
192-
case SkBlendMode::kScreen:
193-
case SkBlendMode::kOverlay:
194-
case SkBlendMode::kDarken:
195-
case SkBlendMode::kLighten:
196-
case SkBlendMode::kColorDodge:
197-
case SkBlendMode::kColorBurn:
198-
case SkBlendMode::kHardLight:
199-
case SkBlendMode::kSoftLight:
200-
case SkBlendMode::kDifference:
201-
case SkBlendMode::kExclusion:
202-
case SkBlendMode::kMultiply:
203-
case SkBlendMode::kHue:
204-
case SkBlendMode::kSaturation:
205-
case SkBlendMode::kColor:
206-
case SkBlendMode::kLuminosity:
192+
case flutter::DlBlendMode::kScreen:
193+
case flutter::DlBlendMode::kOverlay:
194+
case flutter::DlBlendMode::kDarken:
195+
case flutter::DlBlendMode::kLighten:
196+
case flutter::DlBlendMode::kColorDodge:
197+
case flutter::DlBlendMode::kColorBurn:
198+
case flutter::DlBlendMode::kHardLight:
199+
case flutter::DlBlendMode::kSoftLight:
200+
case flutter::DlBlendMode::kDifference:
201+
case flutter::DlBlendMode::kExclusion:
202+
case flutter::DlBlendMode::kMultiply:
203+
case flutter::DlBlendMode::kHue:
204+
case flutter::DlBlendMode::kSaturation:
205+
case flutter::DlBlendMode::kColor:
206+
case flutter::DlBlendMode::kLuminosity:
207207
return std::nullopt;
208208
}
209209

210210
return std::nullopt;
211211
}
212212

213213
// |flutter::Dispatcher|
214-
void DisplayListDispatcher::setBlendMode(SkBlendMode sk_mode) {
215-
if (auto mode = ToBlendMode(sk_mode); mode.has_value()) {
214+
void DisplayListDispatcher::setBlendMode(flutter::DlBlendMode dl_mode) {
215+
if (auto mode = ToBlendMode(dl_mode); mode.has_value()) {
216216
paint_.blend_mode = mode.value();
217217
} else {
218218
UNIMPLEMENTED;
@@ -454,10 +454,10 @@ void DisplayListDispatcher::clipPath(const SkPath& path,
454454
}
455455

456456
// |flutter::Dispatcher|
457-
void DisplayListDispatcher::drawColor(SkColor color, SkBlendMode sk_mode) {
457+
void DisplayListDispatcher::drawColor(SkColor color, flutter::DlBlendMode dl_mode) {
458458
Paint paint;
459459
paint.color = ToColor(color);
460-
if (auto mode = ToBlendMode(sk_mode); mode.has_value()) {
460+
if (auto mode = ToBlendMode(dl_mode); mode.has_value()) {
461461
paint.blend_mode = mode.value();
462462
} else {
463463
FML_DLOG(ERROR) << "Unimplemented blend mode in " << __FUNCTION__;
@@ -530,7 +530,7 @@ void DisplayListDispatcher::drawPoints(SkCanvas::PointMode mode,
530530

531531
// |flutter::Dispatcher|
532532
void DisplayListDispatcher::drawVertices(const sk_sp<SkVertices> vertices,
533-
SkBlendMode mode) {
533+
flutter::DlBlendMode mode) {
534534
// Needs https://github.com/flutter/flutter/issues/95434
535535
UNIMPLEMENTED;
536536
}
@@ -582,7 +582,7 @@ void DisplayListDispatcher::drawAtlas(const sk_sp<SkImage> atlas,
582582
const SkRect tex[],
583583
const SkColor colors[],
584584
int count,
585-
SkBlendMode mode,
585+
flutter::DlBlendMode mode,
586586
const SkSamplingOptions& sampling,
587587
const SkRect* cull_rect,
588588
bool render_with_attributes) {

impeller/display_list/display_list_dispatcher.h

+5-4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#pragma once
66

77
#include "flutter/display_list/display_list.h"
8+
#include "flutter/display_list/display_list_blend_mode.h"
89
#include "flutter/display_list/display_list_dispatcher.h"
910
#include "flutter/fml/macros.h"
1011
#include "impeller/aiks/canvas.h"
@@ -54,7 +55,7 @@ class DisplayListDispatcher final : public flutter::Dispatcher {
5455
void setInvertColors(bool invert) override;
5556

5657
// |flutter::Dispatcher|
57-
void setBlendMode(SkBlendMode mode) override;
58+
void setBlendMode(flutter::DlBlendMode mode) override;
5859

5960
// |flutter::Dispatcher|
6061
void setBlender(sk_sp<SkBlender> blender) override;
@@ -129,7 +130,7 @@ class DisplayListDispatcher final : public flutter::Dispatcher {
129130
void clipPath(const SkPath& path, SkClipOp clip_op, bool is_aa) override;
130131

131132
// |flutter::Dispatcher|
132-
void drawColor(SkColor color, SkBlendMode mode) override;
133+
void drawColor(SkColor color, flutter::DlBlendMode mode) override;
133134

134135
// |flutter::Dispatcher|
135136
void drawPaint() override;
@@ -168,7 +169,7 @@ class DisplayListDispatcher final : public flutter::Dispatcher {
168169

169170
// |flutter::Dispatcher|
170171
void drawVertices(const sk_sp<SkVertices> vertices,
171-
SkBlendMode mode) override;
172+
flutter::DlBlendMode mode) override;
172173

173174
// |flutter::Dispatcher|
174175
void drawImage(const sk_sp<SkImage> image,
@@ -204,7 +205,7 @@ class DisplayListDispatcher final : public flutter::Dispatcher {
204205
const SkRect tex[],
205206
const SkColor colors[],
206207
int count,
207-
SkBlendMode mode,
208+
flutter::DlBlendMode mode,
208209
const SkSamplingOptions& sampling,
209210
const SkRect* cull_rect,
210211
bool render_with_attributes) override;

0 commit comments

Comments
 (0)