- case IMAGE_OSD_COLOR:
- pixbuf_set_rect_fill(icon, 3, 3, 18, 6, 200, 0, 0, 255);
- pixbuf_set_rect_fill(icon, 3, 9, 18, 6, 0, 200, 0, 255);
- pixbuf_set_rect_fill(icon, 3, 15, 18, 6, 0, 0, 200, 255);
- break;
- case IMAGE_OSD_FIRST:
- pixbuf_set_rect(icon, 3, 3, 18, 18, 0, 0, 0, 200, 3, 3, 3, 0);
- pixbuf_draw_triangle(icon, 6, 5, 12, 6,
- 12, 5, 18, 11, 6, 11,
- 0, 0, 0, 255);
- break;
- case IMAGE_OSD_LAST:
- pixbuf_set_rect(icon, 3, 3, 18, 18, 0, 0, 0, 200, 3, 3, 0, 3);
- pixbuf_draw_triangle(icon, 6, 12, 12, 6,
- 12, 18, 6, 12, 18, 12,
- 0, 0, 0, 255);
- break;
- default:
- break;
+ icon = pixbuf_inline(osd_icons[flag].key);
+ }
+
+ if (!icon)
+ {
+ icon = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, 24, 24);
+ pixbuf_set_rect_fill(icon, 1, 1, 22, 22, 255, 255, 255, 200);
+ pixbuf_set_rect(icon, 0, 0, 24, 24, 0, 0, 0, 128, 1, 1, 1, 1);
+ switch (flag)
+ {
+ case IMAGE_OSD_ROTATE_AUTO:
+ pixbuf_set_rect(icon, 3, 8, 11, 12,
+ 0, 0, 0, 255,
+ 3, 0, 3, 0);
+ pixbuf_draw_triangle(icon, 14, 3, 6, 12,
+ 20, 9, 14, 15, 14, 3,
+ 0, 0, 0, 255);
+ break;
+ case IMAGE_OSD_ROTATE_USER:
+ break;
+ case IMAGE_OSD_COLOR:
+ pixbuf_set_rect_fill(icon, 3, 3, 18, 6, 200, 0, 0, 255);
+ pixbuf_set_rect_fill(icon, 3, 9, 18, 6, 0, 200, 0, 255);
+ pixbuf_set_rect_fill(icon, 3, 15, 18, 6, 0, 0, 200, 255);
+ break;
+ case IMAGE_OSD_FIRST:
+ pixbuf_set_rect(icon, 3, 3, 18, 18, 0, 0, 0, 200, 3, 3, 3, 0);
+ pixbuf_draw_triangle(icon, 6, 5, 12, 6,
+ 12, 5, 18, 11, 6, 11,
+ 0, 0, 0, 255);
+ break;
+ case IMAGE_OSD_LAST:
+ pixbuf_set_rect(icon, 3, 3, 18, 18, 0, 0, 0, 200, 3, 3, 0, 3);
+ pixbuf_draw_triangle(icon, 6, 12, 12, 6,
+ 12, 18, 6, 12, 18, 12,
+ 0, 0, 0, 255);
+ break;
+ case IMAGE_OSD_ICON:
+ pixbuf_set_rect_fill(icon, 11, 3, 3, 12, 0, 0, 0, 255);
+ pixbuf_set_rect_fill(icon, 11, 17, 3, 3, 0, 0, 0, 255);
+ break;
+ default:
+ break;
+ }