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

Unified Diff: ui/ozone/platform/dri/dri_surface.h

Issue 403043004: [Ozone-DRI] Remove unneeded wrappers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/ozone/platform/dri/dri.gypi ('k') | ui/ozone/platform/dri/dri_surface.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/dri/dri_surface.h
diff --git a/ui/ozone/platform/dri/dri_surface.h b/ui/ozone/platform/dri/dri_surface.h
index 49f87b481c1345ce7fe21b1fe7753ab74c4a53c7..e46a531b793177a3583d1bd94663386dfdf3be90 100644
--- a/ui/ozone/platform/dri/dri_surface.h
+++ b/ui/ozone/platform/dri/dri_surface.h
@@ -5,53 +5,50 @@
#ifndef UI_OZONE_PLATFORM_DRI_DRI_SURFACE_H_
#define UI_OZONE_PLATFORM_DRI_DRI_SURFACE_H_
-#include "base/compiler_specific.h"
-#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
+#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/skia_util.h"
-#include "ui/ozone/platform/dri/scanout_surface.h"
+#include "ui/ozone/public/surface_ozone_canvas.h"
class SkCanvas;
+class SkSurface;
namespace ui {
class DriBuffer;
class DriWrapper;
+class HardwareDisplayController;
-// An implementation of ScanoutSurface which uses dumb buffers (used for
-// software rendering).
-class DriSurface : public ScanoutSurface {
+class DriSurface : public SurfaceOzoneCanvas {
public:
- DriSurface(DriWrapper* dri, const gfx::Size& size);
+ DriSurface(DriWrapper* dri,
+ const base::WeakPtr<HardwareDisplayController>& controller);
virtual ~DriSurface();
- // Get a Skia canvas for a backbuffer.
- SkCanvas* GetDrawableForWidget();
- scoped_refptr<DriBuffer> backbuffer() const {
- return bitmaps_[front_buffer_ ^ 1];
- }
-
- // ScanoutSurface:
- virtual bool Initialize() OVERRIDE;
- virtual uint32_t GetFramebufferId() const OVERRIDE;
- virtual uint32_t GetHandle() const OVERRIDE;
- virtual void PreSwapBuffers() OVERRIDE;
- virtual void SwapBuffers() OVERRIDE;
- virtual gfx::Size Size() const OVERRIDE;
+ // SurfaceOzoneCanvas:
+ virtual skia::RefPtr<SkCanvas> GetCanvas() OVERRIDE;
+ virtual void ResizeCanvas(const gfx::Size& viewport_size) OVERRIDE;
+ virtual void PresentCanvas(const gfx::Rect& damage) OVERRIDE;
+ virtual scoped_ptr<gfx::VSyncProvider> CreateVSyncProvider() OVERRIDE;
private:
+ void UpdateNativeSurface(const gfx::Rect& damage);
+
// Stores the connection to the graphics card. Pointer not owned by this
// class.
DriWrapper* dri_;
// The actual buffers used for painting.
- scoped_refptr<DriBuffer> bitmaps_[2];
+ scoped_refptr<DriBuffer> buffers_[2];
// Keeps track of which bitmap is |buffers_| is the frontbuffer.
int front_buffer_;
- // Surface size.
- gfx::Size size_;
+ skia::RefPtr<SkSurface> surface_;
+ gfx::Rect last_damage_;
+ base::WeakPtr<HardwareDisplayController> controller_;
DISALLOW_COPY_AND_ASSIGN(DriSurface);
};
« no previous file with comments | « ui/ozone/platform/dri/dri.gypi ('k') | ui/ozone/platform/dri/dri_surface.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698