summaryrefslogtreecommitdiffstats
path: root/cc/tiled_layer_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'cc/tiled_layer_impl.h')
-rw-r--r--cc/tiled_layer_impl.h61
1 files changed, 60 insertions, 1 deletions
diff --git a/cc/tiled_layer_impl.h b/cc/tiled_layer_impl.h
index 638cbb2..2d6803d 100644
--- a/cc/tiled_layer_impl.h
+++ b/cc/tiled_layer_impl.h
@@ -1,3 +1,62 @@
-// 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 CCTiledLayerImpl_h
+#define CCTiledLayerImpl_h
+
+#include "CCLayerImpl.h"
+#include <public/WebTransformationMatrix.h>
+
+namespace cc {
+
+class CCLayerTilingData;
+class DrawableTile;
+
+class CCTiledLayerImpl : public CCLayerImpl {
+public:
+ static scoped_ptr<CCTiledLayerImpl> create(int id)
+ {
+ return make_scoped_ptr(new CCTiledLayerImpl(id));
+ }
+ virtual ~CCTiledLayerImpl();
+
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
+
+ virtual CCResourceProvider::ResourceId contentsResourceId() const OVERRIDE;
+
+ virtual void dumpLayerProperties(std::string*, int indent) const OVERRIDE;
+
+ void setSkipsDraw(bool skipsDraw) { m_skipsDraw = skipsDraw; }
+ void setTilingData(const CCLayerTilingData& tiler);
+ void pushTileProperties(int, int, CCResourceProvider::ResourceId, const IntRect& opaqueRect);
+ void pushInvalidTile(int, int);
+
+ void setContentsSwizzled(bool contentsSwizzled) { m_contentsSwizzled = contentsSwizzled; }
+ bool contentsSwizzled() const { return m_contentsSwizzled; }
+
+ virtual Region visibleContentOpaqueRegion() const OVERRIDE;
+ virtual void didLoseContext() OVERRIDE;
+
+protected:
+ explicit CCTiledLayerImpl(int id);
+ // Exposed for testing.
+ bool hasTileAt(int, int) const;
+ bool hasResourceIdForTileAt(int, int) const;
+
+private:
+
+ virtual const char* layerTypeAsString() const OVERRIDE;
+
+ DrawableTile* tileAt(int, int) const;
+ DrawableTile* createTile(int, int);
+
+ bool m_skipsDraw;
+ bool m_contentsSwizzled;
+
+ OwnPtr<CCLayerTilingData> m_tiler;
+};
+
+}
+
+#endif // CCTiledLayerImpl_h