#ifndef GLGRAPHICS_H
#define GLGRAPHICS_H

#ifdef WIN32
#include <windows.h>
#endif

#include <GL/gl.h>
#include "vect3.h"
#include "LgraphicsBaseClass.h"

class GLGraphics: public Lgraphics
{
 private:
  const vector<vect3<GLfloat> > *colours;
  bool    Rendered, OutputDone;
  GLuint  theLsys;
 public:
  GLGraphics(vector <vect3<GLfloat> > *colour_array);
  void StoreHexahedron(vector <vect3<float> > *vertex, unsigned short int colour);
  void StoreTriangleStrip(vector <vect3<float> > *vertex, unsigned short int colour);

  void BeginStore();
  void EndStore();

  void BeginOutput(){}; //nothing needed
  void Output();
  void EndOutput(){};   //nothing needed
  void Clear();

  bool HasBeenStored();
  bool HasBeenOutput();
};

#endif
