| 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 |