blob: 656cb15b68b72e4cd75c4f0199fbaa3d05331049 [file] [log] [blame]
[email protected]0fb25002012-10-12 07:20:021// Copyright 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
[email protected]cd57cc5a2012-10-12 22:43:414
5#ifndef CCIOSurfaceLayerImpl_h
6#define CCIOSurfaceLayerImpl_h
7
8#include "CCLayerImpl.h"
9#include "IntSize.h"
10
11namespace cc {
12
[email protected]96baf3e2012-10-22 23:09:5513class IOSurfaceLayerImpl : public LayerImpl {
[email protected]cd57cc5a2012-10-12 22:43:4114public:
[email protected]96baf3e2012-10-22 23:09:5515 static scoped_ptr<IOSurfaceLayerImpl> create(int id)
[email protected]cd57cc5a2012-10-12 22:43:4116 {
[email protected]96baf3e2012-10-22 23:09:5517 return make_scoped_ptr(new IOSurfaceLayerImpl(id));
[email protected]cd57cc5a2012-10-12 22:43:4118 }
[email protected]96baf3e2012-10-22 23:09:5519 virtual ~IOSurfaceLayerImpl();
[email protected]cd57cc5a2012-10-12 22:43:4120
21 void setIOSurfaceProperties(unsigned ioSurfaceId, const IntSize&);
22
[email protected]96baf3e2012-10-22 23:09:5523 virtual void appendQuads(QuadSink&, AppendQuadsData&) OVERRIDE;
[email protected]cd57cc5a2012-10-12 22:43:4124
[email protected]96baf3e2012-10-22 23:09:5525 virtual void willDraw(ResourceProvider*) OVERRIDE;
[email protected]cd57cc5a2012-10-12 22:43:4126 virtual void didLoseContext() OVERRIDE;
27
28 virtual void dumpLayerProperties(std::string*, int indent) const OVERRIDE;
29
30private:
[email protected]96baf3e2012-10-22 23:09:5531 explicit IOSurfaceLayerImpl(int);
[email protected]cd57cc5a2012-10-12 22:43:4132
33 virtual const char* layerTypeAsString() const OVERRIDE;
34
35 unsigned m_ioSurfaceId;
36 IntSize m_ioSurfaceSize;
37 bool m_ioSurfaceChanged;
38 unsigned m_ioSurfaceTextureId;
39};
40
41}
42
43#endif // CCIOSurfaceLayerImpl_h