#include <stdio.h>
#include <eggx.h>

#define MAXR 200.0 // 描画する円の最大半径

int main() {
  int win, code, type;
  double x, y, r, tempx, tempy;
  win=gopen(400,400);
  gsetnonblock(ENABLE); // ノンブロッキングモードに
  r=0.0; // 描画する円の半径をゼロに
  while( 1 ) {
    gclr(win); 
    if( ggetxpress( &type, &code, &tempx, &tempy) == win ) {
      switch( type ) {
        case KeyPress: // キー入力だったらプログラム終了
          gclose(win);
          return 0;
        case ButtonPress:  // マウスクリックだった
          r=1.0; // 描画する円の半径を増やす
          x=tempx; y=tempy; // 値を保持
          break;
      }
    }
    if( r > 0.0 ) {
      newhsvcolor(win, 0, 255, 255 * (1.0 - r / MAXR));
      drawcirc(win, x, y, r, r); // 半径がゼロで無ければ描画
      r+=1.0; // 径を大きくする
      if( r > MAXR ) r=0.0; // 大きくなりすぎたら中止
    }
    msleep(10);
  }

}
