X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=pctb%2Fpages.c;h=2f4f6695484033aac96a6f09e8800c1616a109d4;hb=40e9c021a64bf3ab2fc56629d0e7530b53b56562;hp=360e71858fd5699ac0a8f933e67c4f4fad818e08;hpb=2ca58afcdf02d87e31115110ecd6c83ecc5dabc7;p=ypp-sc-tools.web-live.git diff --git a/pctb/pages.c b/pctb/pages.c index 360e718..2f4f669 100644 --- a/pctb/pages.c +++ b/pctb/pages.c @@ -18,6 +18,8 @@ static struct timeval tv_startup; static unsigned wwidth, wheight; static int wxpos, wypos; +DEBUG_DEFINE_DEBUGF(pages) + static KeyCode keycode(KeySym sym) { return XKeysymToKeycode(disp,sym); } @@ -42,12 +44,12 @@ static double timestamp(void) { r= gettimeofday(&tv,0); eassert(!r); double t= (tv.tv_sec - tv_startup.tv_sec) + (tv.tv_usec - tv_startup.tv_usec) * 1e-6; - fprintf(stderr,"%f\n",t); + debugf("PAGING %f\n",t); return t; } static void delay(double need_sleep) { int r; - fprintf(stderr,"PAGING delay %f\n",need_sleep); + debugf("PAGING delay %f\n",need_sleep); r= usleep(need_sleep * 1e6); eassert(!r); } @@ -66,12 +68,12 @@ static void send_pgup_many(void) { int i; for (i=0; i<25; i++) send_key(XK_Prior); - fprintf(stderr,"PAGING PageUp x %d\n",i); + debugf("PAGING PageUp x %d\n",i); sync_after_input(); } static void send_pgdown(void) { send_key(XK_Next); - fprintf(stderr,"PAGING PageDown\n"); + debugf("PAGING PageDown\n"); sync_after_input(); } @@ -87,13 +89,13 @@ static void snapshot(Snapshot **output) { free_snapshot(output); - fprintf(stderr,"PAGING snapshot\n"); + debugf("PAGING snapshot\n"); timestamp(); *output= XGetImage(disp,id, 0,0, wwidth,wheight, AllPlanes, ZPixmap); timestamp(); - fprintf(stderr,"PAGING snapshot done.\n"); + debugf("PAGING snapshot done.\n"); } static int identical(const Snapshot *a, const Snapshot *b) { @@ -112,7 +114,7 @@ static void wait_for_stability(Snapshot **output, /* waits longer if we're going to return an image identical to previously * if previously==0, all images are considered identical to it */ - fprintf(stderr,"PAGING wait_for_stability" + debugf("PAGING wait_for_stability" " last_input=%f previously=%p\n", last_input, previously); @@ -125,16 +127,16 @@ static void wait_for_stability(Snapshot **output, if (!with_keypress && !(previously && identical(*output,previously))) { - fprintf(stderr,"PAGING wait_for_stability simple\n"); + debugf("PAGING wait_for_stability simple\n"); break; } if (last && identical(*output,last)) { - fprintf(stderr,"PAGING wait_for_stability stabilised\n"); + debugf("PAGING wait_for_stability stabilised\n"); break; } - fprintf(stderr,"PAGING wait_for_stability retry\n"); + debugf("PAGING wait_for_stability retry\n"); free_snapshot(&last); last=*output; *output=0; @@ -145,7 +147,7 @@ static void wait_for_stability(Snapshot **output, } free_snapshot(&last); - fprintf(stderr,"PAGING wait_for_stability done.\n"); + debugf("PAGING wait_for_stability done.\n"); } static void raise_and_get_details(void) { @@ -154,7 +156,7 @@ static void raise_and_get_details(void) { unsigned bd,depth; Window dummy; - fprintf(stderr,"PAGING raise_and_get_details\n"); + debugf("PAGING raise_and_get_details\n"); r= XTestQueryExtension(disp, &evbase,&errbase,&majver,&minver); eassert(r==True); @@ -175,7 +177,7 @@ static void raise_and_get_details(void) { static void set_focus(void) { int screen= XScreenNumberOfScreen(attr.screen); - fprintf(stderr,"PAGING set_focus\n"); + debugf("PAGING set_focus\n"); XTestFakeMotionEvent(disp,screen, wxpos,wypos, 0); @@ -183,7 +185,7 @@ static void set_focus(void) { XTestFakeButtonEvent(disp,1,0, 50); sync_after_input(); - fprintf(stderr,"PAGING raise_and_set_focus done.\n"); + debugf("PAGING raise_and_set_focus done.\n"); } #define SAMPLEMASK 0xfful @@ -229,7 +231,8 @@ static CanonImage *convert_page(Snapshot *sn) { long xrgb= XGetPixel(sn, x, y); int i; rgb= 0; - for (i=0; i<3; i++, rgb <<= 8) { + for (i=0; i<3; i++) { + rgb <<= 8; unsigned long sample= ((xrgb << shiftmasks[i].lshift) >> shiftmasks[i].rshift) & SAMPLEMASK; @@ -260,13 +263,13 @@ void take_screenshots(void) { /* now to actually page down */ for (;;) { - fprintf(stderr,"paging page %d\n",npages); + debugf("paging page %d\n",npages); eassert(npages < MAX_PAGES); page_images[npages]= convert_page(current); free_snapshot(&last); last=current; current=0; - fprintf(stderr,"PAGING page %d converted\n",npages); + debugf("PAGING page %d converted\n",npages); wait_for_stability(¤t,last, 0); if (npages && /* first pagedown doesn't do much */ @@ -278,7 +281,7 @@ void take_screenshots(void) { send_pgdown(); npages++; } - fprintf(stderr,"PAGING all done.\n"); + debugf("PAGING all done.\n"); } void take_one_screenshot(void) {