summaryrefslogtreecommitdiffstats
path: root/cc/render_surface_impl.h
diff options
context:
space:
mode:
authorenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 22:43:41 +0000
committerenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 22:43:41 +0000
commitcd57cc5a246367c2558fefa04ae9eca8f4d545d2 (patch)
treea2235045e9c5e4ff028d641b76f5d01aa5461b26 /cc/render_surface_impl.h
parent3fe7ba055be580443445895c0ee01ada3b628487 (diff)
downloadchromium_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.h131
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