[email protected] | 0fb2500 | 2012-10-12 07:20:02 | [diff] [blame] | 1 | // 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] | cd57cc5a | 2012-10-12 22:43:41 | [diff] [blame] | 4 | |
5 | #ifndef CCIOSurfaceLayerImpl_h | ||||
6 | #define CCIOSurfaceLayerImpl_h | ||||
7 | |||||
8 | #include "CCLayerImpl.h" | ||||
9 | #include "IntSize.h" | ||||
10 | |||||
11 | namespace cc { | ||||
12 | |||||
[email protected] | 96baf3e | 2012-10-22 23:09:55 | [diff] [blame^] | 13 | class IOSurfaceLayerImpl : public LayerImpl { |
[email protected] | cd57cc5a | 2012-10-12 22:43:41 | [diff] [blame] | 14 | public: |
[email protected] | 96baf3e | 2012-10-22 23:09:55 | [diff] [blame^] | 15 | static scoped_ptr<IOSurfaceLayerImpl> create(int id) |
[email protected] | cd57cc5a | 2012-10-12 22:43:41 | [diff] [blame] | 16 | { |
[email protected] | 96baf3e | 2012-10-22 23:09:55 | [diff] [blame^] | 17 | return make_scoped_ptr(new IOSurfaceLayerImpl(id)); |
[email protected] | cd57cc5a | 2012-10-12 22:43:41 | [diff] [blame] | 18 | } |
[email protected] | 96baf3e | 2012-10-22 23:09:55 | [diff] [blame^] | 19 | virtual ~IOSurfaceLayerImpl(); |
[email protected] | cd57cc5a | 2012-10-12 22:43:41 | [diff] [blame] | 20 | |
21 | void setIOSurfaceProperties(unsigned ioSurfaceId, const IntSize&); | ||||
22 | |||||
[email protected] | 96baf3e | 2012-10-22 23:09:55 | [diff] [blame^] | 23 | virtual void appendQuads(QuadSink&, AppendQuadsData&) OVERRIDE; |
[email protected] | cd57cc5a | 2012-10-12 22:43:41 | [diff] [blame] | 24 | |
[email protected] | 96baf3e | 2012-10-22 23:09:55 | [diff] [blame^] | 25 | virtual void willDraw(ResourceProvider*) OVERRIDE; |
[email protected] | cd57cc5a | 2012-10-12 22:43:41 | [diff] [blame] | 26 | virtual void didLoseContext() OVERRIDE; |
27 | |||||
28 | virtual void dumpLayerProperties(std::string*, int indent) const OVERRIDE; | ||||
29 | |||||
30 | private: | ||||
[email protected] | 96baf3e | 2012-10-22 23:09:55 | [diff] [blame^] | 31 | explicit IOSurfaceLayerImpl(int); |
[email protected] | cd57cc5a | 2012-10-12 22:43:41 | [diff] [blame] | 32 | |
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 |