#include "layout.h"
#include "layout_image.h"
#include "misc.h"
+#include "pixbuf-renderer.h"
#include "slideshow.h"
#include "ui_fileops.h"
#include "rcfile.h"
gr_raise(text, channel, data);
}
+static void gr_pixel_info(const gchar *text, GIOChannel *channel, gpointer data)
+{
+ gchar *pixel_info;
+ gint x_pixel, y_pixel;
+ gint width, height;
+ gint r_mouse, g_mouse, b_mouse;
+ PixbufRenderer *pr;
+ LayoutWindow *lw = NULL;
+
+ if (!layout_valid(&lw)) return;
+
+ pr = (PixbufRenderer*)lw->image->pr;
+
+ if (pr)
+ {
+ pixbuf_renderer_get_image_size(pr, &width, &height);
+ if (width < 1 || height < 1) return;
+
+ pixbuf_renderer_get_mouse_position(pr, &x_pixel, &y_pixel);
+
+ if (x_pixel >= 0 && y_pixel >= 0)
+ {
+ pixbuf_renderer_get_pixel_colors(pr, x_pixel, y_pixel,
+ &r_mouse, &g_mouse, &b_mouse);
+
+ pixel_info = g_strdup_printf(_("[%d,%d]: RGB(%3d,%3d,%3d)"),
+ x_pixel, y_pixel,
+ r_mouse, g_mouse, b_mouse);
+
+ g_io_channel_write_chars(channel, pixel_info, -1, NULL, NULL);
+ g_io_channel_write_chars(channel, "\n", -1, NULL, NULL);
+
+ g_free(pixel_info);
+ }
+ else
+ {
+ return;
+ }
+ }
+ else
+ {
+ return;
+ }
+}
+
static void gr_file_tell(const gchar *text, GIOChannel *channel, gpointer data)
{
LayoutWindow *lw = NULL; /* NULL to force layout_valid() to do some magic */
{ NULL, "file:", gr_file_load, TRUE, FALSE, N_("<FILE>"), N_("open FILE, bring Geeqie window to the top") },
{ NULL, "File:", gr_file_load_no_raise, TRUE, FALSE, N_("<FILE>"), N_("open FILE, do not bring Geeqie window to the top") },
{ NULL, "--tell", gr_file_tell, FALSE, FALSE, NULL, N_("print filename of current image") },
+ { NULL, "--pixel-info", gr_pixel_info, FALSE, FALSE, NULL, N_("print pixel info of mouse pointer on current image") },
{ NULL, "view:", gr_file_view, TRUE, FALSE, N_("<FILE>"), N_("open FILE in new window") },
{ NULL, "--list-clear", gr_list_clear, FALSE, FALSE, NULL, N_("clear command line collection list") },
{ NULL, "--list-add:", gr_list_add, TRUE, FALSE, N_("<FILE>"), N_("add FILE to command line collection list") },
</tr>
<tr class="tr-shade">
<td class="td-colsep td-rowsep"></td>
+<td class="td-colsep td-rowsep">--pixel-info</td>
+<td class="td-rowsep">Print X, Y and RGB of mouse pointer on current image</td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep"></td>
<td class="td-colsep td-rowsep">view:<file></td>
<td class="td-rowsep">Open new window containing <file></td>
</tr>
-<tr>
+<tr class="tr-shade">
<td class="td-colsep td-rowsep"></td>
<td class="td-colsep td-rowsep">--list-clear</td>
<td class="td-rowsep">Clear command line collection list</td>
</tr>
-<tr class="tr-shade">
+<tr>
<td class="td-colsep td-rowsep"></td>
<td class="td-colsep td-rowsep">--list-add:<file></td>
<td class="td-rowsep">Add <file> to command line collection list</td>
</tr>
-<tr>
+<tr class="tr-shade">
<td class="td-colsep td-rowsep"></td>
<td class="td-colsep td-rowsep">raise</td>
<td class="td-rowsep">Bring the geeqie window to the top</td>
</tr>
-<tr class="tr-shade">
+<tr>
<td class="td-colsep td-rowsep">-ct:clear|clean</td>
<td class="td-colsep td-rowsep">--cache-thumbs:clear|clean</td>
<td class="td-rowsep">clear or clean thumbnail cache</td>
</tr>
-<tr>
+<tr class="tr-shade">
<td class="td-colsep td-rowsep">-cs:clear|clean</td>
<td class="td-colsep td-rowsep">--cache-shared:clear|clean</td>
<td class="td-rowsep">clear or clean shared thumbnail cache</td>
</tr>
-<tr class="tr-shade">
+<tr>
<td class="td-colsep td-rowsep">-cm</td>
<td class="td-colsep td-rowsep">--cache-metadata</td>
<td class="td-rowsep">clean the metadata cache</td>
</tr>
-<tr>
+<tr class="tr-shade">
<td class="td-colsep td-rowsep">-cr:<folder></td>
<td class="td-colsep td-rowsep">--cache-render:<folder></td>
<td class="td-rowsep">render thumbnails</td>
</tr>
-<tr class="tr-shade">
+<tr>
<td class="td-colsep td-rowsep">-crr:<folder></td>
<td class="td-colsep td-rowsep">--cache-render-recurse:<folder></td>
<td class="td-rowsep">render thumbnails recursively</td>
</tr>
-<tr>
+<tr class="tr-shade">
<td class="td-colsep td-rowsep">-crs:<folder></td>
<td class="td-colsep td-rowsep">--cache-render-shared:<folder></td>
<td class="td-rowsep">
<a name="-noteref-ref2"></a><sup><a class="footnote" href="#ref2">2</a></sup>
</td>
</tr>
-<tr class="tr-shade">
+<tr>
<td class="td-colsep td-rowsep">-crsr:<folder></td>
<td class="td-colsep td-rowsep">--cache-render-shared-recurse:<folder></td>
<td class="td-rowsep">render thumbnails recursively</td>
</tr>
-<tr>
+<tr class="tr-shade">
<td class="td-colsep"></td>
<td class="td-colsep">--lua:<file>,<lua script></td>
<td>run lua script on file</td>