OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WebExternalTextureLayerImpl_h | 5 #ifndef WebExternalTextureLayerImpl_h |
6 #define WebExternalTextureLayerImpl_h | 6 #define WebExternalTextureLayerImpl_h |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "cc/texture_layer_client.h" | 9 #include "cc/texture_layer_client.h" |
10 #include "third_party/WebKit/Source/Platform/chromium/public/WebExternalTextureL
ayer.h" | 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebExternalTextureL
ayer.h" |
11 #include "webkit/compositor_bindings/webkit_compositor_bindings_export.h" | 11 #include "webkit/compositor_bindings/webkit_compositor_bindings_export.h" |
12 | 12 |
13 namespace WebKit { | 13 namespace WebKit { |
14 | 14 |
15 class WebLayerImpl; | 15 class WebLayerImpl; |
16 struct WebFloatRect; | 16 struct WebFloatRect; |
17 | 17 |
18 class WebExternalTextureLayerImpl : public WebExternalTextureLayer, | 18 class WebExternalTextureLayerImpl : public WebExternalTextureLayer, |
19 public cc::TextureLayerClient { | 19 public cc::TextureLayerClient { |
20 public: | 20 public: |
21 WEBKIT_COMPOSITOR_BINDINGS_EXPORT explicit WebExternalTextureLayerImpl( | 21 WEBKIT_COMPOSITOR_BINDINGS_EXPORT explicit WebExternalTextureLayerImpl( |
22 WebExternalTextureLayerClient*); | 22 WebExternalTextureLayerClient*, bool single_buffer); |
23 virtual ~WebExternalTextureLayerImpl(); | 23 virtual ~WebExternalTextureLayerImpl(); |
24 | 24 |
25 // WebExternalTextureLayer implementation. | 25 // WebExternalTextureLayer implementation. |
26 virtual WebLayer* layer(); | 26 virtual WebLayer* layer(); |
27 virtual void setTextureId(unsigned); | 27 virtual void setTextureId(unsigned); |
28 virtual void setFlipped(bool); | 28 virtual void setFlipped(bool); |
29 virtual void setUVRect(const WebFloatRect&); | 29 virtual void setUVRect(const WebFloatRect&); |
30 virtual void setOpaque(bool); | 30 virtual void setOpaque(bool); |
31 virtual void setPremultipliedAlpha(bool); | 31 virtual void setPremultipliedAlpha(bool); |
32 virtual void willModifyTexture(); | 32 virtual void willModifyTexture(); |
33 virtual void setRateLimitContext(bool); | 33 virtual void setRateLimitContext(bool); |
34 | 34 |
35 // TextureLayerClient implementation. | 35 // TextureLayerClient implementation. |
36 virtual unsigned prepareTexture(cc::ResourceUpdateQueue&) OVERRIDE; | 36 virtual unsigned prepareTexture(cc::ResourceUpdateQueue&) OVERRIDE; |
37 virtual WebGraphicsContext3D* context() OVERRIDE; | 37 virtual WebGraphicsContext3D* context() OVERRIDE; |
38 | 38 |
39 private: | 39 private: |
40 WebExternalTextureLayerClient* client_; | 40 WebExternalTextureLayerClient* client_; |
41 scoped_ptr<WebLayerImpl> layer_; | 41 scoped_ptr<WebLayerImpl> layer_; |
42 }; | 42 }; |
43 | 43 |
44 } | 44 } |
45 | 45 |
46 #endif // WebExternalTextureLayerImpl_h | 46 #endif // WebExternalTextureLayerImpl_h |
OLD | NEW |