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

Unified Diff: ui/compositor/layer.cc

Issue 10941017: Change the scale factor of texture_size from the layer's one to an estimation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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
« no previous file with comments | « ui/compositor/layer.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/compositor/layer.cc
diff --git a/ui/compositor/layer.cc b/ui/compositor/layer.cc
index 7e7964900876cb70a32b835c53a83ef05d51e087..39c1ff47dede7f83d4649f95b4a54da3c8a8d5a4 100644
--- a/ui/compositor/layer.cc
+++ b/ui/compositor/layer.cc
@@ -65,7 +65,8 @@ Layer::Layer()
delegate_(NULL),
web_layer_(NULL),
scale_content_(true),
- device_scale_factor_(1.0f) {
+ device_scale_factor_(1.0f),
+ device_scale_factor_for_texture_(1.0f) {
CreateWebLayer();
}
@@ -87,7 +88,8 @@ Layer::Layer(LayerType type)
layer_mask_back_link_(NULL),
delegate_(NULL),
scale_content_(true),
- device_scale_factor_(1.0f) {
+ device_scale_factor_(1.0f),
+ device_scale_factor_for_texture_(1.0f) {
CreateWebLayer();
}
@@ -378,6 +380,7 @@ void Layer::SetExternalTexture(Texture* texture) {
DCHECK_EQ(type_, LAYER_TEXTURED);
layer_updated_externally_ = !!texture;
texture_ = texture;
+ device_scale_factor_for_texture_ = device_scale_factor_;
piman 2012/09/20 23:20:07 mmh, that may solve the problem in a given case, b
Jun Mukai 2012/09/21 00:53:55 hmm, then added the device_scale_factor to ui::Tex
if (web_layer_is_accelerated_ != layer_updated_externally_) {
// Switch to a different type of layer.
web_layer_->removeAllChildren();
@@ -749,10 +752,12 @@ void Layer::RecomputeDrawsContentAndUVRect() {
DCHECK(texture_);
gfx::Size texture_size;
- if (scale_content_)
+ if (scale_content_) {
texture_size = texture_->size();
- else
- texture_size = ConvertSizeToDIP(this, texture_->size());
+ } else {
+ texture_size =
+ texture_->size().Scale(1.0f / device_scale_factor_for_texture_);
+ }
gfx::Size size(std::min(bounds().width(), texture_size.width()),
std::min(bounds().height(), texture_size.height()));
« no previous file with comments | « ui/compositor/layer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698