//
// OpenGLContext.hpp
// AppLauncher
//
// Created by John Ryland on 1/10/17.
// Copyright © 2017 John Ryland. All rights reserved.
//
#pragma once
#ifndef OpenGLContext_h
#define OpenGLContext_h
#include "../Framework/Framework.h"
struct RenderContextState
{
bool m_clear;
vec4f m_clearColor;
};
class RenderContext
{
public:
RenderContextState* m_state;
};
class OpenGLContext
{
public:
OpenGLContext();
~OpenGLContext();
void setDemo(const char* a_demoStr);
void prepare();
void update();
void draw();
void onClose();
void onResize(const vec2f& a_shape);
void onMouseUp(const MouseEvent& a_event);
void onMouseDown(const MouseEvent& a_event);
void onMouseMove(const MouseEvent& a_event);
private:
DemoContext *m_currentDemo = nullptr;
};
#endif /* OpenGLContext_h */