diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-09 23:17:35 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-09 23:17:35 +0000 |
commit | 4b01b9680e67ba802e8a16027ffe4b4d435fc1e8 (patch) | |
tree | 675aa1ca07fa8f0d3bb1f0f4249822a6bf4e817d /ui/compositor/layer.cc | |
parent | 0c77646718f41510a03905f1ed31cd382109a6c4 (diff) | |
download | chromium_src-4b01b9680e67ba802e8a16027ffe4b4d435fc1e8.zip chromium_src-4b01b9680e67ba802e8a16027ffe4b4d435fc1e8.tar.gz chromium_src-4b01b9680e67ba802e8a16027ffe4b4d435fc1e8.tar.bz2 |
Remove implicit flooring Scale() method from Point and Size.
When scaling an integer point or size, return a floating point
result. Implicitly flooring hides design problems and bugs. Add
conversion functions to floor or ceil a SizeF or PointF
into an integer format again.
All existing behaviour has been preserved by replacing uses of
foo.Scale() with ToFlooredFoo(foo.Scale()).
R=sky
BUG=147395
Review URL: https://chromiumcodereview.appspot.com/11081007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160970 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/compositor/layer.cc')
-rw-r--r-- | ui/compositor/layer.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ui/compositor/layer.cc b/ui/compositor/layer.cc index bbca75a..e71cbd5 100644 --- a/ui/compositor/layer.cc +++ b/ui/compositor/layer.cc @@ -28,6 +28,7 @@ #include "ui/gfx/display.h" #include "ui/gfx/interpolated_transform.h" #include "ui/gfx/point3.h" +#include "ui/gfx/size_conversions.h" namespace { @@ -754,8 +755,8 @@ void Layer::RecomputeDrawsContentAndUVRect() { if (scale_content_) { texture_size = texture_->size(); } else { - texture_size = - texture_->size().Scale(1.0f / texture_->device_scale_factor()); + texture_size = gfx::ToFlooredSize( + texture_->size().Scale(1.0f / texture_->device_scale_factor())); } gfx::Size size(std::min(bounds().width(), texture_size.width()), |