mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
renamed TextFrameDispatcher to FirstPassDispatcher (flutter/engine#56098)
fixes https://github.com/flutter/flutter/issues/157526 [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
This commit is contained in:
parent
a5cc4c6dcb
commit
789bf0db15
@ -983,23 +983,23 @@ void CanvasDlDispatcher::SetBackdropData(
|
||||
|
||||
//// Text Frame Dispatcher
|
||||
|
||||
TextFrameDispatcher::TextFrameDispatcher(const ContentContext& renderer,
|
||||
FirstPassDispatcher::FirstPassDispatcher(const ContentContext& renderer,
|
||||
const Matrix& initial_matrix,
|
||||
const Rect cull_rect)
|
||||
: renderer_(renderer), matrix_(initial_matrix) {
|
||||
cull_rect_state_.push_back(cull_rect);
|
||||
}
|
||||
|
||||
TextFrameDispatcher::~TextFrameDispatcher() {
|
||||
FirstPassDispatcher::~FirstPassDispatcher() {
|
||||
FML_DCHECK(cull_rect_state_.size() == 1);
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::save() {
|
||||
void FirstPassDispatcher::save() {
|
||||
stack_.emplace_back(matrix_);
|
||||
cull_rect_state_.push_back(cull_rect_state_.back());
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::saveLayer(const DlRect& bounds,
|
||||
void FirstPassDispatcher::saveLayer(const DlRect& bounds,
|
||||
const flutter::SaveLayerOptions options,
|
||||
const flutter::DlImageFilter* backdrop,
|
||||
std::optional<int64_t> backdrop_id) {
|
||||
@ -1040,31 +1040,31 @@ void TextFrameDispatcher::saveLayer(const DlRect& bounds,
|
||||
}
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::restore() {
|
||||
void FirstPassDispatcher::restore() {
|
||||
matrix_ = stack_.back();
|
||||
stack_.pop_back();
|
||||
cull_rect_state_.pop_back();
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::translate(DlScalar tx, DlScalar ty) {
|
||||
void FirstPassDispatcher::translate(DlScalar tx, DlScalar ty) {
|
||||
matrix_ = matrix_.Translate({tx, ty});
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::scale(DlScalar sx, DlScalar sy) {
|
||||
void FirstPassDispatcher::scale(DlScalar sx, DlScalar sy) {
|
||||
matrix_ = matrix_.Scale({sx, sy, 1.0f});
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::rotate(DlScalar degrees) {
|
||||
void FirstPassDispatcher::rotate(DlScalar degrees) {
|
||||
matrix_ = matrix_ * Matrix::MakeRotationZ(Degrees(degrees));
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::skew(DlScalar sx, DlScalar sy) {
|
||||
void FirstPassDispatcher::skew(DlScalar sx, DlScalar sy) {
|
||||
matrix_ = matrix_ * Matrix::MakeSkew(sx, sy);
|
||||
}
|
||||
|
||||
// clang-format off
|
||||
// 2x3 2D affine subset of a 4x4 transform in row major order
|
||||
void TextFrameDispatcher::transform2DAffine(DlScalar mxx, DlScalar mxy, DlScalar mxt,
|
||||
void FirstPassDispatcher::transform2DAffine(DlScalar mxx, DlScalar mxy, DlScalar mxt,
|
||||
DlScalar myx, DlScalar myy, DlScalar myt) {
|
||||
matrix_ = matrix_ * Matrix::MakeColumn(
|
||||
mxx, myx, 0.0f, 0.0f,
|
||||
@ -1075,7 +1075,7 @@ void TextFrameDispatcher::skew(DlScalar sx, DlScalar sy) {
|
||||
}
|
||||
|
||||
// full 4x4 transform in row major order
|
||||
void TextFrameDispatcher::transformFullPerspective(
|
||||
void FirstPassDispatcher::transformFullPerspective(
|
||||
DlScalar mxx, DlScalar mxy, DlScalar mxz, DlScalar mxt,
|
||||
DlScalar myx, DlScalar myy, DlScalar myz, DlScalar myt,
|
||||
DlScalar mzx, DlScalar mzy, DlScalar mzz, DlScalar mzt,
|
||||
@ -1089,11 +1089,11 @@ void TextFrameDispatcher::skew(DlScalar sx, DlScalar sy) {
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
void TextFrameDispatcher::transformReset() {
|
||||
void FirstPassDispatcher::transformReset() {
|
||||
matrix_ = Matrix();
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::drawTextFrame(
|
||||
void FirstPassDispatcher::drawTextFrame(
|
||||
const std::shared_ptr<impeller::TextFrame>& text_frame,
|
||||
DlScalar x,
|
||||
DlScalar y) {
|
||||
@ -1122,7 +1122,7 @@ void TextFrameDispatcher::drawTextFrame(
|
||||
);
|
||||
}
|
||||
|
||||
const Rect TextFrameDispatcher::GetCurrentLocalCullingBounds() const {
|
||||
const Rect FirstPassDispatcher::GetCurrentLocalCullingBounds() const {
|
||||
auto cull_rect = cull_rect_state_.back();
|
||||
if (!cull_rect.IsEmpty() && !cull_rect.IsMaximum()) {
|
||||
Matrix inverse = matrix_.Invert();
|
||||
@ -1131,7 +1131,7 @@ const Rect TextFrameDispatcher::GetCurrentLocalCullingBounds() const {
|
||||
return cull_rect;
|
||||
}
|
||||
|
||||
void TextFrameDispatcher::drawDisplayList(
|
||||
void FirstPassDispatcher::drawDisplayList(
|
||||
const sk_sp<flutter::DisplayList> display_list,
|
||||
DlScalar opacity) {
|
||||
[[maybe_unused]] size_t stack_depth = stack_.size();
|
||||
@ -1165,27 +1165,27 @@ void TextFrameDispatcher::drawDisplayList(
|
||||
}
|
||||
|
||||
// |flutter::DlOpReceiver|
|
||||
void TextFrameDispatcher::setDrawStyle(flutter::DlDrawStyle style) {
|
||||
void FirstPassDispatcher::setDrawStyle(flutter::DlDrawStyle style) {
|
||||
paint_.style = ToStyle(style);
|
||||
}
|
||||
|
||||
// |flutter::DlOpReceiver|
|
||||
void TextFrameDispatcher::setColor(flutter::DlColor color) {
|
||||
void FirstPassDispatcher::setColor(flutter::DlColor color) {
|
||||
paint_.color = skia_conversions::ToColor(color);
|
||||
}
|
||||
|
||||
// |flutter::DlOpReceiver|
|
||||
void TextFrameDispatcher::setStrokeWidth(DlScalar width) {
|
||||
void FirstPassDispatcher::setStrokeWidth(DlScalar width) {
|
||||
paint_.stroke_width = width;
|
||||
}
|
||||
|
||||
// |flutter::DlOpReceiver|
|
||||
void TextFrameDispatcher::setStrokeMiter(DlScalar limit) {
|
||||
void FirstPassDispatcher::setStrokeMiter(DlScalar limit) {
|
||||
paint_.stroke_miter = limit;
|
||||
}
|
||||
|
||||
// |flutter::DlOpReceiver|
|
||||
void TextFrameDispatcher::setStrokeCap(flutter::DlStrokeCap cap) {
|
||||
void FirstPassDispatcher::setStrokeCap(flutter::DlStrokeCap cap) {
|
||||
switch (cap) {
|
||||
case flutter::DlStrokeCap::kButt:
|
||||
paint_.stroke_cap = Cap::kButt;
|
||||
@ -1200,7 +1200,7 @@ void TextFrameDispatcher::setStrokeCap(flutter::DlStrokeCap cap) {
|
||||
}
|
||||
|
||||
// |flutter::DlOpReceiver|
|
||||
void TextFrameDispatcher::setStrokeJoin(flutter::DlStrokeJoin join) {
|
||||
void FirstPassDispatcher::setStrokeJoin(flutter::DlStrokeJoin join) {
|
||||
switch (join) {
|
||||
case flutter::DlStrokeJoin::kMiter:
|
||||
paint_.stroke_join = Join::kMiter;
|
||||
@ -1215,7 +1215,7 @@ void TextFrameDispatcher::setStrokeJoin(flutter::DlStrokeJoin join) {
|
||||
}
|
||||
|
||||
// |flutter::DlOpReceiver|
|
||||
void TextFrameDispatcher::setImageFilter(const flutter::DlImageFilter* filter) {
|
||||
void FirstPassDispatcher::setImageFilter(const flutter::DlImageFilter* filter) {
|
||||
if (filter == nullptr) {
|
||||
has_image_filter_ = false;
|
||||
} else {
|
||||
@ -1224,7 +1224,7 @@ void TextFrameDispatcher::setImageFilter(const flutter::DlImageFilter* filter) {
|
||||
}
|
||||
|
||||
std::pair<std::unordered_map<int64_t, BackdropData>, size_t>
|
||||
TextFrameDispatcher::TakeBackdropData() {
|
||||
FirstPassDispatcher::TakeBackdropData() {
|
||||
std::unordered_map<int64_t, BackdropData> temp;
|
||||
std::swap(temp, backdrop_data_);
|
||||
return std::make_pair(temp, backdrop_count_);
|
||||
@ -1267,7 +1267,7 @@ std::shared_ptr<Texture> DisplayListToTexture(
|
||||
}
|
||||
|
||||
SkIRect sk_cull_rect = SkIRect::MakeWH(size.width, size.height);
|
||||
impeller::TextFrameDispatcher collector(
|
||||
impeller::FirstPassDispatcher collector(
|
||||
context.GetContentContext(), impeller::Matrix(), Rect::MakeSize(size));
|
||||
display_list->Dispatch(collector, sk_cull_rect);
|
||||
impeller::CanvasDlDispatcher impeller_dispatcher(
|
||||
@ -1298,7 +1298,7 @@ bool RenderToOnscreen(ContentContext& context,
|
||||
bool reset_host_buffer) {
|
||||
Rect ip_cull_rect = Rect::MakeLTRB(cull_rect.left(), cull_rect.top(),
|
||||
cull_rect.right(), cull_rect.bottom());
|
||||
TextFrameDispatcher collector(context, impeller::Matrix(), ip_cull_rect);
|
||||
FirstPassDispatcher collector(context, impeller::Matrix(), ip_cull_rect);
|
||||
display_list->Dispatch(collector, cull_rect);
|
||||
|
||||
impeller::CanvasDlDispatcher impeller_dispatcher(
|
||||
|
||||
@ -295,16 +295,17 @@ class CanvasDlDispatcher : public DlDispatcherBase {
|
||||
Canvas& GetCanvas() override;
|
||||
};
|
||||
|
||||
/// Performs a first pass over the display list to collect all text frames.
|
||||
class TextFrameDispatcher : public flutter::IgnoreAttributeDispatchHelper,
|
||||
/// Performs a first pass over the display list to collect infomation.
|
||||
/// Collects things like text frames and backdrop filters.
|
||||
class FirstPassDispatcher : public flutter::IgnoreAttributeDispatchHelper,
|
||||
public flutter::IgnoreClipDispatchHelper,
|
||||
public flutter::IgnoreDrawDispatchHelper {
|
||||
public:
|
||||
TextFrameDispatcher(const ContentContext& renderer,
|
||||
FirstPassDispatcher(const ContentContext& renderer,
|
||||
const Matrix& initial_matrix,
|
||||
const Rect cull_rect);
|
||||
|
||||
~TextFrameDispatcher();
|
||||
~FirstPassDispatcher();
|
||||
|
||||
void save() override;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user