summaryrefslogtreecommitdiffstats
path: root/ui/views/drag_utils.cc
diff options
context:
space:
mode:
authorpkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-27 17:58:41 +0000
committerpkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-27 17:58:41 +0000
commit3b2591a63e8033c17ba74e522e3def318d6e7377 (patch)
treed6127171e9bdd2ce17f050b980dc1a8ba194515e /ui/views/drag_utils.cc
parentda596cd33eb81af1a129d71c96384b9b353ae3ae (diff)
downloadchromium_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.cc15
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