Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: ui/ozone/platform/dri/gbm_surfaceless.h

Issue 469343003: [Ozone-GBM] Pumb DriWindowDelegate throughout the platform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_GBM_SURFACELESS_H_ 5 #ifndef UI_OZONE_PLATFORM_DRI_GBM_SURFACELESS_H_
6 #define UI_OZONE_PLATFORM_DRI_GBM_SURFACELESS_H_ 6 #define UI_OZONE_PLATFORM_DRI_GBM_SURFACELESS_H_
7 7
8 #include "base/memory/scoped_ptr.h"
9 #include "ui/ozone/platform/dri/hardware_display_controller.h"
10 #include "ui/ozone/public/surface_ozone_egl.h" 8 #include "ui/ozone/public/surface_ozone_egl.h"
11 9
12 namespace gfx { 10 namespace gfx {
13 class Size; 11 class Size;
14 class Rect;
15 } // namespace gfx 12 } // namespace gfx
16 13
17 namespace ui { 14 namespace ui {
18 15
16 class DriWindowDelegate;
17
19 // In surfaceless mode drawing and displaying happens directly through 18 // In surfaceless mode drawing and displaying happens directly through
20 // NativePixmap buffers. CC would call into SurfaceFactoryOzone to allocate the 19 // NativePixmap buffers. CC would call into SurfaceFactoryOzone to allocate the
21 // buffers and then call ScheduleOverlayPlane(..) to schedule the buffer for 20 // buffers and then call ScheduleOverlayPlane(..) to schedule the buffer for
22 // presentation. 21 // presentation.
23 class GbmSurfaceless : public SurfaceOzoneEGL { 22 class GbmSurfaceless : public SurfaceOzoneEGL {
24 public: 23 public:
25 GbmSurfaceless(const base::WeakPtr<HardwareDisplayController>& controller); 24 GbmSurfaceless(DriWindowDelegate* window_delegate);
26 virtual ~GbmSurfaceless(); 25 virtual ~GbmSurfaceless();
27 26
28 // SurfaceOzoneEGL: 27 // SurfaceOzoneEGL:
29 virtual intptr_t GetNativeWindow() OVERRIDE; 28 virtual intptr_t GetNativeWindow() OVERRIDE;
30 virtual bool ResizeNativeWindow(const gfx::Size& viewport_size) OVERRIDE; 29 virtual bool ResizeNativeWindow(const gfx::Size& viewport_size) OVERRIDE;
31 virtual bool OnSwapBuffers() OVERRIDE; 30 virtual bool OnSwapBuffers() OVERRIDE;
32 virtual scoped_ptr<gfx::VSyncProvider> CreateVSyncProvider() OVERRIDE; 31 virtual scoped_ptr<gfx::VSyncProvider> CreateVSyncProvider() OVERRIDE;
32
33 protected: 33 protected:
34 base::WeakPtr<HardwareDisplayController> controller_; 34 DriWindowDelegate* window_delegate_;
35 35
36 DISALLOW_COPY_AND_ASSIGN(GbmSurfaceless); 36 DISALLOW_COPY_AND_ASSIGN(GbmSurfaceless);
37 }; 37 };
38 38
39 } // namespace ui 39 } // namespace ui
40 40
41 #endif // UI_OZONE_PLATFORM_DRI_GBM_SURFACELESS_H_ 41 #endif // UI_OZONE_PLATFORM_DRI_GBM_SURFACELESS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698