1 // Copyright 2013 The Flutter 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 FLUTTER_SHELL_PLATFORM_ANDROID_ANDROID_ENVIRONMENT_GL_H_ 6 #define FLUTTER_SHELL_PLATFORM_ANDROID_ANDROID_ENVIRONMENT_GL_H_ 7 8 #include "flutter/fml/macros.h" 9 #include "flutter/fml/memory/ref_counted.h" 10 11 #include <EGL/egl.h> 12 13 namespace flutter { 14 15 class AndroidEnvironmentGL 16 : public fml::RefCountedThreadSafe<AndroidEnvironmentGL> { 17 private: 18 // MakeRefCounted 19 AndroidEnvironmentGL(); 20 21 // MakeRefCounted 22 ~AndroidEnvironmentGL(); 23 24 public: 25 bool IsValid() const; 26 27 EGLDisplay Display() const; 28 29 private: 30 EGLDisplay display_; 31 bool valid_; 32 33 FML_FRIEND_MAKE_REF_COUNTED(AndroidEnvironmentGL); 34 FML_FRIEND_REF_COUNTED_THREAD_SAFE(AndroidEnvironmentGL); 35 FML_DISALLOW_COPY_AND_ASSIGN(AndroidEnvironmentGL); 36 }; 37 38 } // namespace flutter 39 40 #endif // FLUTTER_SHELL_PLATFORM_ANDROID_ANDROID_ENVIRONMENT_GL_H_ 41