summaryrefslogtreecommitdiffstats
path: root/cc/quad_culler.h
diff options
context:
space:
mode:
Diffstat (limited to 'cc/quad_culler.h')
-rw-r--r--cc/quad_culler.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/cc/quad_culler.h b/cc/quad_culler.h
index 638cbb2..b3927cc 100644
--- a/cc/quad_culler.h
+++ b/cc/quad_culler.h
@@ -1,3 +1,37 @@
// Copyright 2012 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 CCQuadCuller_h
+#define CCQuadCuller_h
+
+#include "CCQuadSink.h"
+#include "CCRenderPass.h"
+
+namespace cc {
+class CCLayerImpl;
+class CCRenderSurface;
+template<typename LayerType, typename SurfaceType>
+class CCOcclusionTrackerBase;
+
+class CCQuadCuller : public CCQuadSink {
+public:
+ CCQuadCuller(CCQuadList&, CCSharedQuadStateList&, CCLayerImpl*, const CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>*, bool showCullingWithDebugBorderQuads, bool forSurface);
+ virtual ~CCQuadCuller() { }
+
+ // CCQuadSink implementation.
+ virtual CCSharedQuadState* useSharedQuadState(scoped_ptr<CCSharedQuadState>) OVERRIDE;
+ virtual bool append(scoped_ptr<CCDrawQuad>, CCAppendQuadsData&) OVERRIDE;
+
+private:
+ CCQuadList& m_quadList;
+ CCSharedQuadStateList& m_sharedQuadStateList;
+ CCSharedQuadState* m_currentSharedQuadState;
+ CCLayerImpl* m_layer;
+ const CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>* m_occlusionTracker;
+ bool m_showCullingWithDebugBorderQuads;
+ bool m_forSurface;
+};
+
+}
+#endif // CCQuadCuller_h