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

Side by Side Diff: cc/contents_scaling_layer.h

Issue 11644035: cc: Invalidate the full tiled layer when contents scale changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/contents_scaling_layer.cc » ('j') | cc/tiled_layer.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_CONTENTS_SCALING_LAYER_H_ 5 #ifndef CC_CONTENTS_SCALING_LAYER_H_
6 #define CC_CONTENTS_SCALING_LAYER_H_ 6 #define CC_CONTENTS_SCALING_LAYER_H_
7 7
8 #include "cc/cc_export.h" 8 #include "cc/cc_export.h"
9 #include "cc/layer.h" 9 #include "cc/layer.h"
10 10
11 namespace cc { 11 namespace cc {
12 12
13 // Base class for layers that need contents scale. 13 // Base class for layers that need contents scale.
14 // The content bounds are determined by bounds and scale of the contents. 14 // The content bounds are determined by bounds and scale of the contents.
15 class CC_EXPORT ContentsScalingLayer : public Layer { 15 class CC_EXPORT ContentsScalingLayer : public Layer {
16 public: 16 public:
17 virtual void calculateContentsScale( 17 virtual void calculateContentsScale(
18 float ideal_contents_scale, 18 float ideal_contents_scale,
19 float* contents_scale_x, 19 float* contents_scale_x,
20 float* contents_scale_y, 20 float* contents_scale_y,
21 gfx::Size* content_bounds) OVERRIDE; 21 gfx::Size* content_bounds) OVERRIDE;
22 virtual void didUpdateBounds() OVERRIDE; 22 virtual void didUpdateBounds() OVERRIDE;
23 23
24 virtual void update(
25 ResourceUpdateQueue& queue,
26 const OcclusionTracker* occlusion,
27 RenderingStats& stats) OVERRIDE;
28
24 protected: 29 protected:
25 ContentsScalingLayer(); 30 ContentsScalingLayer();
26 virtual ~ContentsScalingLayer(); 31 virtual ~ContentsScalingLayer();
27 32
28 gfx::Size computeContentBoundsForScale(float scaleX, float scaleY) const; 33 gfx::Size computeContentBoundsForScale(float scaleX, float scaleY) const;
34
35 private:
36 float last_update_contents_scale_x_;
37 float last_update_contents_scale_y_;
29 }; 38 };
30 39
31 } // namespace cc 40 } // namespace cc
32 41
33 #endif // CC_CONTENTS_SCALING_LAYER_H__ 42 #endif // CC_CONTENTS_SCALING_LAYER_H__
OLDNEW
« no previous file with comments | « no previous file | cc/contents_scaling_layer.cc » ('j') | cc/tiled_layer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698