From 261c1f193e8fea0983d8fb33a7310ddec34f15e8 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 17 Jun 2009 23:27:12 +0100 Subject: [PATCH] WIP identify island; Can show radar island image WIP --- pctb/structure.c | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/pctb/structure.c b/pctb/structure.c index b89c932..37ac8c8 100644 --- a/pctb/structure.c +++ b/pctb/structure.c @@ -496,7 +496,7 @@ void analyse(FILE *tsv_output) { void find_islandname(void) { Rect sunshiner; - char sunshine[MAXIMGIDENT]; + char sunshine[MAXIMGIDENT], archisland[MAXIMGIDENT]; const RgbImage *ri= page0_rgbimage; cim= page_images[0]; @@ -520,34 +520,36 @@ void find_islandname(void) { identify_rgbimage(ri, sunshiner, sunshine, "sunshine widget"); fprintf(stderr,"sunshine: `%s'\n",sunshine); -#if 0 - - - islandnamer.tl.x= cim->w - 1034 + 885; - islandnamer.br.x= cim->w - 1034 + 1020; - islandnamer.tl.y= 128; - islandnamer.br.y= 156; + if (!memcmp(sunshine,"Ship ",5)) { + Rect islandnamer; + + islandnamer.tl.x= cim->w - 1034 + 885; + islandnamer.br.x= cim->w - 1034 + 1020; + islandnamer.tl.y= 128; + islandnamer.br.y= 156; #define IR_VSHRINK_MUST(CONDMUST,PRWHY) \ - do{ if (!(CONDMUST)) goto not_in_radar; }while(0) + do{ if (!(CONDMUST)) goto not_in_radar; }while(0) - ADJUST_BOX(islandnamer,"o",5, IR_VSHRINK_MUST, tl,y,+1); - ADJUST_BOX(islandnamer,"o",5, IR_VSHRINK_MUST, br,y,-1); + ADJUST_BOX(islandnamer,"o",5, 0, IR_VSHRINK_MUST, tl,y,+1); + ADJUST_BOX(islandnamer,"o",5, cim->h, IR_VSHRINK_MUST, br,y,-1); - debug_rect("islandnamer",0, islandnamer); - static int larger_islandnamebry= islandname.tl.y + 25; - if (islandnamer.br.y < larger_islandnamebry) - goto not_in_radar; - islandnamer.br.y = larger_islandnamebry; - debug_rect("islandnamer",1, islandnamer); + debug_rect("islandnamer",0, islandnamer); +// int larger_islandnamebry= islandnamer.tl.y + 25; +// MUST(islandnamer.br.y < larger_islandnamebry, +// MR(islandnamer);MI(larger_islandnamebry)); +// islandnamer.br.y = larger_islandnamebry; + debug_rect("islandnamer",1, islandnamer); - debug_ppmrect("islandnamer",2, islandnamer,ri); - - not_in_radar: - + identify_rgbimage(ri, islandnamer, archisland, "island"); + fprintf(stderr,"radar: `%s'\n",archisland); + assert(!"radar ok"); - abort(); + not_in_radar: + assert(!"not in radar?"); + } else { + assert(!"not vessel"); + } -#endif } -- 2.30.2