Esempio n. 1
0
U0 Main() {
    "Julia Set Generator\n";
    SettingsPush;

    I64 k,j;
    CBGR bgr;
    for (k=0; k<16; k++) {
        j=0xFF*k/15;
        bgr.b=j;
        bgr.g=j;
        bgr.r=j;
        SetVGAPaletteColor(k, bgr);
    }

    CDC *dc=DCAlias;
    I64 row, col;
    for (row=0; row<ROWS; row++) {
        for (col=0; col<COLS; col++) {
            F64 r=LEFT+ToF64(COL_INC*col), i=BOTTOM+ToF64(ROW_INC*row);
            dc->color=getColor(-0.8, 0.156, r, i);
            I64 x=col*(640/COLS), y=row*(480/ROWS);
            GrRect(dc, x, y, 640/COLS, 480/ROWS);
        }
    }
    PressAKey;
    DCFill(dc);
    DCDel(dc);

    SettingsPop;
}
Esempio n. 2
0
U0 Init(CDC *dc)
{
  I64 i,w=Fs->win_pixel_width,h=Fs->win_pixel_height;
  F64 scale=h/5.0;
  DocClear;
  DCFill(dc);
  dc->color=BLACK;
  GrLine(dc,0,h/2,w-1,h/2);
  GrLine(dc,w/2,0,w/2,h-1);
  for (i=-2;i<=2;i++) {
    dc->color=BLACK;
    GrLine(dc,w/2-3,h/2-scale*i,w/2+3,h/2-scale*i);
    if (i) {
      dc->color=DKGRAY;
      GrPrintF(dc,w/2+5,h/2-scale*i-FONT_HEIGHT/2,"%5.1f",ToF64(i));
    }
  }
  for (i=-4;i<=4;i++) {
    dc->color=BLACK;
    GrLine(dc,w/2+scale*i,h/2-3,w/2+scale*i,h/2+3);
    if (i) {
      dc->color=DKGRAY;
      GrPrintF(dc,w/2+scale*i-7*FONT_WIDTH/2,h/2+5+FONT_HEIGHT,"%5.1f*T",ToF64(i));
    }
  }
}
Esempio n. 3
0
U0 Bounce()
{
  CDC *dc=DCAlias;
  I64 i,msg_code,p1,update;
  Init;
  try { //Catch <CTRL-ALT-C>
    while (TRUE) {
      update=win_updates;
      do for (i=0;i<16;i++) {
	  dc->color=i;
	  GrPlot(dc,x[i].i32[1],y[i].i32[1]);
	  x[i]+=dx[i];
	  y[i]+=dy[i];
	  if (!(0<=x[i]<Fs->win_pixel_width<<32)) {
	    x[i]-=dx[i];
	    dx[i]=-dx[i];
	  }
	  if (!(0<=y[i]<Fs->win_pixel_height<<32)) {
	    y[i]-=dy[i];
	    dy[i]=-dy[i];
	  }
	}
      while (update==win_updates);
      while (msg_code=ScanMsg(&p1,NULL,1<<MSG_KEY_DOWN|1<<MSG_RESIZE|1<<MSG_MOVE))
	if (msg_code==MSG_KEY_DOWN) {
	  if (p1==CH_SHIFT_ESC || p1==CH_ESC)
	    goto bc_done;
	  else
	    Init;
	} else
	  DCFill(dc);
    }
bc_done:
  } catch
    CatchAll;
  DCFill(dc);
  DCDel(dc);
}
Esempio n. 4
0
U0 SndMathDemo()
{
  CDC *dc=DCAlias;

  Init(dc);
  dc->color=RED;
  FunDraw1(dc,&MySin);
  "$$FG,RED$$Sin$$FG$$\n";
  PressAKey;
  dc->color=BLUE;
  FunDraw2(dc,&Saw,1.0);
  "$$FG,BLUE$$Saw$$FG$$\n";
  PressAKey;
  dc->color=GREEN;
  FunDraw2(dc,&FullSaw,1.0);
  "$$FG,GREEN$$FullSaw$$FG$$\n";
  PressAKey;

  Init(dc);
  dc->color=RED;
  FunDraw1(dc,&MyCos);
  "$$FG,RED$$Cos$$FG$$\n";
  PressAKey;
  dc->color=BLUE;
  FunDraw2(dc,&Caw,1.0);
  "$$FG,BLUE$$Caw$$FG$$\n";
  PressAKey;
  dc->color=GREEN;
  FunDraw2(dc,&FullCaw,1.0);
  "$$FG,GREEN$$FullCaw$$FG$$\n";
  PressAKey;

  Init(dc);
  dc->color=RED;
  FunDraw1(dc,&MySin);
  "$$FG,RED$$Sin$$FG$$\n";
  PressAKey;
  dc->color=BLUE;
  FunDraw2(dc,&Tri,1.0);
  "$$FG,BLUE$$Tri$$FG$$\n";
  PressAKey;
  dc->color=GREEN;
  FunDraw2(dc,&FullTri,1.0);
  "$$FG,GREEN$$FullTri$$FG$$\n";
  PressAKey;

  DCFill(dc);
  DCDel(dc);
}