diff options
author | pkasting <pkasting@chromium.org> | 2015-10-13 19:19:02 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-14 02:20:08 +0000 |
commit | 0ca0ebd49346783db18dd53c493c1e39a93826bc (patch) | |
tree | f5c0937d127df0fd77c5a5df6cabd2e1b5ddc7ad /ash | |
parent | 179e89659c89c0f738286374e6084b77c8c82c14 (diff) | |
download | chromium_src-0ca0ebd49346783db18dd53c493c1e39a93826bc.zip chromium_src-0ca0ebd49346783db18dd53c493c1e39a93826bc.tar.gz chromium_src-0ca0ebd49346783db18dd53c493c1e39a93826bc.tar.bz2 |
Add a Canvas::SaveAndUnscale() method for pixel-accurate drawing.
This will be useful for various Material Design implementation bits.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/1393013007
Cr-Commit-Position: refs/heads/master@{#353946}
Diffstat (limited to 'ash')
-rw-r--r-- | ash/frame/default_header_painter.cc | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/ash/frame/default_header_painter.cc b/ash/frame/default_header_painter.cc index a80a3c6..ab9dd18 100644 --- a/ash/frame/default_header_painter.cc +++ b/ash/frame/default_header_painter.cc @@ -262,18 +262,13 @@ void DefaultHeaderPainter::PaintTitleBar(gfx::Canvas* canvas) { } void DefaultHeaderPainter::PaintHeaderContentSeparator(gfx::Canvas* canvas) { - SkColor color = (mode_ == MODE_ACTIVE) ? - kHeaderContentSeparatorColor : - kHeaderContentSeparatorInactiveColor; - + const float scale = canvas->SaveAndUnscale(); + gfx::RectF rect(0, painted_height_ * scale - 1, view_->width() * scale, 1); SkPaint paint; - paint.setColor(color); - // Draw the line as 1px thick regardless of scale factor. - paint.setStrokeWidth(0); - - float thickness = 1 / canvas->image_scale(); - SkScalar y = SkIntToScalar(painted_height_) - SkFloatToScalar(thickness); - canvas->sk_canvas()->drawLine(0, y, SkIntToScalar(view_->width()), y, paint); + paint.setColor((mode_ == MODE_ACTIVE) ? + kHeaderContentSeparatorColor : kHeaderContentSeparatorInactiveColor); + canvas->sk_canvas()->drawRect(gfx::RectFToSkRect(rect), paint); + canvas->Restore(); } void DefaultHeaderPainter::LayoutLeftHeaderView() { |