+ {
+ int i,j,k, num_steps = 16, step_size = TILEX / num_steps;
+ static long scroll_delay=0;
+ long scroll_delay_value = 4*4 / num_steps;
+
+ printf("Scroll test\n");
+
+ for(i=0;i<10;i++)
+ {
+ for(j=0;j<SCR_FIELDX;j++)
+ {
+ for(k=0;k<num_steps;k++)
+ {
+ int xxx = j*TILEX+k*step_size;
+ int done = 0;
+
+ while(!done)
+ {
+ if (DelayReached(&scroll_delay, scroll_delay_value))
+ {
+ XCopyArea(display,fieldbuffer,window,gc,
+ SX+xxx,SY,
+ SXSIZE-xxx,SYSIZE,
+ SX,SY);
+ XCopyArea(display,fieldbuffer,window,gc,
+ SX,SY,
+ xxx,SYSIZE,
+ SX+SXSIZE-xxx,SY);
+
+ XFlush(display);
+ XSync(display,FALSE);
+
+ done = 1;
+ }
+ else
+ {
+ Delay(1000);
+ }
+ }
+
+ /*
+ Delay(160000 / num_steps);
+ */
+ /*
+ Delay(120000 / num_steps);
+ */
+ }
+ }
+ }
+ }
+
+ break;
+
+ case XK_y:
+ {
+ printf("FX = %d, FY = %d\n", FX,FY);
+
+ XCopyArea(display,fieldbuffer,window,gc,
+ 0,0,
+ MIN(WIN_XSIZE,FXSIZE),MIN(WIN_YSIZE,FYSIZE),
+ 0,0);
+ XFlush(display);
+ XSync(display,FALSE);
+ Delay(1000000);
+ }