chiark / gitweb /
Properly wait for /w output to appear
[ypp-sc-tools.main.git] / pctb / structure.c
index 6ccbb5e76b217518c54b7dcd66c84cb66e1554c4..2dc98d1c77a1590e0ae8d91e78eed19d4cbf90d0 100644 (file)
@@ -525,23 +525,9 @@ void analyse(FILE *tsv_output) {
 
 DEBUG_DEFINE_SOME_DEBUGF(structcolon,colondebugf)
 
-void find_islandname(void) {
+Rect find_sunshine_widget(void) {
   Rect sunshiner;
-  char sunshine[MAXIMGIDENT], archisland[MAXIMGIDENT];
 
-  RgbImage *ri= alloc_rgb_image(page0_rgbimage->w, page0_rgbimage->h);
-  const unsigned char *srcp;
-  unsigned char *destp, *endp;
-  for (srcp=page0_rgbimage->data, destp=ri->data,
-        endp= ri->data + 3 * ri->w * ri->h;
-       destp < endp;
-       srcp++, destp++) {
-    unsigned char c= *srcp & 0xf0;
-    *destp= c | (c>>4);
-  }
-
-  cim= page_images[0];
-  
   sunshiner.tl.x= cim->w - 1034 +  885;
   sunshiner.br.x= cim->w - 1034 + 1020;
   sunshiner.tl.y= 227;
@@ -557,6 +543,22 @@ void find_islandname(void) {
   ADJUST_BOX(sunshiner,"o",20, (cim->w - 1034 + 700), MUST, tl,x,-1);
   ADJUST_BOX(sunshiner,"o",20,  cim->w,               MUST, br,x,+1);
   debug_rect("sunshiner",1, sunshiner);
+  return sunshiner;
+}
+
+void find_islandname(RgbImage *ri) {
+  Rect sunshiner= find_sunshine_widget();
+  char sunshine[MAXIMGIDENT], archisland[MAXIMGIDENT];
+
+  const unsigned char *srcp;
+  unsigned char *destp, *endp;
+  for (srcp=page0_rgbimage->data, destp=ri->data,
+        endp= ri->data + 3 * ri->w * ri->h;
+       destp < endp;
+       srcp++, destp++) {
+    unsigned char c= *srcp & 0xf0;
+    *destp= c | (c>>4);
+  }
 
   identify_rgbimage(ri, sunshiner, sunshine, "sunshine widget");