OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 COMPONENTS_EXO_DISPLAY_H_ | 5 #ifndef COMPONENTS_EXO_DISPLAY_H_ |
6 #define COMPONENTS_EXO_DISPLAY_H_ | 6 #define COMPONENTS_EXO_DISPLAY_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "base/memory/shared_memory_handle.h" | 13 #include "base/memory/shared_memory_handle.h" |
14 | 14 |
15 #if defined(USE_OZONE) | 15 #if defined(USE_OZONE) |
16 #include "base/files/scoped_file.h" | 16 #include "base/files/scoped_file.h" |
17 #include "ui/gfx/buffer_types.h" | 17 #include "ui/gfx/buffer_types.h" |
18 #include "ui/gfx/geometry/size.h" | 18 #include "ui/gfx/geometry/size.h" |
| 19 #include "ui/gfx/native_pixmap_handle_ozone.h" |
19 #endif | 20 #endif |
20 | 21 |
21 namespace gfx { | 22 namespace gfx { |
22 class Point; | 23 class Point; |
23 } | 24 } |
24 | 25 |
25 namespace exo { | 26 namespace exo { |
26 class SharedMemory; | 27 class SharedMemory; |
27 class ShellSurface; | 28 class ShellSurface; |
28 class SubSurface; | 29 class SubSurface; |
(...skipping 18 matching lines...) Expand all Loading... |
47 // given |id|. This function takes ownership of |handle|. | 48 // given |id|. This function takes ownership of |handle|. |
48 std::unique_ptr<SharedMemory> CreateSharedMemory( | 49 std::unique_ptr<SharedMemory> CreateSharedMemory( |
49 const base::SharedMemoryHandle& handle, | 50 const base::SharedMemoryHandle& handle, |
50 size_t size); | 51 size_t size); |
51 | 52 |
52 #if defined(USE_OZONE) | 53 #if defined(USE_OZONE) |
53 // Creates a buffer for a Linux DMA-buf file descriptor. | 54 // Creates a buffer for a Linux DMA-buf file descriptor. |
54 std::unique_ptr<Buffer> CreateLinuxDMABufBuffer( | 55 std::unique_ptr<Buffer> CreateLinuxDMABufBuffer( |
55 const gfx::Size& size, | 56 const gfx::Size& size, |
56 gfx::BufferFormat format, | 57 gfx::BufferFormat format, |
57 const std::vector<int>& strides, | 58 const std::vector<gfx::GbmBufferPlane>& planes, |
58 const std::vector<int>& offsets, | |
59 std::vector<base::ScopedFD>&& fds); | 59 std::vector<base::ScopedFD>&& fds); |
60 #endif | 60 #endif |
61 | 61 |
62 // Creates a shell surface for an existing surface. | 62 // Creates a shell surface for an existing surface. |
63 std::unique_ptr<ShellSurface> CreateShellSurface(Surface* surface); | 63 std::unique_ptr<ShellSurface> CreateShellSurface(Surface* surface); |
64 | 64 |
65 // Creates a popup shell surface for an existing surface at |position| and | 65 // Creates a popup shell surface for an existing surface at |position| and |
66 // with |parent|. |position| is in |parent| surface local coordinates. | 66 // with |parent|. |position| is in |parent| surface local coordinates. |
67 std::unique_ptr<ShellSurface> CreatePopupShellSurface( | 67 std::unique_ptr<ShellSurface> CreatePopupShellSurface( |
68 Surface* surface, | 68 Surface* surface, |
69 ShellSurface* parent, | 69 ShellSurface* parent, |
70 const gfx::Point& position); | 70 const gfx::Point& position); |
71 | 71 |
72 // Creates a remote shell surface for an existing surface using |container|. | 72 // Creates a remote shell surface for an existing surface using |container|. |
73 std::unique_ptr<ShellSurface> CreateRemoteShellSurface(Surface* surface, | 73 std::unique_ptr<ShellSurface> CreateRemoteShellSurface(Surface* surface, |
74 int container); | 74 int container); |
75 | 75 |
76 // Creates a sub-surface for an existing surface. The sub-surface will be | 76 // Creates a sub-surface for an existing surface. The sub-surface will be |
77 // a child of |parent|. | 77 // a child of |parent|. |
78 std::unique_ptr<SubSurface> CreateSubSurface(Surface* surface, | 78 std::unique_ptr<SubSurface> CreateSubSurface(Surface* surface, |
79 Surface* parent); | 79 Surface* parent); |
80 | 80 |
81 private: | 81 private: |
82 DISALLOW_COPY_AND_ASSIGN(Display); | 82 DISALLOW_COPY_AND_ASSIGN(Display); |
83 }; | 83 }; |
84 | 84 |
85 } // namespace exo | 85 } // namespace exo |
86 | 86 |
87 #endif // COMPONENTS_EXO_DISPLAY_H_ | 87 #endif // COMPONENTS_EXO_DISPLAY_H_ |
OLD | NEW |