
/*==============================================*\

  Vendredi 4 mai 2000

  Arash Habibi

  main.c

  L'utilisation des fonctions de MyGL.c qui 
  emulent le dessin par les fonctions glColor 
  et glVertex. 

\*==============================================*/


#include "PpmMaker.h"


void DessineCarreNoir(int xmin, int ymin, int xmax, int ymax)
/*==============================================*\
  dessine un rectangle aux bords noirs sur un 
  fond bleu clair. 
\*==============================================*/
{
  int i; 

  if((xmin >= xmax)||
     (ymin >= ymax))
    fprintf(stderr,"ymax et xmax doivent etre superieurs respectivement a ymin et xmin.\n"); 
  else
    {
      PM_Color(0, 0, 0);

      for(i=xmin; i<xmax; i++)
	{
	  PM_Vertex(i, ymin); 
	  PM_Vertex(i, ymax); 
	}

      for(i=ymin; i<ymax; i++)
	{
	  PM_Vertex(xmin, i);
	  PM_Vertex(xmax, i); 
	}
    }
}


void InputError(char *nom_prog)
/*==============================================*\
\*==============================================*/
{
  fprintf(stderr,"\nUsage : %s <largeur> <hauteur> <output.ppm>\n\n", nom_prog);
  exit(1);
}


void LectureParametres(int argc, char** argv, int *largeur, int *hauteur)
/*==============================================*\
\*==============================================*/
{
  if(argc!=4) 
    InputError(argv[0]); 
  else
    {
      *largeur = atoi(argv[1]); 
      *hauteur = atoi(argv[2]); 
    }
}


int main(int argc, char **argv)
/*==============================================*\
\*==============================================*/
{
  int largeur, hauteur; /* largeur de la fenetre */
  
  LectureParametres(argc, argv, &largeur, &hauteur); 

  PM_InitBuffer(largeur, hauteur);

  PM_Color(51, 127, 178);
  PM_Clear();

  DessineCarreNoir(20, 2, 200, 500); 

  PM_SaveImagePPM(argv[3], argv[0]); 

  PM_Close();
}









