TextBlock性能优化,避免重复布局
This commit is contained in:
parent
9366415c8c
commit
4418c383bc
@ -33,8 +33,10 @@ void mtext_block::arrange_children(const geometry_t& in_allotted_geometry) {
|
|||||||
mleaf_widget<text_block_args>::arrange_children(in_allotted_geometry);
|
mleaf_widget<text_block_args>::arrange_children(in_allotted_geometry);
|
||||||
if (warp_text_) {
|
if (warp_text_) {
|
||||||
const auto current_width = in_allotted_geometry.get_local_size().x();
|
const auto current_width = in_allotted_geometry.get_local_size().x();
|
||||||
layout_ = font_manager::instance().layout_text(text_, font_, font_size_, current_width, line_spacing_);
|
if (current_width != layout_.total_size.x()) {
|
||||||
invalidate(invalidate_reason::layout);
|
layout_ = font_manager::instance().layout_text(text_, font_, font_size_, current_width, line_spacing_);
|
||||||
|
invalidate(invalidate_reason::layout);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
layout_ = font_manager::instance().layout_text(text_, font_, font_size_, 0, line_spacing_);
|
layout_ = font_manager::instance().layout_text(text_, font_, font_size_, 0, line_spacing_);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user