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

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

Issue 367833003: cc: Start using raster/eviction iterators. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
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 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 const gfx::Rect& content_rect) OVERRIDE; 105 const gfx::Rect& content_rect) OVERRIDE;
106 virtual PicturePileImpl* GetPile() OVERRIDE; 106 virtual PicturePileImpl* GetPile() OVERRIDE;
107 virtual gfx::Size CalculateTileSize( 107 virtual gfx::Size CalculateTileSize(
108 const gfx::Size& content_bounds) const OVERRIDE; 108 const gfx::Size& content_bounds) const OVERRIDE;
109 virtual const Region* GetInvalidation() OVERRIDE; 109 virtual const Region* GetInvalidation() OVERRIDE;
110 virtual const PictureLayerTiling* GetTwinTiling( 110 virtual const PictureLayerTiling* GetTwinTiling(
111 const PictureLayerTiling* tiling) const OVERRIDE; 111 const PictureLayerTiling* tiling) const OVERRIDE;
112 virtual size_t GetMaxTilesForInterestArea() const OVERRIDE; 112 virtual size_t GetMaxTilesForInterestArea() const OVERRIDE;
113 virtual float GetSkewportTargetTimeInSeconds() const OVERRIDE; 113 virtual float GetSkewportTargetTimeInSeconds() const OVERRIDE;
114 virtual int GetSkewportExtrapolationLimitInContentPixels() const OVERRIDE; 114 virtual int GetSkewportExtrapolationLimitInContentPixels() const OVERRIDE;
115 virtual WhichTree GetTree() const OVERRIDE;
116 virtual bool RequiresHighResToDraw() const OVERRIDE;
vmpstr 2014/07/02 23:51:29 This is here for detecting when to mark tiles requ
enne (OOO) 2014/07/07 19:41:59 I think this name is fine.
115 117
116 // PushPropertiesTo active tree => pending tree. 118 // PushPropertiesTo active tree => pending tree.
117 void SyncTiling(const PictureLayerTiling* tiling); 119 void SyncTiling(const PictureLayerTiling* tiling);
118 120
119 // Mask-related functions 121 // Mask-related functions
120 void SetIsMask(bool is_mask); 122 void SetIsMask(bool is_mask);
121 virtual ResourceProvider::ResourceId ContentsResourceId() const OVERRIDE; 123 virtual ResourceProvider::ResourceId ContentsResourceId() const OVERRIDE;
122 124
123 virtual size_t GPUMemoryUsageInBytes() const OVERRIDE; 125 virtual size_t GPUMemoryUsageInBytes() const OVERRIDE;
124 126
125 virtual void RunMicroBenchmark(MicroBenchmarkImpl* benchmark) OVERRIDE; 127 virtual void RunMicroBenchmark(MicroBenchmarkImpl* benchmark) OVERRIDE;
126 128
127 // Functions used by tile manager. 129 // Functions used by tile manager.
128 PictureLayerImpl* GetTwinLayer() { return twin_layer_; } 130 PictureLayerImpl* GetTwinLayer() { return twin_layer_; }
129 WhichTree GetTree() const;
130 bool IsOnActiveOrPendingTree() const; 131 bool IsOnActiveOrPendingTree() const;
131 bool HasValidTilePriorities() const; 132 bool HasValidTilePriorities() const;
132 bool AllTilesRequiredForActivationAreReadyToDraw() const; 133 bool AllTilesRequiredForActivationAreReadyToDraw() const;
133 134
134 protected: 135 protected:
135 friend class LayerRasterTileIterator; 136 friend class LayerRasterTileIterator;
136 137
137 PictureLayerImpl(LayerTreeImpl* tree_impl, int id); 138 PictureLayerImpl(LayerTreeImpl* tree_impl, int id);
138 PictureLayerTiling* AddTiling(float contents_scale); 139 PictureLayerTiling* AddTiling(float contents_scale);
139 void RemoveTiling(float contents_scale); 140 void RemoveTiling(float contents_scale);
140 void RemoveAllTilings(); 141 void RemoveAllTilings();
141 void SyncFromActiveLayer(const PictureLayerImpl* other); 142 void SyncFromActiveLayer(const PictureLayerImpl* other);
142 void AddTilingsForRasterScale(); 143 void AddTilingsForRasterScale();
143 void UpdateTilePriorities( 144 void UpdateTilePriorities(
144 const OcclusionTracker<LayerImpl>* occlusion_tracker); 145 const OcclusionTracker<LayerImpl>* occlusion_tracker);
145 virtual bool ShouldAdjustRasterScale() const; 146 virtual bool ShouldAdjustRasterScale() const;
146 virtual void RecalculateRasterScales(); 147 virtual void RecalculateRasterScales();
147 void CleanUpTilingsOnActiveLayer( 148 void CleanUpTilingsOnActiveLayer(
148 std::vector<PictureLayerTiling*> used_tilings); 149 std::vector<PictureLayerTiling*> used_tilings);
149 float MinimumContentsScale() const; 150 float MinimumContentsScale() const;
150 float SnappedContentsScale(float new_contents_scale); 151 float SnappedContentsScale(float new_contents_scale);
151 void ResetRasterScale(); 152 void ResetRasterScale();
152 void MarkVisibleResourcesAsRequired() const;
153 bool MarkVisibleTilesAsRequired(
154 PictureLayerTiling* tiling,
155 const PictureLayerTiling* optional_twin_tiling,
156 float contents_scale,
157 const gfx::Rect& rect,
158 const Region& missing_region) const;
159 153
160 void DoPostCommitInitializationIfNeeded() { 154 void DoPostCommitInitializationIfNeeded() {
161 if (needs_post_commit_initialization_) 155 if (needs_post_commit_initialization_)
162 DoPostCommitInitialization(); 156 DoPostCommitInitialization();
163 } 157 }
164 void DoPostCommitInitialization(); 158 void DoPostCommitInitialization();
165 159
166 bool CanHaveTilings() const; 160 bool CanHaveTilings() const;
167 bool CanHaveTilingWithScale(float contents_scale) const; 161 bool CanHaveTilingWithScale(float contents_scale) const;
168 void SanityCheckTilingState() const; 162 void SanityCheckTilingState() const;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 gfx::Size viewport_size_for_tile_priority_; 200 gfx::Size viewport_size_for_tile_priority_;
207 gfx::Transform screen_space_transform_for_tile_priority_; 201 gfx::Transform screen_space_transform_for_tile_priority_;
208 202
209 friend class PictureLayer; 203 friend class PictureLayer;
210 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl); 204 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl);
211 }; 205 };
212 206
213 } // namespace cc 207 } // namespace cc
214 208
215 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_ 209 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698