#include "image.h"
#include "img-view.h"
#include "layout.h"
+#include "pixbuf-renderer.h"
#include "pixbuf_util.h"
if (imd->delay_flip &&
imd->il && imd->il->pixbuf &&
- imd->pixbuf != imd->il->pixbuf)
+ image_get_pixbuf(imd) != imd->il->pixbuf)
{
w = gdk_pixbuf_get_width(imd->il->pixbuf);
h = gdk_pixbuf_get_height(imd->il->pixbuf);
}
else
{
- w = imd->image_width;
- h = imd->image_height;
+ pixbuf_renderer_get_image_size(PIXBUF_RENDERER(imd->pr), &w, &h);
}
text = g_strdup_printf("%s(%d/%d) <b>%s</b>\n%d x %d - %s - %s", ct,
g_free(ct);
g_free(name_escaped);
- layout = gtk_widget_create_pango_layout(imd->image, NULL);
+ layout = gtk_widget_create_pango_layout(imd->pr, NULL);
pango_layout_set_markup(layout, text, -1);
g_free(text);
pixbuf_pixel_set(pixbuf, 0, height - 1, 0, 0, 0, 0);
pixbuf_pixel_set(pixbuf, width - 1, height - 1, 0, 0, 0, 0);
- pixbuf_draw_layout(pixbuf, layout, imd->image, 5, 5, 0, 0, 0, 255);
+ pixbuf_draw_layout(pixbuf, layout, imd->pr, 5, 5, 0, 0, 0, 255);
g_object_unref(G_OBJECT(layout));
image_overlay_set(ou->imd, ou->id, pixbuf, IMAGE_OVERLAY_X, IMAGE_OVERLAY_Y);
g_object_unref(pixbuf);
- g_object_set_data(G_OBJECT(ou->imd->image), IMAGE_OVERLAY_UPDATE_KEY, NULL);
- g_signal_handler_disconnect(ou->imd->image, ou->destroy_id);
+ g_object_set_data(G_OBJECT(ou->imd->pr), IMAGE_OVERLAY_UPDATE_KEY, NULL);
+ g_signal_handler_disconnect(ou->imd->pr, ou->destroy_id);
g_free(ou);
return FALSE;
{
OverlayUpdate *ou;
- ou = g_object_get_data(G_OBJECT(imd->image), IMAGE_OVERLAY_UPDATE_KEY);
+ ou = g_object_get_data(G_OBJECT(imd->pr), IMAGE_OVERLAY_UPDATE_KEY);
if (ou) return;
ou = g_new0(OverlayUpdate, 1);
ou->imd = imd;
ou->id = id;
ou->idle_id = g_idle_add_full(G_PRIORITY_HIGH, image_overlay_update_cb, ou, NULL);
- ou->destroy_id = g_signal_connect(G_OBJECT(imd->image), "destroy",
+ ou->destroy_id = g_signal_connect(G_OBJECT(imd->pr), "destroy",
G_CALLBACK(image_overlay_update_destroy_cb), ou);
- g_object_set_data(G_OBJECT(imd->image), IMAGE_OVERLAY_UPDATE_KEY, ou);
+ g_object_set_data(G_OBJECT(imd->pr), IMAGE_OVERLAY_UPDATE_KEY, ou);
}
void image_overlay_update(ImageWindow *imd, gint id)