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

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: debug build unit test failures addressed 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 virtual void UpdateIdealScales();
134 float MaximumTilingContentScale() const;
135
136 bool CanHaveTilings() const;
137 void ManageTilings(bool animating_transform_to_screen,
138 float maximum_animation_contents_scale);
139
141 protected: 140 protected:
142 friend class LayerRasterTileIterator; 141 friend class LayerRasterTileIterator;
143 142
144 PictureLayerImpl(LayerTreeImpl* tree_impl, int id); 143 PictureLayerImpl(LayerTreeImpl* tree_impl, int id);
145 PictureLayerTiling* AddTiling(float contents_scale); 144 PictureLayerTiling* AddTiling(float contents_scale);
146 void RemoveTiling(float contents_scale); 145 void RemoveTiling(float contents_scale);
147 void RemoveAllTilings(); 146 void RemoveAllTilings();
148 void SyncFromActiveLayer(const PictureLayerImpl* other); 147 void SyncFromActiveLayer(const PictureLayerImpl* other);
149 void ManageTilings(bool animating_transform_to_screen,
150 float maximum_animation_contents_scale);
151 virtual bool ShouldAdjustRasterScale( 148 virtual bool ShouldAdjustRasterScale(
152 bool animating_transform_to_screen) const; 149 bool animating_transform_to_screen) const;
153 virtual void RecalculateRasterScales(bool animating_transform_to_screen, 150 virtual void RecalculateRasterScales(bool animating_transform_to_screen,
154 float maximum_animation_contents_scale); 151 float maximum_animation_contents_scale);
155 void CleanUpTilingsOnActiveLayer( 152 void CleanUpTilingsOnActiveLayer(
156 std::vector<PictureLayerTiling*> used_tilings); 153 std::vector<PictureLayerTiling*> used_tilings);
157 float MinimumContentsScale() const; 154 float MinimumContentsScale() const;
158 float SnappedContentsScale(float new_contents_scale); 155 float SnappedContentsScale(float new_contents_scale);
159 void UpdateLCDTextStatus(bool new_status); 156 void UpdateLCDTextStatus(bool new_status);
160 void ResetRasterScale(); 157 void ResetRasterScale();
161 void MarkVisibleResourcesAsRequired() const; 158 void MarkVisibleResourcesAsRequired() const;
162 bool MarkVisibleTilesAsRequired( 159 bool MarkVisibleTilesAsRequired(
163 PictureLayerTiling* tiling, 160 PictureLayerTiling* tiling,
164 const PictureLayerTiling* optional_twin_tiling, 161 const PictureLayerTiling* optional_twin_tiling,
165 float contents_scale, 162 float contents_scale,
166 const gfx::Rect& rect, 163 const gfx::Rect& rect,
167 const Region& missing_region) const; 164 const Region& missing_region) const;
168 165
169 void DoPostCommitInitializationIfNeeded() { 166 void DoPostCommitInitializationIfNeeded() {
170 if (needs_post_commit_initialization_) 167 if (needs_post_commit_initialization_)
171 DoPostCommitInitialization(); 168 DoPostCommitInitialization();
172 } 169 }
173 void DoPostCommitInitialization(); 170 void DoPostCommitInitialization();
174 171
175 bool CanHaveTilings() const;
176 bool CanHaveTilingWithScale(float contents_scale) const; 172 bool CanHaveTilingWithScale(float contents_scale) const;
177 void SanityCheckTilingState() const; 173 void SanityCheckTilingState() const;
178 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_;
(...skipping 29 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