#include <graph.h>
#include "types.h"
#include "Transf.h"

static int cx=0, cy=0;

int isGrOk(){ return graphresult()==grOk; }
int initGr(int gd, int gm=0)
{
   initgraph(&gd, &gm, "");
   if(!isGrOk()) initgraph(&gd, &gm, "..\\BGI");
   if(!isGrOk()) return 0;
   
   cx = getmaxx()/2;
   cy = getmaxy()/2;
   return 1;
}

void drow_punct(Punct p, int color=WHITE){ putpixel(cx + p.x, cy - p.y, color); }
void drow_set_puncte(PPunct p, int nr, int color=WHITE)
{
   if(!cx || !cy) initGr(DETECT);
   for(int i=0; i<nr; i++) drow_punct(p[i], color);
}

void drow_pol_segm(Punct p, int color=WHITE)
{
  cartez_punct(p, p);
  setcolor(color);
  line(cx, cy, cx + p.x, cy - p.y);
}

void drow_set_puncte_pol(PPunct p, int nr, int color=WHITE)
{
   if(!cx || !cy) initGr(DETECT);
   for(int i=0; i<nr; i++) drow_pol_segm(p[i], color);
}
