#pragma once

typedef void* EGLContext;
typedef void*  EGLDisplay;
typedef void*  EGLSurface;
typedef void*  EGLConfig;
struct ANativeWindow;

namespace egl
{
class Context
{
    EGLContext m_context;
    EGLDisplay m_display;
    EGLSurface m_surface;
    EGLConfig m_config;
    ANativeWindow* m_native_window;
public:
    Context();
    bool create(ANativeWindow* window = nullptr);
    void destroy();
    void swap();
    bool make_current(ANativeWindow* window = nullptr);
};
}
