| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_PUBLIC_SURFACE_FACTORY_OZONE_H_ | 5 #ifndef UI_OZONE_PUBLIC_SURFACE_FACTORY_OZONE_H_ |
| 6 #define UI_OZONE_PUBLIC_SURFACE_FACTORY_OZONE_H_ | 6 #define UI_OZONE_PUBLIC_SURFACE_FACTORY_OZONE_H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/native_library.h" | 10 #include "base/native_library.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 SurfaceFactoryOzone(); | 81 SurfaceFactoryOzone(); |
| 82 virtual ~SurfaceFactoryOzone(); | 82 virtual ~SurfaceFactoryOzone(); |
| 83 | 83 |
| 84 // Returns the singleton instance. | 84 // Returns the singleton instance. |
| 85 static SurfaceFactoryOzone* GetInstance(); | 85 static SurfaceFactoryOzone* GetInstance(); |
| 86 | 86 |
| 87 // Returns native platform display handle. This is used to obtain the EGL | 87 // Returns native platform display handle. This is used to obtain the EGL |
| 88 // display connection for the native display. | 88 // display connection for the native display. |
| 89 virtual intptr_t GetNativeDisplay(); | 89 virtual intptr_t GetNativeDisplay(); |
| 90 | 90 |
| 91 // Returns Drm file descriptor. This is used to obtain access to the |
| 92 // driver interface by other API than GL. |
| 93 virtual int GetDrmFd(); |
| 94 |
| 91 // Create SurfaceOzoneEGL for the specified gfx::AcceleratedWidget. | 95 // Create SurfaceOzoneEGL for the specified gfx::AcceleratedWidget. |
| 92 // | 96 // |
| 93 // Note: When used from content, this is called in the GPU process. The | 97 // Note: When used from content, this is called in the GPU process. The |
| 94 // platform must support creation of SurfaceOzoneEGL from the GPU process | 98 // platform must support creation of SurfaceOzoneEGL from the GPU process |
| 95 // using only the handle contained in gfx::AcceleratedWidget. | 99 // using only the handle contained in gfx::AcceleratedWidget. |
| 96 virtual scoped_ptr<SurfaceOzoneEGL> CreateEGLSurfaceForWidget( | 100 virtual scoped_ptr<SurfaceOzoneEGL> CreateEGLSurfaceForWidget( |
| 97 gfx::AcceleratedWidget widget); | 101 gfx::AcceleratedWidget widget); |
| 98 | 102 |
| 99 // Create an EGL surface that isn't backed by any buffers, and is used | 103 // Create an EGL surface that isn't backed by any buffers, and is used |
| 100 // for overlay-only displays. This will return NULL if this mode is | 104 // for overlay-only displays. This will return NULL if this mode is |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 // such as MAP for zero copy or SCANOUT for display controller. | 166 // such as MAP for zero copy or SCANOUT for display controller. |
| 163 virtual bool CanCreateNativePixmap(BufferUsage usage); | 167 virtual bool CanCreateNativePixmap(BufferUsage usage); |
| 164 | 168 |
| 165 private: | 169 private: |
| 166 static SurfaceFactoryOzone* impl_; // not owned | 170 static SurfaceFactoryOzone* impl_; // not owned |
| 167 }; | 171 }; |
| 168 | 172 |
| 169 } // namespace ui | 173 } // namespace ui |
| 170 | 174 |
| 171 #endif // UI_OZONE_PUBLIC_SURFACE_FACTORY_OZONE_H_ | 175 #endif // UI_OZONE_PUBLIC_SURFACE_FACTORY_OZONE_H_ |
| OLD | NEW |