Chromium Code Reviews| Index: ui/gfx/render_text.cc |
| diff --git a/ui/gfx/render_text.cc b/ui/gfx/render_text.cc |
| index 8c516c10b54503745e969bab90a2e7e1b24b058b..704fe8d921c8904e4ff4184b139fbf25cd1cbd14 100644 |
| --- a/ui/gfx/render_text.cc |
| +++ b/ui/gfx/render_text.cc |
| @@ -269,8 +269,10 @@ void SkiaTextRenderer::EndDiagonalStrike() { |
| } |
| void SkiaTextRenderer::DrawUnderline(int x, int y, int width) { |
| - SkRect r = SkRect::MakeLTRB(x, y + underline_position_, x + width, |
| - y + underline_position_ + underline_thickness_); |
| + SkScalar x_scalar = SkIntToScalar(x); |
| + SkRect r = SkRect::MakeLTRB( |
| + x_scalar, y + underline_position_, x_scalar + width, |
| + y + underline_position_ + underline_thickness_); |
| if (underline_thickness_ == kUnderlineMetricsNotSet) { |
| const SkScalar text_size = paint_.getTextSize(); |
| r.fTop = SkScalarMulAdd(text_size, kUnderlineOffset, y); |
| @@ -283,7 +285,9 @@ void SkiaTextRenderer::DrawStrike(int x, int y, int width) const { |
| const SkScalar text_size = paint_.getTextSize(); |
| const SkScalar height = SkScalarMul(text_size, kLineThickness); |
| const SkScalar offset = SkScalarMulAdd(text_size, kStrikeThroughOffset, y); |
| - const SkRect r = SkRect::MakeLTRB(x, offset, x + width, offset + height); |
| + SkScalar x_scalar = SkIntToScalar(x); |
| + const SkRect r = |
| + SkRect::MakeLTRB(x_scalar, offset, x_scalar + width, offset + height); |
| canvas_skia_->drawRect(r, paint_); |
| } |
| @@ -314,7 +318,7 @@ void SkiaTextRenderer::DiagonalStrike::Draw() { |
| const int clip_height = height + 2 * thickness; |
| paint_.setAntiAlias(true); |
| - paint_.setStrokeWidth(thickness); |
| + paint_.setStrokeWidth(SkIntToScalar(thickness)); |
| const bool clipped = pieces_.size() > 1; |
| SkCanvas* sk_canvas = canvas_->sk_canvas(); |
| @@ -720,8 +724,7 @@ VisualCursorDirection RenderText::GetVisualDirectionOfLogicalEnd() { |
| } |
| SizeF RenderText::GetStringSizeF() { |
| - const Size size = GetStringSize(); |
| - return SizeF(size.width(), size.height()); |
| + return GetStringSize(); |
|
msw
2014/10/17 22:13:23
Cool, I hadn't seen the gfx::Size operator SizeF()
|
| } |
| float RenderText::GetContentWidth() { |
| @@ -857,7 +860,9 @@ const Vector2d& RenderText::GetUpdatedDisplayOffset() { |
| } |
| void RenderText::SetDisplayOffset(int horizontal_offset) { |
| - const int extra_content = GetContentWidth() - display_rect_.width(); |
| + // !!! Should this round or ceil? |
|
msw
2014/10/17 22:13:23
Dan or Cem may have opinions here; we ultimately w
Daniel Erat
2014/10/17 23:20:05
i have no opinion here.
Peter Kasting
2014/10/21 01:20:45
It seems like ceiling here is a different behavior
|
| + const int extra_content = |
| + static_cast<int>(GetContentWidth()) - display_rect_.width(); |
| const int cursor_width = cursor_enabled_ ? 1 : 0; |
| int min_offset = 0; |
| @@ -1210,8 +1215,9 @@ void RenderText::UpdateLayoutText() { |
| static_cast<int>(GetContentWidth()) > display_rect_.width()) { |
| // This doesn't trim styles so ellipsis may get rendered as a different |
| // style than the preceding text. See crbug.com/327850. |
| - layout_text_.assign( |
| - Elide(layout_text_, display_rect_.width(), elide_behavior_)); |
| + layout_text_.assign(Elide(layout_text_, |
| + static_cast<float>(display_rect_.width()), |
| + elide_behavior_)); |
| } |
| // Replace the newline character with a newline symbol in single line mode. |