OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_BROWSER_ANDROID_DRAW_DELEGATE_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_ANDROID_DRAW_DELEGATE_IMPL_H_ |
6 #define CONTENT_BROWSER_ANDROID_DRAW_DELEGATE_IMPL_H_ | 6 #define CONTENT_BROWSER_ANDROID_DRAW_DELEGATE_IMPL_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "content/public/browser/android/draw_delegate.h" | 9 #include "content/public/browser/android/draw_delegate.h" |
10 #include "ui/gfx/native_widget_types.h" | 10 #include "ui/gfx/native_widget_types.h" |
11 #include "ui/gfx/size.h" | 11 #include "ui/gfx/size.h" |
12 | 12 |
13 namespace content { | 13 namespace content { |
14 | 14 |
15 class DrawDelegateImpl : public DrawDelegate { | 15 class DrawDelegateImpl : public DrawDelegate { |
16 public: | 16 public: |
17 static DrawDelegateImpl* GetInstance(); | 17 static DrawDelegateImpl* GetInstance(); |
18 DrawDelegateImpl(); | 18 DrawDelegateImpl(); |
19 virtual ~DrawDelegateImpl(); | 19 virtual ~DrawDelegateImpl(); |
20 | 20 |
21 // DrawDelegate implementation. | 21 // DrawDelegate implementation. |
22 virtual void SetUpdateCallback( | 22 virtual void SetUpdateCallback( |
23 const SurfaceUpdatedCallback& callback) OVERRIDE; | 23 const SurfaceUpdatedCallback& callback) OVERRIDE; |
24 virtual void SetBounds(const gfx::Size& size) OVERRIDE { size_ = size; } | 24 virtual void SetBounds(const gfx::Size& size) OVERRIDE; |
25 | 25 |
26 void SetDrawSurface(gfx::GLSurfaceHandle handle) { handle_ = handle; } | 26 void SetDrawSurface(gfx::GLSurfaceHandle handle) { handle_ = handle; } |
27 void OnSurfaceUpdated(uint64 texture, RenderWidgetHostView* view, | 27 void OnSurfaceUpdated(uint64 texture, RenderWidgetHostView* view, |
28 const SurfacePresentedCallback& present_callback); | 28 const SurfacePresentedCallback& present_callback); |
29 gfx::Size GetBounds() { return size_; } | 29 gfx::Size GetBounds() { return size_; } |
30 gfx::GLSurfaceHandle GetDrawSurface() { return handle_; } | 30 gfx::GLSurfaceHandle GetDrawSurface() { return handle_; } |
31 | 31 |
32 protected: | 32 protected: |
33 SurfaceUpdatedCallback draw_callback_; | 33 SurfaceUpdatedCallback draw_callback_; |
34 gfx::GLSurfaceHandle handle_; | 34 gfx::GLSurfaceHandle handle_; |
35 gfx::Size size_; | 35 gfx::Size size_; |
36 | 36 |
37 DISALLOW_COPY_AND_ASSIGN(DrawDelegateImpl); | 37 DISALLOW_COPY_AND_ASSIGN(DrawDelegateImpl); |
38 }; | 38 }; |
39 | 39 |
40 } // namespace content | 40 } // namespace content |
41 | 41 |
42 #endif // CONTENT_BROWSER_ANDROID_DRAW_DELEGATE_IMPL_H_ | 42 #endif // CONTENT_BROWSER_ANDROID_DRAW_DELEGATE_IMPL_H_ |
OLD | NEW |