1 // 2 // Copyright 2016 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // DisplayAndroid.h: Android implementation of egl::Display 8 9 #ifndef LIBANGLE_RENDERER_GL_EGL_ANDROID_DISPLAYANDROID_H_ 10 #define LIBANGLE_RENDERER_GL_EGL_ANDROID_DISPLAYANDROID_H_ 11 12 #include <map> 13 #include <string> 14 #include <vector> 15 16 #include "libANGLE/renderer/gl/egl/DisplayEGL.h" 17 18 namespace rx 19 { 20 21 class RendererEGL; 22 23 class DisplayAndroid : public DisplayEGL 24 { 25 public: 26 DisplayAndroid(const egl::DisplayState &state); 27 ~DisplayAndroid() override; 28 29 bool isValidNativeWindow(EGLNativeWindowType window) const override; 30 31 egl::Error validateImageClientBuffer(const gl::Context *context, 32 EGLenum target, 33 EGLClientBuffer clientBuffer, 34 const egl::AttributeMap &attribs) const override; 35 36 ExternalImageSiblingImpl *createExternalImageSibling(const gl::Context *context, 37 EGLenum target, 38 EGLClientBuffer buffer, 39 const egl::AttributeMap &attribs) override; 40 }; 41 42 } // namespace rx 43 44 #endif // LIBANGLE_RENDERER_GL_EGL_ANDROID_DISPLAYANDROID_H_ 45