chiark / gitweb /
WIP island determination; generalise ADJUST
[ypp-sc-tools.main.git] / pctb / structure.h
index e8ea9f9804a654f66e26e8c2aec3b97dc220b3c0..77396cf390db06ade4c30f7279b0105aa42377c7 100644 (file)
@@ -77,4 +77,25 @@ CanonImage *alloc_canon_image(int w, int h);
   }while(0)
 
 
+typedef struct {
+  int w, h;
+  char data[];
+  /* red   = data[ y*w*3 + x*3 + 0 ] = RI_PIXEL(ri,x,y)[0]
+   * green = data[ y*w*3 + x*3 + 1 ] = RI_PIXEL(ri,x,y)[1]
+   * blue  = data[ y*w*3 + x*3 + 2 ] = RI_PIXEL(ri,x,y)[2]
+   */
+} RawImage;
+
+RawImage *alloc_raw_image(int w, int h);
+
+#define RI_PIXEL(ri,x,y) ((ri)->data + ((y)*(ri)->w + (x)) * 3)
+
+#define CANONIMG_ALSO_STORERAW(ri)             \
+  do{                                          \
+    char *rip= RI_PIXEL((ri),x,y);             \
+    rip[0]= rgb >> 16;                         \
+    rip[1]= rgb >> 8;                          \
+    rip[2]= rgb;                               \
+  }while(0)
+
 #endif /*STRUCTURE_H*/