Labyrinth
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
linuxlxs_gles.hpp
1 //////////////////////////////
2 //
3 // File: platform/linux/linuxlxs_gles.hpp
4 // Author: Maciej Kaminski
5 // E-mail: maciej.a.kaminski@gmail.com
6 // Website: maciejkaminski.pl
7 //
8 // File creation date: Nov 9 2012
9 // This file is part of Project Labyrinth
10 // This file is going to be released under terms of GNU GPL in near future
11 //
12 //////////////////////////////
13 
14 #ifndef __LINUX_LXS_GLES_HPP_
15 #define __LINUX_LXS_GLES_HPP_
16 #include <string>
17 #include "linuxlxs.hpp"
18 namespace LxS
19 {
20  namespace System
21  {
22  //! @brief OpenGL|ES port for Linux, used mainly for development.
23  //!
24  //! in most Linux environments LinuxLxSGL2 provides much better performance, but some Linux Systems, especially those ARM-based, don't have proper OpenGL drivers, only OpenGL|ES.
25  class LinuxLxSGLES: public LxSGLES, public LinuxLxS
26  {
27  protected:
28  //void HandleCommand(int32_t cmd);
29  //void HandleInput(AInputEvent* event);
30 
31  //! routine for creation of EGL context on linux
32  EGLBoolean CreateEGLContext (
33  EGLNativeWindowType hWnd,
34  EGLDisplay* eglDisplay,
35  EGLContext* eglContext,
36  EGLSurface* eglSurface,
37  EGLint attribList[]);
38 
39  public:
40 
41  virtual ~LinuxLxSGLES();
42  //! constructor
43  LinuxLxSGLES(const char * _title, GLint _w, GLint h);
44  virtual void DrawFrame();
45  virtual void Init(); // called by ctor;
46  virtual void Deinit(); // called by dtor;
47  };
48  }
49 }
50 #endif