diff options
author | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-27 17:58:41 +0000 |
---|---|---|
committer | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-27 17:58:41 +0000 |
commit | 3b2591a63e8033c17ba74e522e3def318d6e7377 (patch) | |
tree | d6127171e9bdd2ce17f050b980dc1a8ba194515e /ui/views/drag_utils.cc | |
parent | da596cd33eb81af1a129d71c96384b9b353ae3ae (diff) | |
download | chromium_src-3b2591a63e8033c17ba74e522e3def318d6e7377.zip chromium_src-3b2591a63e8033c17ba74e522e3def318d6e7377.tar.gz chromium_src-3b2591a63e8033c17ba74e522e3def318d6e7377.tar.bz2 |
Add ability to build a canvas with a target scale factor.
This allows ExtractBitmap() to return an ImageSkiaRep.
This simplifies code around using intermediate bitmaps a lot.
BUG=131475
TEST=Compiles
R=oshima,sky
TBR=sadrul
Review URL: https://chromiumcodereview.appspot.com/10562027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144489 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/drag_utils.cc')
-rw-r--r-- | ui/views/drag_utils.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/ui/views/drag_utils.cc b/ui/views/drag_utils.cc index a0bc0f2..09812d9 100644 --- a/ui/views/drag_utils.cc +++ b/ui/views/drag_utils.cc @@ -22,8 +22,8 @@ #error #endif -float GetDeviceScaleFactorForNativeView(views::Widget* widget) { - float device_scale_factor = 1; +ui::ScaleFactor GetDeviceScaleFactorForNativeView(views::Widget* widget) { + ui::ScaleFactor device_scale_factor = ui::SCALE_FACTOR_100P; #if defined(USE_AURA) // The following code should work on other platforms as well. But we do not // yet care about device scale factor on other platforms. So to keep drag and @@ -31,7 +31,8 @@ float GetDeviceScaleFactorForNativeView(views::Widget* widget) { if (widget && widget->GetNativeView()) { gfx::Display display = gfx::Screen::GetDisplayNearestWindow( widget->GetNativeView()); - device_scale_factor = display.device_scale_factor(); + device_scale_factor = ui::GetScaleFactorFromScale( + display.device_scale_factor()); } #endif return device_scale_factor; @@ -63,11 +64,9 @@ void RunShellDrag(gfx::NativeView view, gfx::Canvas* GetCanvasForDragImage(views::Widget* widget, const gfx::Size& canvas_size) { - float device_scale_factor = GetDeviceScaleFactorForNativeView(widget); - gfx::Size scaled_canvas_size = canvas_size.Scale(device_scale_factor); - gfx::Canvas* canvas = new gfx::Canvas(scaled_canvas_size, false); - canvas->Scale(device_scale_factor, device_scale_factor); - return canvas; + ui::ScaleFactor device_scale_factor = + GetDeviceScaleFactorForNativeView(widget); + return new gfx::Canvas(canvas_size, device_scale_factor, false); } } // namespace views |