#include <stdio.h>
#include "glib4.h"

void draw_bezier2(double P[],double Q[],double R[]) {
 double Step,T,X,Y,X2,Y2;
 Step=0.05; T=0;
 X=P[0]*(1-T)*(1-T)+2*Q[0]*T*(1-T)+R[0]*T*T;
 Y=P[1]*(1-T)*(1-T)+2*Q[1]*T*(1-T)+R[1]*T*T;
 for (T=Step; T<=1.0; T += Step) {
   X2=P[0]*(1-T)*(1-T)+2*Q[0]*T*(1-T)+R[0]*T*T;
   Y2=P[1]*(1-T)*(1-T)+2*Q[1]*T*(1-T)+R[1]*T*T;
   glib_color(NULL,0xff0000);
   glib_line(X,Y,X2,Y2);
   X=X2; Y=Y2;
 }
}

void glib_draw(){
  double p1[2]={-3,0};
  double p2[2]={1,1};
  double p3[2]={3,0};
  glib_window(-4,-4,4,4);
  glib_clear();

  draw_bezier2(p1,p2,p3); /* [-3,0] などはC言語では使えず */
  glib_flush();
}

int main() {
  glib_open();
  glib_loop();
}

