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