Index: ui/ozone/platform/dri/dri_buffer.cc |
diff --git a/ui/ozone/platform/dri/dri_buffer.cc b/ui/ozone/platform/dri/dri_buffer.cc |
index 6fab6863b188c6da81f6d291078dbb4fead8dade..4a35395c95a42a9cd50169c682448d5738de1156 100644 |
--- a/ui/ozone/platform/dri/dri_buffer.cc |
+++ b/ui/ozone/platform/dri/dri_buffer.cc |
@@ -79,4 +79,33 @@ bool DriBuffer::Initialize(const SkImageInfo& info) { |
return true; |
} |
+SkCanvas* DriBuffer::GetCanvas() const { |
+ return surface_->getCanvas(); |
+} |
+ |
+uint32_t DriBuffer::GetFramebufferId() const { |
+ return framebuffer_; |
+} |
+ |
+uint32_t DriBuffer::GetHandle() const { |
+ return handle_; |
+} |
+ |
+gfx::Size DriBuffer::GetSize() const { |
+ return gfx::Size(surface_->width(), surface_->height()); |
+} |
+ |
+DriBufferGenerator::DriBufferGenerator(DriWrapper* dri) : dri_(dri) {} |
+ |
+DriBufferGenerator::~DriBufferGenerator() {} |
+ |
+scoped_refptr<ScanoutBuffer> DriBufferGenerator::Create(const gfx::Size& size) { |
+ scoped_refptr<DriBuffer> buffer(new DriBuffer(dri_)); |
+ SkImageInfo info = SkImageInfo::MakeN32Premul(size.width(), size.height()); |
+ if (!buffer->Initialize(info)) |
+ return NULL; |
+ |
+ return buffer; |
+} |
+ |
} // namespace ui |