#ifndef WINDOWSCALED2TEST_H
#define WINDOWSCALED2TEST_H

#include <string>
#include <cmath>
using namespace std;

#include <func.h>
#include <gobj.h>
#include <pointsgraph.h>

/*!
\brief Test windowscaleD2 class.
*/
class windowscaleD2test
{
  /** Global graphics stream. */
  gobjContainer xGraphics;
  /** Default keyboard handler - ESC to quit. */
  static void keyboard01(unsigned char key, int x, int y);
  /** Displays the gobj::global with double buffering. */
  static void display01();
public:

  /** Brief description of each test. */
  static string doc[];

  /** Basic tests converting between 2D windows on windowscaleD2 class. */
  static int test001(int argc, char** argv);
  /** */
  void test002(int argc, char** argv);

  /** Tempory function. */
  funcA1( y01,-x*x+1.0,x,double,double );
  funcA1( y02,sin(x),x,double,double );
  funcA1( y03, 5.0/x ,x,double,double );
  //funcA1( y03, (x==0)*0+(x!=)*x ,x,double,double );
  funcA1( y04,cos(x),x,double,double );
  y04 f04;
  double f04time;
  double f04timedx;
  pointsgraphtime* f04pg;

  static windowscaleD2test* windowtest;

};

#endif


