OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2016 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. | |
4 | |
5 #ifndef UI_OZONE_PLATFORM_DRM_CURSOR_PROXY_MOJO_H_ | |
6 #define UI_OZONE_PLATFORM_DRM_CURSOR_PROXY_MOJO_H_ | |
7 | |
8 #include "ui/gfx/native_widget_types.h" | |
9 #include "ui/ozone/platform/drm/gpu/inter_thread_messaging_proxy.h" | |
10 #include "ui/ozone/platform/drm/host/drm_cursor.h" | |
11 #include "ui/ozone/public/interfaces/cursor.mojom.h" | |
12 | |
13 namespace base { | |
14 class SingleThreadTaskRunner; | |
Tom Sepez
2016/07/19 16:14:38
nit: is this required? I didn't see it used in th
rjkroege
2016/07/21 01:10:41
Done.
| |
15 } | |
16 | |
17 namespace shell { | |
18 class Connector; | |
19 } | |
20 | |
21 namespace ui { | |
22 | |
23 // Ozone requires a IPC from the browser (or mus-ws) process to the gpu (or | |
24 // mus-gpu) process to control the mouse pointer. This class provides mouse | |
25 // pointer control via Mojo-style IPC. This code runs only in the mus-ws (i.e. | |
26 // it's the client) and sends mount pointer control messages to a less | |
Tom Sepez
2016/07/19 16:14:38
nit: mouse (sp)
rjkroege
2016/07/21 01:10:41
Done.
| |
27 // priviledged process. | |
28 class CursorProxyMojo : public DrmCursorProxy { | |
29 public: | |
30 CursorProxyMojo(shell::Connector* connector); | |
Tom Sepez
2016/07/19 16:14:38
nit: explicit
rjkroege
2016/07/21 01:10:41
Done.
| |
31 ~CursorProxyMojo() override; | |
32 | |
33 private: | |
34 // DrmCursorProxy. | |
35 void CursorSet(gfx::AcceleratedWidget window, | |
36 const std::vector<SkBitmap>& bitmaps, | |
37 const gfx::Point& point, | |
38 int frame_delay_ms) override; | |
39 void Move(gfx::AcceleratedWidget window, const gfx::Point& point) override; | |
40 void InitializeOnEvdev() override; | |
41 | |
42 std::unique_ptr<shell::Connector> connector_; | |
43 | |
44 // Mojo implementation of the DrmCursorProxy. | |
45 ui::ozone::mojom::CursorPtr main_cursor_ptr_; | |
46 ui::ozone::mojom::CursorPtr evdev_cursor_ptr_; | |
47 }; | |
48 | |
49 } // namespace ui | |
50 | |
51 #endif // UI_OZONE_PLATFORM_DRM_CURSOR_PROXY_MOJO_H_ | |
OLD | NEW |