Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6162)

Unified Diff: chrome/browser/ui/views/frame/browser_view.cc

Issue 1393013007: Add a Canvas::SaveAndUnscale() method for pixel-accurate drawing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/frame/browser_view.cc
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 8b14588c1149f2ee975dea19dc8fe11e2c233ce8..c36f36feb6a769ee0d8bd319e3733fdf798fce69 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -550,17 +550,12 @@ BrowserView* BrowserView::GetBrowserViewForBrowser(const Browser* browser) {
void BrowserView::Paint1pxHorizontalLine(gfx::Canvas* canvas,
SkColor color,
const gfx::Rect& bounds) {
- canvas->Save();
- SkScalar scale_factor = 1.0f / canvas->image_scale();
- canvas->sk_canvas()->scale(scale_factor, scale_factor);
-
- gfx::RectF line_rect =
- gfx::ScaleRect(gfx::RectF(bounds), canvas->image_scale());
- line_rect.Inset(0, line_rect.height() - 1, 0, 0);
-
+ const float scale = canvas->SaveAndUnscale();
+ gfx::RectF rect(gfx::ScaleRect(gfx::RectF(bounds), scale));
+ rect.Inset(0, rect.height() - 1, 0, 0);
SkPaint paint;
paint.setColor(color);
- canvas->sk_canvas()->drawRect(gfx::RectFToSkRect(line_rect), paint);
+ canvas->sk_canvas()->drawRect(gfx::RectFToSkRect(rect), paint);
canvas->Restore();
}

Powered by Google App Engine
This is Rietveld 408576698