diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 22:43:41 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 22:43:41 +0000 |
commit | cd57cc5a246367c2558fefa04ae9eca8f4d545d2 (patch) | |
tree | a2235045e9c5e4ff028d641b76f5d01aa5461b26 /cc/render_surface_impl.h | |
parent | 3fe7ba055be580443445895c0ee01ada3b628487 (diff) | |
download | chromium_src-cd57cc5a246367c2558fefa04ae9eca8f4d545d2.zip chromium_src-cd57cc5a246367c2558fefa04ae9eca8f4d545d2.tar.gz chromium_src-cd57cc5a246367c2558fefa04ae9eca8f4d545d2.tar.bz2 |
[cc] Rename all cc/ filenames to Chromium style
BUG=155413
Review URL: https://codereview.chromium.org/11122003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161671 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/render_surface_impl.h')
-rw-r--r-- | cc/render_surface_impl.h | 131 |
1 files changed, 130 insertions, 1 deletions
diff --git a/cc/render_surface_impl.h b/cc/render_surface_impl.h index 638cbb2..afdf062 100644 --- a/cc/render_surface_impl.h +++ b/cc/render_surface_impl.h @@ -1,3 +1,132 @@ -// Copyright 2012 The Chromium Authors. All rights reserved. +// Copyright 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. + +#ifndef CCRenderSurface_h +#define CCRenderSurface_h + +#if USE(ACCELERATED_COMPOSITING) + +#include "base/basictypes.h" +#include "base/memory/scoped_ptr.h" +#include "CCRenderPass.h" +#include "CCSharedQuadState.h" +#include "FloatRect.h" +#include "IntRect.h" +#include <public/WebTransformationMatrix.h> + +namespace cc { + +class CCDamageTracker; +class CCDelegatedRendererLayerImpl; +class CCQuadSink; +class CCRenderPassSink; +class CCLayerImpl; + +struct CCAppendQuadsData; + +class CCRenderSurface { +public: + explicit CCRenderSurface(CCLayerImpl*); + virtual ~CCRenderSurface(); + + std::string name() const; + void dumpSurface(std::string*, int indent) const; + + FloatPoint contentRectCenter() const { return FloatRect(m_contentRect).center(); } + + // Returns the rect that encloses the RenderSurface including any reflection. + FloatRect drawableContentRect() const; + + float drawOpacity() const { return m_drawOpacity; } + void setDrawOpacity(float opacity) { m_drawOpacity = opacity; } + + void setNearestAncestorThatMovesPixels(CCRenderSurface* surface) { m_nearestAncestorThatMovesPixels = surface; } + const CCRenderSurface* nearestAncestorThatMovesPixels() const { return m_nearestAncestorThatMovesPixels; } + + bool drawOpacityIsAnimating() const { return m_drawOpacityIsAnimating; } + void setDrawOpacityIsAnimating(bool drawOpacityIsAnimating) { m_drawOpacityIsAnimating = drawOpacityIsAnimating; } + + void setDrawTransform(const WebKit::WebTransformationMatrix& drawTransform) { m_drawTransform = drawTransform; } + const WebKit::WebTransformationMatrix& drawTransform() const { return m_drawTransform; } + + void setScreenSpaceTransform(const WebKit::WebTransformationMatrix& screenSpaceTransform) { m_screenSpaceTransform = screenSpaceTransform; } + const WebKit::WebTransformationMatrix& screenSpaceTransform() const { return m_screenSpaceTransform; } + + void setReplicaDrawTransform(const WebKit::WebTransformationMatrix& replicaDrawTransform) { m_replicaDrawTransform = replicaDrawTransform; } + const WebKit::WebTransformationMatrix& replicaDrawTransform() const { return m_replicaDrawTransform; } + + void setReplicaScreenSpaceTransform(const WebKit::WebTransformationMatrix& replicaScreenSpaceTransform) { m_replicaScreenSpaceTransform = replicaScreenSpaceTransform; } + const WebKit::WebTransformationMatrix& replicaScreenSpaceTransform() const { return m_replicaScreenSpaceTransform; } + + bool targetSurfaceTransformsAreAnimating() const { return m_targetSurfaceTransformsAreAnimating; } + void setTargetSurfaceTransformsAreAnimating(bool animating) { m_targetSurfaceTransformsAreAnimating = animating; } + bool screenSpaceTransformsAreAnimating() const { return m_screenSpaceTransformsAreAnimating; } + void setScreenSpaceTransformsAreAnimating(bool animating) { m_screenSpaceTransformsAreAnimating = animating; } + + void setClipRect(const IntRect&); + const IntRect& clipRect() const { return m_clipRect; } + + bool contentsChanged() const; + + void setContentRect(const IntRect&); + const IntRect& contentRect() const { return m_contentRect; } + + std::vector<CCLayerImpl*>& layerList() { return m_layerList; } + void addContributingDelegatedRenderPassLayer(CCLayerImpl*); + void clearLayerLists(); + + int owningLayerId() const; + + void resetPropertyChangedFlag() { m_surfacePropertyChanged = false; } + bool surfacePropertyChanged() const; + bool surfacePropertyChangedOnlyFromDescendant() const; + + CCDamageTracker* damageTracker() const { return m_damageTracker.get(); } + + CCRenderPass::Id renderPassId(); + + void appendRenderPasses(CCRenderPassSink&); + void appendQuads(CCQuadSink&, CCAppendQuadsData&, bool forReplica, CCRenderPass::Id renderPassId); + +private: + CCLayerImpl* m_owningLayer; + + // Uses this surface's space. + IntRect m_contentRect; + bool m_surfacePropertyChanged; + + float m_drawOpacity; + bool m_drawOpacityIsAnimating; + WebKit::WebTransformationMatrix m_drawTransform; + WebKit::WebTransformationMatrix m_screenSpaceTransform; + WebKit::WebTransformationMatrix m_replicaDrawTransform; + WebKit::WebTransformationMatrix m_replicaScreenSpaceTransform; + bool m_targetSurfaceTransformsAreAnimating; + bool m_screenSpaceTransformsAreAnimating; + + // Uses the space of the surface's target surface. + IntRect m_clipRect; + + std::vector<CCLayerImpl*> m_layerList; + std::vector<CCDelegatedRendererLayerImpl*> m_contributingDelegatedRenderPassLayerList; + + // The nearest ancestor target surface that will contain the contents of this surface, and that is going + // to move pixels within the surface (such as with a blur). This can point to itself. + CCRenderSurface* m_nearestAncestorThatMovesPixels; + + scoped_ptr<CCDamageTracker> m_damageTracker; + + // For CCLayerIteratorActions + int m_targetRenderSurfaceLayerIndexHistory; + int m_currentLayerIndexHistory; + + friend struct CCLayerIteratorActions; + + DISALLOW_COPY_AND_ASSIGN(CCRenderSurface); +}; + +} +#endif // USE(ACCELERATED_COMPOSITING) + +#endif |