
#include <buttonpanel01test.h>
#include <commandline.h>
#include <graphmisc.h>

string buttonpanel01test::doc[] = 
{
  "",
  "- buttonpanel01test Prob: buttons and coord transforms."
};

void buttonpanel01test::keyboard01
(
  unsigned char key, 
  int x, 
  int y
)
{
  switch (key)
  {
    case 27: exit(0); break;
  }

  glutPostRedisplay();
}



void buttonpanel01test::display01()
{ 
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

  assert(gobj::global);

  gobj::global->draw();

  glerrordisplay();
  
  glutSwapBuffers();
}

buttonpanel01test::~buttonpanel01test()
{
  delete zm;
  zm=0;
  delete zz;
  zz=0;
  delete bp;
  bp=0;
}
  

buttonpanel01test::buttonpanel01test(int argc, char** argv)
  : xGraphics(true) 
{
  glutInit(&argc,argv);
  glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
  glutInitWindowSize(800,600);
  glutCreateWindow("");
  glutDisplayFunc(buttonpanel01test::display01);
  glutKeyboardFunc(buttonpanel01test::keyboard01);

  OpenGLinitialisation();

  glEnable(GL_DEPTH_TEST);
  glEnable(GL_CULL_FACE);
  glEnable(GL_NORMALIZE);

  xGraphics.set();

  gobjpush(new myaxes(1.0));

  commandline cmd(argc,argv);

  zz = new zpr();
  zz->update();

  zm = new zprmouse(*zz);
  bp = new buttonpanel01(zm);

  gobjpush(bp);

  glutMainLoop();
}



