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

Side by Side Diff: cc/layers/picture_layer_impl.h

Issue 271533011: cc: Move tiling management out of draw properties calculation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments Created 6 years, 6 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 unified diff | Download patch
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_LAYERS_PICTURE_LAYER_IMPL_H_ 5 #ifndef CC_LAYERS_PICTURE_LAYER_IMPL_H_
6 #define CC_LAYERS_PICTURE_LAYER_IMPL_H_ 6 #define CC_LAYERS_PICTURE_LAYER_IMPL_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) 89 virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl)
90 OVERRIDE; 90 OVERRIDE;
91 virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE; 91 virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE;
92 virtual void AppendQuads(QuadSink* quad_sink, 92 virtual void AppendQuads(QuadSink* quad_sink,
93 AppendQuadsData* append_quads_data) OVERRIDE; 93 AppendQuadsData* append_quads_data) OVERRIDE;
94 virtual void UpdateTilePriorities() OVERRIDE; 94 virtual void UpdateTilePriorities() OVERRIDE;
95 virtual void NotifyTileStateChanged(const Tile* tile) OVERRIDE; 95 virtual void NotifyTileStateChanged(const Tile* tile) OVERRIDE;
96 virtual void DidBecomeActive() OVERRIDE; 96 virtual void DidBecomeActive() OVERRIDE;
97 virtual void DidBeginTracing() OVERRIDE; 97 virtual void DidBeginTracing() OVERRIDE;
98 virtual void ReleaseResources() OVERRIDE; 98 virtual void ReleaseResources() OVERRIDE;
99 virtual void CalculateContentsScale(float ideal_contents_scale,
100 float device_scale_factor,
101 float page_scale_factor,
102 float maximum_animation_contents_scale,
103 bool animating_transform_to_screen,
104 float* contents_scale_x,
105 float* contents_scale_y,
106 gfx::Size* content_bounds) OVERRIDE;
107 virtual skia::RefPtr<SkPicture> GetPicture() OVERRIDE; 99 virtual skia::RefPtr<SkPicture> GetPicture() OVERRIDE;
108 100
109 // PictureLayerTilingClient overrides. 101 // PictureLayerTilingClient overrides.
110 virtual scoped_refptr<Tile> CreateTile( 102 virtual scoped_refptr<Tile> CreateTile(
111 PictureLayerTiling* tiling, 103 PictureLayerTiling* tiling,
112 const gfx::Rect& content_rect) OVERRIDE; 104 const gfx::Rect& content_rect) OVERRIDE;
113 virtual void UpdatePile(Tile* tile) OVERRIDE; 105 virtual void UpdatePile(Tile* tile) OVERRIDE;
114 virtual gfx::Size CalculateTileSize( 106 virtual gfx::Size CalculateTileSize(
115 const gfx::Size& content_bounds) const OVERRIDE; 107 const gfx::Size& content_bounds) const OVERRIDE;
116 virtual const Region* GetInvalidation() OVERRIDE; 108 virtual const Region* GetInvalidation() OVERRIDE;
(...skipping 14 matching lines...) Expand all
131 123
132 virtual void RunMicroBenchmark(MicroBenchmarkImpl* benchmark) OVERRIDE; 124 virtual void RunMicroBenchmark(MicroBenchmarkImpl* benchmark) OVERRIDE;
133 125
134 // Functions used by tile manager. 126 // Functions used by tile manager.
135 void DidUnregisterLayer(); 127 void DidUnregisterLayer();
136 PictureLayerImpl* GetTwinLayer() { return twin_layer_; } 128 PictureLayerImpl* GetTwinLayer() { return twin_layer_; }
137 WhichTree GetTree() const; 129 WhichTree GetTree() const;
138 bool IsOnActiveOrPendingTree() const; 130 bool IsOnActiveOrPendingTree() const;
139 bool AllTilesRequiredForActivationAreReadyToDraw() const; 131 bool AllTilesRequiredForActivationAreReadyToDraw() const;
140 132
133 float MaximumTilingContentScale() const;
134
141 protected: 135 protected:
142 friend class LayerRasterTileIterator; 136 friend class LayerRasterTileIterator;
143 137
144 PictureLayerImpl(LayerTreeImpl* tree_impl, int id); 138 PictureLayerImpl(LayerTreeImpl* tree_impl, int id);
145 PictureLayerTiling* AddTiling(float contents_scale); 139 PictureLayerTiling* AddTiling(float contents_scale);
146 void RemoveTiling(float contents_scale); 140 void RemoveTiling(float contents_scale);
147 void RemoveAllTilings(); 141 void RemoveAllTilings();
148 void SyncFromActiveLayer(const PictureLayerImpl* other); 142 void SyncFromActiveLayer(const PictureLayerImpl* other);
149 void ManageTilings(bool animating_transform_to_screen, 143 void ManageTilings(bool animating_transform_to_screen,
150 float maximum_animation_contents_scale); 144 float maximum_animation_contents_scale);
(...skipping 18 matching lines...) Expand all
169 void DoPostCommitInitializationIfNeeded() { 163 void DoPostCommitInitializationIfNeeded() {
170 if (needs_post_commit_initialization_) 164 if (needs_post_commit_initialization_)
171 DoPostCommitInitialization(); 165 DoPostCommitInitialization();
172 } 166 }
173 void DoPostCommitInitialization(); 167 void DoPostCommitInitialization();
174 168
175 bool CanHaveTilings() const; 169 bool CanHaveTilings() const;
176 bool CanHaveTilingWithScale(float contents_scale) const; 170 bool CanHaveTilingWithScale(float contents_scale) const;
177 void SanityCheckTilingState() const; 171 void SanityCheckTilingState() const;
178 172
173 virtual void UpdateIdealScales();
174
179 virtual void GetDebugBorderProperties( 175 virtual void GetDebugBorderProperties(
180 SkColor* color, float* width) const OVERRIDE; 176 SkColor* color, float* width) const OVERRIDE;
181 virtual void AsValueInto(base::DictionaryValue* dict) const OVERRIDE; 177 virtual void AsValueInto(base::DictionaryValue* dict) const OVERRIDE;
182 178
183 PictureLayerImpl* twin_layer_; 179 PictureLayerImpl* twin_layer_;
184 180
185 scoped_ptr<PictureLayerTilingSet> tilings_; 181 scoped_ptr<PictureLayerTilingSet> tilings_;
186 scoped_refptr<PicturePileImpl> pile_; 182 scoped_refptr<PicturePileImpl> pile_;
187 Region invalidation_; 183 Region invalidation_;
188 184
(...skipping 26 matching lines...) Expand all
215 gfx::Size viewport_size_for_tile_priority_; 211 gfx::Size viewport_size_for_tile_priority_;
216 gfx::Transform screen_space_transform_for_tile_priority_; 212 gfx::Transform screen_space_transform_for_tile_priority_;
217 213
218 friend class PictureLayer; 214 friend class PictureLayer;
219 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl); 215 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl);
220 }; 216 };
221 217
222 } // namespace cc 218 } // namespace cc
223 219
224 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_ 220 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698