OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 EXAMPLES_GANESH_APP_GANESH_VIEW_H_ | 5 #ifndef EXAMPLES_GANESH_APP_GANESH_VIEW_H_ |
6 #define EXAMPLES_GANESH_APP_GANESH_VIEW_H_ | 6 #define EXAMPLES_GANESH_APP_GANESH_VIEW_H_ |
7 | 7 |
8 #include "examples/ganesh_app/texture_uploader.h" | 8 #include "examples/ganesh_app/texture_uploader.h" |
9 #include "mojo/gpu/gl_context.h" | 9 #include "mojo/gpu/gl_context.h" |
10 #include "mojo/services/surfaces/public/interfaces/surface_id.mojom.h" | 10 #include "mojo/services/surfaces/public/interfaces/surface_id.mojom.h" |
11 #include "mojo/services/view_manager/public/cpp/view_observer.h" | 11 #include "mojo/services/view_manager/public/cpp/view_observer.h" |
12 #include "mojo/skia/ganesh_context.h" | 12 #include "mojo/skia/ganesh_context.h" |
13 | 13 |
14 namespace mojo { | 14 namespace mojo { |
15 class Shell; | 15 class Shell; |
16 } | 16 } |
17 | 17 |
18 namespace examples { | 18 namespace examples { |
19 | 19 |
20 class GaneshView : public TextureUploader::Client, public mojo::ViewObserver { | 20 class GaneshView : public TextureUploader::Client, public mojo::ViewObserver { |
21 public: | 21 public: |
22 GaneshView(mojo::Shell* shell, mojo::View* view); | 22 GaneshView(mojo::Shell* shell, mojo::View* view); |
23 ~GaneshView(); | 23 ~GaneshView() override; |
24 | 24 |
25 private: | 25 private: |
26 void OnViewDestroyed(mojo::View* view) override; | 26 void OnViewDestroyed(mojo::View* view) override; |
27 void OnViewBoundsChanged(mojo::View* view, | 27 void OnViewBoundsChanged(mojo::View* view, |
28 const mojo::Rect& old_bounds, | 28 const mojo::Rect& old_bounds, |
29 const mojo::Rect& new_bounds) override; | 29 const mojo::Rect& new_bounds) override; |
30 | 30 |
31 void OnSurfaceIdAvailable(mojo::SurfaceIdPtr surface_id) override; | 31 void OnSurfaceIdAvailable(mojo::SurfaceIdPtr surface_id) override; |
32 | 32 |
33 void Draw(const mojo::Size& size); | 33 void Draw(const mojo::Size& size); |
34 | 34 |
35 mojo::View* view_; | 35 mojo::View* view_; |
36 base::WeakPtr<mojo::GLContext> gl_context_; | 36 base::WeakPtr<mojo::GLContext> gl_context_; |
37 mojo::GaneshContext gr_context_; | 37 mojo::GaneshContext gr_context_; |
38 TextureUploader texture_uploader_; | 38 TextureUploader texture_uploader_; |
39 | 39 |
40 DISALLOW_COPY_AND_ASSIGN(GaneshView); | 40 DISALLOW_COPY_AND_ASSIGN(GaneshView); |
41 }; | 41 }; |
42 | 42 |
43 } // namespace examples | 43 } // namespace examples |
44 | 44 |
45 #endif // EXAMPLES_GANESH_APP_GANESH_VIEW_H_ | 45 #endif // EXAMPLES_GANESH_APP_GANESH_VIEW_H_ |
OLD | NEW |