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 UI_OZONE_PLATFORM_DRI_SCANOUT_BUFFER_H_ | 5 #ifndef UI_OZONE_PLATFORM_DRI_SCANOUT_BUFFER_H_ |
6 #define UI_OZONE_PLATFORM_DRI_SCANOUT_BUFFER_H_ | 6 #define UI_OZONE_PLATFORM_DRI_SCANOUT_BUFFER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "ui/gfx/geometry/size.h" | 11 #include "ui/gfx/geometry/size.h" |
12 | 12 |
13 namespace ui { | 13 namespace ui { |
14 | 14 |
15 class DriWrapper; | 15 class DrmDevice; |
16 | 16 |
17 // Abstraction for a DRM buffer that can be scanned-out of. | 17 // Abstraction for a DRM buffer that can be scanned-out of. |
18 class ScanoutBuffer : public base::RefCountedThreadSafe<ScanoutBuffer> { | 18 class ScanoutBuffer : public base::RefCountedThreadSafe<ScanoutBuffer> { |
19 public: | 19 public: |
20 // ID allocated by the KMS API when the buffer is registered (via the handle). | 20 // ID allocated by the KMS API when the buffer is registered (via the handle). |
21 virtual uint32_t GetFramebufferId() const = 0; | 21 virtual uint32_t GetFramebufferId() const = 0; |
22 | 22 |
23 // Handle for the buffer. This is received when allocating the buffer. | 23 // Handle for the buffer. This is received when allocating the buffer. |
24 virtual uint32_t GetHandle() const = 0; | 24 virtual uint32_t GetHandle() const = 0; |
25 | 25 |
26 // Size of the buffer. | 26 // Size of the buffer. |
27 virtual gfx::Size GetSize() const = 0; | 27 virtual gfx::Size GetSize() const = 0; |
28 | 28 |
29 protected: | 29 protected: |
30 virtual ~ScanoutBuffer() {} | 30 virtual ~ScanoutBuffer() {} |
31 | 31 |
32 friend class base::RefCountedThreadSafe<ScanoutBuffer>; | 32 friend class base::RefCountedThreadSafe<ScanoutBuffer>; |
33 }; | 33 }; |
34 | 34 |
35 class ScanoutBufferGenerator { | 35 class ScanoutBufferGenerator { |
36 public: | 36 public: |
37 virtual ~ScanoutBufferGenerator() {} | 37 virtual ~ScanoutBufferGenerator() {} |
38 | 38 |
39 virtual scoped_refptr<ScanoutBuffer> Create( | 39 virtual scoped_refptr<ScanoutBuffer> Create( |
40 const scoped_refptr<DriWrapper>& drm, | 40 const scoped_refptr<DrmDevice>& drm, |
41 const gfx::Size& size) = 0; | 41 const gfx::Size& size) = 0; |
42 }; | 42 }; |
43 | 43 |
44 } // namespace ui | 44 } // namespace ui |
45 | 45 |
46 #endif // UI_OZONE_PLATFORM_DRI_SCANOUT_BUFFER_H_ | 46 #endif // UI_OZONE_PLATFORM_DRI_SCANOUT_BUFFER_H_ |
OLD | NEW |