summaryrefslogtreecommitdiffstats
path: root/cc/io_surface_draw_quad.h
diff options
context:
space:
mode:
Diffstat (limited to 'cc/io_surface_draw_quad.h')
-rw-r--r--cc/io_surface_draw_quad.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/cc/io_surface_draw_quad.h b/cc/io_surface_draw_quad.h
index 638cbb2..bb5b028 100644
--- a/cc/io_surface_draw_quad.h
+++ b/cc/io_surface_draw_quad.h
@@ -1,3 +1,42 @@
// 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 CCIOSurfaceDrawQuad_h
+#define CCIOSurfaceDrawQuad_h
+
+#include "CCDrawQuad.h"
+#include "IntSize.h"
+#include "base/memory/scoped_ptr.h"
+
+namespace cc {
+
+#pragma pack(push, 4)
+
+class CCIOSurfaceDrawQuad : public CCDrawQuad {
+public:
+ enum Orientation {
+ Flipped,
+ Unflipped
+ };
+
+ static scoped_ptr<CCIOSurfaceDrawQuad> create(const CCSharedQuadState*, const IntRect&, const IntSize& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation);
+
+ IntSize ioSurfaceSize() const { return m_ioSurfaceSize; }
+ unsigned ioSurfaceTextureId() const { return m_ioSurfaceTextureId; }
+ Orientation orientation() const { return m_orientation; }
+
+ static const CCIOSurfaceDrawQuad* materialCast(const CCDrawQuad*);
+private:
+ CCIOSurfaceDrawQuad(const CCSharedQuadState*, const IntRect&, const IntSize& ioSurfaceSize, unsigned ioSurfaceTextureId, Orientation);
+
+ IntSize m_ioSurfaceSize;
+ unsigned m_ioSurfaceTextureId;
+ Orientation m_orientation;
+};
+
+#pragma pack(pop)
+
+}
+
+#endif