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

Side by Side Diff: cc/layer.h

Issue 11360093: Mark layers that can use LCD text based on layer transform and opacity. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed build 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
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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_LAYER_H_ 5 #ifndef CC_LAYER_H_
6 #define CC_LAYER_H_ 6 #define CC_LAYER_H_
7 7
8 #include <public/WebFilterOperations.h> 8 #include <public/WebFilterOperations.h>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 DrawProperties<Layer, RenderSurface>& drawProperties() { return m_drawProper ties; } 133 DrawProperties<Layer, RenderSurface>& drawProperties() { return m_drawProper ties; }
134 const DrawProperties<Layer, RenderSurface>& drawProperties() const { return m_drawProperties; } 134 const DrawProperties<Layer, RenderSurface>& drawProperties() const { return m_drawProperties; }
135 135
136 // The following are shortcut accessors to get various information from m_dr awProperties 136 // The following are shortcut accessors to get various information from m_dr awProperties
137 const gfx::Transform& drawTransform() const { return m_drawProperties.target _space_transform; } 137 const gfx::Transform& drawTransform() const { return m_drawProperties.target _space_transform; }
138 const gfx::Transform& screenSpaceTransform() const { return m_drawProperties .screen_space_transform; } 138 const gfx::Transform& screenSpaceTransform() const { return m_drawProperties .screen_space_transform; }
139 float drawOpacity() const { return m_drawProperties.opacity; } 139 float drawOpacity() const { return m_drawProperties.opacity; }
140 bool drawOpacityIsAnimating() const { return m_drawProperties.opacity_is_ani mating; } 140 bool drawOpacityIsAnimating() const { return m_drawProperties.opacity_is_ani mating; }
141 bool drawTransformIsAnimating() const { return m_drawProperties.target_space _transform_is_animating; } 141 bool drawTransformIsAnimating() const { return m_drawProperties.target_space _transform_is_animating; }
142 bool screenSpaceTransformIsAnimating() const { return m_drawProperties.scree n_space_transform_is_animating; } 142 bool screenSpaceTransformIsAnimating() const { return m_drawProperties.scree n_space_transform_is_animating; }
143 bool screenSpaceOpacityIsAnimating() const { return m_drawProperties.screen_ space_opacity_is_animating; }
143 bool isClipped() const { return m_drawProperties.is_clipped; } 144 bool isClipped() const { return m_drawProperties.is_clipped; }
144 const gfx::Rect& clipRect() const { return m_drawProperties.clip_rect; } 145 const gfx::Rect& clipRect() const { return m_drawProperties.clip_rect; }
145 const gfx::Rect& drawableContentRect() const { return m_drawProperties.drawa ble_content_rect; } 146 const gfx::Rect& drawableContentRect() const { return m_drawProperties.drawa ble_content_rect; }
146 const gfx::Rect& visibleContentRect() const { return m_drawProperties.visibl e_content_rect; } 147 const gfx::Rect& visibleContentRect() const { return m_drawProperties.visibl e_content_rect; }
147 Layer* renderTarget() { DCHECK(!m_drawProperties.render_target || m_drawProp erties.render_target->renderSurface()); return m_drawProperties.render_target; } 148 Layer* renderTarget() { DCHECK(!m_drawProperties.render_target || m_drawProp erties.render_target->renderSurface()); return m_drawProperties.render_target; }
148 const Layer* renderTarget() const { DCHECK(!m_drawProperties.render_target | | m_drawProperties.render_target->renderSurface()); return m_drawProperties.rend er_target; } 149 const Layer* renderTarget() const { DCHECK(!m_drawProperties.render_target | | m_drawProperties.render_target->renderSurface()); return m_drawProperties.rend er_target; }
149 RenderSurface* renderSurface() const { return m_drawProperties.render_surfac e.get(); } 150 RenderSurface* renderSurface() const { return m_drawProperties.render_surfac e.get(); }
150 151
151 void setScrollOffset(gfx::Vector2d); 152 void setScrollOffset(gfx::Vector2d);
152 gfx::Vector2d scrollOffset() const { return m_scrollOffset; } 153 gfx::Vector2d scrollOffset() const { return m_scrollOffset; }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 187
187 void setDoubleSided(bool); 188 void setDoubleSided(bool);
188 bool doubleSided() const { return m_doubleSided; } 189 bool doubleSided() const { return m_doubleSided; }
189 190
190 void setPreserves3D(bool preserve3D) { m_preserves3D = preserve3D; } 191 void setPreserves3D(bool preserve3D) { m_preserves3D = preserve3D; }
191 bool preserves3D() const { return m_preserves3D; } 192 bool preserves3D() const { return m_preserves3D; }
192 193
193 void setUseParentBackfaceVisibility(bool useParentBackfaceVisibility) { m_us eParentBackfaceVisibility = useParentBackfaceVisibility; } 194 void setUseParentBackfaceVisibility(bool useParentBackfaceVisibility) { m_us eParentBackfaceVisibility = useParentBackfaceVisibility; }
194 bool useParentBackfaceVisibility() const { return m_useParentBackfaceVisibil ity; } 195 bool useParentBackfaceVisibility() const { return m_useParentBackfaceVisibil ity; }
195 196
196 void setUseLCDText(bool); 197 void setCanUseLCDText(bool);
197 bool useLCDText() const { return m_useLCDText; } 198 bool canUseLCDText() const { return m_canUseLCDText; }
198 199
199 virtual void setLayerTreeHost(LayerTreeHost*); 200 virtual void setLayerTreeHost(LayerTreeHost*);
200 201
201 bool hasContributingDelegatedRenderPasses() const { return false; } 202 bool hasContributingDelegatedRenderPasses() const { return false; }
202 203
203 void setIsDrawable(bool); 204 void setIsDrawable(bool);
204 205
205 void setReplicaLayer(Layer*); 206 void setReplicaLayer(Layer*);
206 Layer* replicaLayer() { return m_replicaLayer.get(); } 207 Layer* replicaLayer() { return m_replicaLayer.get(); }
207 const Layer* replicaLayer() const { return m_replicaLayer.get(); } 208 const Layer* replicaLayer() const { return m_replicaLayer.get(); }
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 protected: 292 protected:
292 friend class LayerImpl; 293 friend class LayerImpl;
293 friend class TreeSynchronizer; 294 friend class TreeSynchronizer;
294 virtual ~Layer(); 295 virtual ~Layer();
295 296
296 Layer(); 297 Layer();
297 298
298 void setNeedsCommit(); 299 void setNeedsCommit();
299 void setNeedsFullTreeSync(); 300 void setNeedsFullTreeSync();
300 301
302 // Called when LCD text setting is about to potentially change.
303 // If this function returns true, the setting is allowed to change.
304 // If it returns false, the setting is not changed.
305 virtual bool canUseLCDTextWillChange();
enne (OOO) 2012/12/11 02:47:15 Can you do this without adding more virtuals to La
alokp 2012/12/11 05:07:21 I do not understand your solution but the reason I
alokp 2012/12/12 17:42:24 Done.
306 virtual void canUseLCDTextDidChange() { }
307
301 // This flag is set when layer need repainting/updating. 308 // This flag is set when layer need repainting/updating.
302 bool m_needsDisplay; 309 bool m_needsDisplay;
303 310
304 // Tracks whether this layer may have changed stacking order with its siblin gs. 311 // Tracks whether this layer may have changed stacking order with its siblin gs.
305 bool m_stackingOrderChanged; 312 bool m_stackingOrderChanged;
306 313
307 // The update rect is the region of the compositor resource that was actuall y updated by the compositor. 314 // The update rect is the region of the compositor resource that was actuall y updated by the compositor.
308 // For layers that may do updating outside the compositor's control (i.e. pl ugin layers), this information 315 // For layers that may do updating outside the compositor's control (i.e. pl ugin layers), this information
309 // is not available and the update rect will remain empty. 316 // is not available and the update rect will remain empty.
310 // Note this rect is in layer space (not content space). 317 // Note this rect is in layer space (not content space).
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 skia::RefPtr<SkImageFilter> m_filter; 368 skia::RefPtr<SkImageFilter> m_filter;
362 WebKit::WebFilterOperations m_filters; 369 WebKit::WebFilterOperations m_filters;
363 WebKit::WebFilterOperations m_backgroundFilters; 370 WebKit::WebFilterOperations m_backgroundFilters;
364 float m_anchorPointZ; 371 float m_anchorPointZ;
365 bool m_isContainerForFixedPositionLayers; 372 bool m_isContainerForFixedPositionLayers;
366 bool m_fixedToContainerLayer; 373 bool m_fixedToContainerLayer;
367 bool m_isDrawable; 374 bool m_isDrawable;
368 bool m_masksToBounds; 375 bool m_masksToBounds;
369 bool m_contentsOpaque; 376 bool m_contentsOpaque;
370 bool m_doubleSided; 377 bool m_doubleSided;
371 bool m_useLCDText; 378 bool m_canUseLCDText;
enne (OOO) 2012/12/11 02:47:15 Can you move this to DrawProperties? I think it be
alokp 2012/12/11 05:07:21 I considered doing that but I could think of a goo
alokp 2012/12/12 17:42:24 Done.
372 bool m_preserves3D; 379 bool m_preserves3D;
373 bool m_useParentBackfaceVisibility; 380 bool m_useParentBackfaceVisibility;
374 bool m_drawCheckerboardForMissingTiles; 381 bool m_drawCheckerboardForMissingTiles;
375 bool m_forceRenderSurface; 382 bool m_forceRenderSurface;
376 383
377 gfx::Transform m_transform; 384 gfx::Transform m_transform;
378 gfx::Transform m_sublayerTransform; 385 gfx::Transform m_sublayerTransform;
379 386
380 // Replica layer used for reflections. 387 // Replica layer used for reflections.
381 scoped_refptr<Layer> m_replicaLayer; 388 scoped_refptr<Layer> m_replicaLayer;
382 389
383 // Transient properties. 390 // Transient properties.
384 float m_rasterScale; 391 float m_rasterScale;
385 bool m_automaticallyComputeRasterScale; 392 bool m_automaticallyComputeRasterScale;
386 bool m_boundsContainPageScale; 393 bool m_boundsContainPageScale;
387 394
388 gfx::Transform m_implTransform; 395 gfx::Transform m_implTransform;
389 396
390 WebKit::WebAnimationDelegate* m_layerAnimationDelegate; 397 WebKit::WebAnimationDelegate* m_layerAnimationDelegate;
391 WebKit::WebLayerScrollClient* m_layerScrollClient; 398 WebKit::WebLayerScrollClient* m_layerScrollClient;
392 399
393 DrawProperties<Layer, RenderSurface> m_drawProperties; 400 DrawProperties<Layer, RenderSurface> m_drawProperties;
394 }; 401 };
395 402
396 void sortLayers(std::vector<scoped_refptr<Layer> >::iterator, std::vector<scoped _refptr<Layer> >::iterator, void*); 403 void sortLayers(std::vector<scoped_refptr<Layer> >::iterator, std::vector<scoped _refptr<Layer> >::iterator, void*);
397 404
398 } // namespace cc 405 } // namespace cc
399 406
400 #endif // CC_LAYER_H_ 407 #endif // CC_LAYER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698