diff options
Diffstat (limited to 'cc/quad_culler.h')
-rw-r--r-- | cc/quad_culler.h | 34 |
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 |