Show "unchanged color" as checkered pattern
[colorize.git] / gui / image.c
index 258a377..06e40c5 100644 (file)
@@ -179,6 +179,7 @@ void draw_image(int x, int y, int w, int h)
        int window_width, window_height, x_offset, y_offset;
        gdk_drawable_get_size (draw, &window_width, &window_height);
        double _r, _g, _b, _y, _u, _v, u_palette, v_palette;
+       int cr, cg, cb;
        int _c, preview_asis = 0;
 
        if (w < 0)
@@ -328,9 +329,17 @@ void draw_image(int x, int y, int w, int h)
                                                        compose[j*3+2] = 128;
                                                }
                                        } else {
-                                               compose[j*3] = mark_palette[c-1].r;
-                                               compose[j*3+1] = mark_palette[c-1].g;
-                                               compose[j*3+2] = mark_palette[c-1].b;
+                                               cr = mark_palette[c-1].r;
+                                               cg = mark_palette[c-1].g;
+                                               cb = mark_palette[c-1].b;
+                                               if (cr == 255 && cg == 255 && cb == 255) {
+                                                       compose[j*3] = compose[j*3+1] = compose[j*3+2] = ((((i+y)>>3)&1) == (((j+x)>>3)&1)) ? 255 : 192;
+                                               } else
+                                               {
+                                                       compose[j*3] = cr;
+                                                       compose[j*3+1] = cg;
+                                                       compose[j*3+2] = cb;
+                                               }
                                        }
                                }
                        }