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 3 // found in the LICENSE file. 4 5 #ifndef UI_OZONE_PUBLIC_NATIVE_PIXMAP_H_ 6 #define UI_OZONE_PUBLIC_NATIVE_PIXMAP_H_ 7 8 #include "base/memory/ref_counted.h" 9 10 namespace ui { 11 12 // This represents a buffer that can be directly imported via GL for 13 // rendering, or exported via dma-buf fds. 14 class NativePixmap : public base::RefCounted<NativePixmap> { 15 public: 16 NativePixmap() {} 17 18 virtual void* /* EGLClientBuffer */ GetEGLClientBuffer() = 0; 19 virtual int GetDmaBufFd() = 0; 20 21 protected: 22 virtual ~NativePixmap() {} 23 24 friend class base::RefCounted<NativePixmap>; 25 26 DISALLOW_COPY_AND_ASSIGN(NativePixmap); 27 }; 28 29 } // namespace ui 30 31 #endif // UI_OZONE_PUBLIC_NATIVE_PIXMAP_H_ 32