#include	<sys/time.h>
#include	<signal.h>
#include	<unistd.h>
#include	<stdio.h>
#include	<math.h>

#include <gl/gl.h>
#include <gl/device.h>


#ifndef M_PI
#define M_PI    3.14159265358979323846
#endif

#ifndef _2_M_PI
#define _2_M_PI     6.2831853072
#endif

#define STEP      (6*M_PI/180.0)

void handler(int sig)
{
	swapbuffers();
}

int main(int argc, char *argv[] )
{
    long gwid;
    long gw_x, gw_y;
    long MyEvent;

	float step=0;

    short val;
    int quitting=0;

	static struct itimerval ivalue;
	static struct itimerval ovalue;



/*	prefsize(480,480);*/
	prefposition(100,320,100,320);
	foreground();
	gwid=winopen("hola");
	RGBmode();
	doublebuffer();
	gconfig();


	sigset(SIGALRM,handler);

	ivalue.it_value.tv_usec = 900;
	ivalue.it_value.tv_sec = 0;

	ivalue.it_interval.tv_usec = 50000;
	ivalue.it_interval.tv_sec = 0;

	setitimer(ITIMER_REAL, &ivalue, &ovalue);


	ortho2(1.5,-1.5,1.5,-1.5);
	while(!quitting)
	{
		sleep(1024);
		cpack(0x00000000);
		clear();
		cpack(0x000000ff);

		step += STEP;
		circf( (float)cos(step), (float)sin(step), 0.1 );
	}
	winclose(gwid);
	return(0);
}