Chromium Code Reviews| Index: ui/gl/gl_image_ozone_native_pixmap.h |
| diff --git a/ui/gl/gl_image_ozone_native_pixmap.h b/ui/gl/gl_image_ozone_native_pixmap.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f25058839854d3cd970ef740427d8e53e22a58d8 |
| --- /dev/null |
| +++ b/ui/gl/gl_image_ozone_native_pixmap.h |
| @@ -0,0 +1,57 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef UI_GL_GL_IMAGE_OZONE_NATIVE_PIXMAP_H_ |
| +#define UI_GL_GL_IMAGE_OZONE_NATIVE_PIXMAP_H_ |
| + |
| +#include "ui/gfx/gpu_memory_buffer.h" |
| +#include "ui/gl/gl_image.h" |
| +#include "ui/ozone/public/native_pixmap.h" |
| + |
| +namespace gfx { |
| + |
| +class GL_EXPORT GLImageOzoneNativePixmap : public GLImage { |
|
reveman
2015/07/28 14:40:57
While it might not be ideal we currently use inher
dshwang
2015/07/28 16:21:55
GLImageOzoneNativePixmap inherits GLImageLinuxDMAB
spang
2015/07/28 19:34:27
This is an abuse of inheritance.
I don't think we
dshwang
2015/07/29 13:23:09
Got it. It's same opinion to reveman's. I did make
|
| + public: |
| + static scoped_refptr<GLImageOzoneNativePixmap> Create( |
| + scoped_refptr<ui::NativePixmap> pixmap, |
| + const Size& size, |
| + GpuMemoryBuffer::Format format, |
| + unsigned internalformat); |
|
reveman
2015/07/28 14:40:57
Some consistency requests:
Please remove this Cre
dshwang
2015/07/28 16:21:55
Thank you for detailed explanation. Done.
|
| + |
| + void Destroy(bool have_context) override; |
| + Size GetSize() override; |
| + unsigned GetInternalFormat() override; |
| + bool BindTexImage(unsigned target) override; |
| + void ReleaseTexImage(unsigned target) override; |
| + bool CopyTexSubImage(unsigned target, |
| + const Point& offset, |
| + const Rect& rect) override; |
| + void WillUseTexImage() override; |
| + void DidUseTexImage() override; |
| + void WillModifyTexImage() override; |
| + void DidModifyTexImage() override; |
| + bool ScheduleOverlayPlane(AcceleratedWidget widget, |
| + int z_order, |
| + OverlayTransform transform, |
| + const Rect& bounds_rect, |
| + const RectF& crop_rect); |
| + |
| + private: |
| + GLImageOzoneNativePixmap(scoped_refptr<ui::NativePixmap> pixmap, |
| + const Size& size, |
| + GpuMemoryBuffer::Format format, |
| + unsigned internalformat); |
| + ~GLImageOzoneNativePixmap() override; |
| + bool Initialize(); |
| + |
| + scoped_refptr<ui::NativePixmap> pixmap_; |
| + const Size size_; |
| + GpuMemoryBuffer::Format format_; |
| + unsigned internalformat_; |
| + scoped_refptr<GLImage> image_; |
| +}; |
| + |
| +} // namespace gfx |
| + |
| +#endif // UI_GL_GL_IMAGE_OZONE_NATIVE_PIXMAP_H_ |