Mercurial > geeqie
comparison src/img-view.c @ 23:17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
##### an offical release when making enhancements and translation updates. #####
Fri Mar 18 19:52:38 2005 John Ellis <johne@verizon.net>
* pixbuf-renderer.c: Fix broken 2pass queueing so it merges a single
queue item for each tile, and now that a tile holds a queue pointer
there is no need to walk the tile list to find a possible merge victim.
Thu Mar 17 19:23:56 2005 John Ellis <johne@verizon.net>
* image.c, pixbuf-renderer.[ch]: More progress, and 2 pass zoom now
works again (mostly).
Tue Mar 15 23:17:41 2005 John Ellis <johne@verizon.net>
* image.[ch]: Start conversion to use of PixbufRenderer.
* pixbuf-renderer.[ch]: Additions and fixes for use by ImageWindow.
* fullscreen.c, image-overlay.c, img-view.c, info.c, layout.c,
layout_image.c, print.c: Changes for above ImageWindow conversion.
* typedefs.h: Remove unused ImageWindow variables.
Mon Mar 14 20:45:50 2005 John Ellis <johne@verizon.net>
* pan-view.c: Convert to using new PixbufRenderer.
* pixbuf-renderer.[ch]: Clean up and fixes.
Sun Mar 13 10:21:35 2005 John Ellis <johne@verizon.net>
* image.c (image_scroller_start): Unref scroller pixbuf after adding it
as an overlay to avoid leaking it.
* pixbuf-renderer.[ch]: All functions defined in header file are now
implemented.
Fri Mar 11 17:05:36 2005 John Ellis <johne@verizon.net>
* pixbuf-renderer.[ch]: Set up object properties and additional.
Mar 10 19:22:18 2005 John Ellis <johne@verizon.net>
* pixbuf-renderer.[ch]: FIx scrolling to use old method of gdk_draw and
not gdk_scroll, as scroll often invalidates the entire window (!). Also
merged in source tiles code from image.c.
* pan-view.c: Change picked up when testing PixbufRender zoom.
Tue Mar 8 23:26:00 2005 John Ellis <johne@verizon.net>
* pixbuf-renderer.[ch]: Start of turning image drawing portion of
ImageWindow into an actual GtkWidget.
* src/Makefile.am: Add pixbuf-renderer.[ch].
* pan-view.c: Added temporary hack button and callback for testing
PixbufRenderer widget.
author | gqview |
---|---|
date | Sat, 19 Mar 2005 01:15:17 +0000 |
parents | d907d608745f |
children | 9c0c402b0ef3 |
comparison
equal
deleted
inserted
replaced
22:e9625635e162 | 23:17acca639a86 |
---|---|
21 #include "fullscreen.h" | 21 #include "fullscreen.h" |
22 #include "image.h" | 22 #include "image.h" |
23 #include "image-overlay.h" | 23 #include "image-overlay.h" |
24 #include "info.h" | 24 #include "info.h" |
25 #include "menu.h" | 25 #include "menu.h" |
26 #include "pixbuf-renderer.h" | |
26 #include "slideshow.h" | 27 #include "slideshow.h" |
27 #include "utilops.h" | 28 #include "utilops.h" |
28 #include "ui_bookmark.h" | 29 #include "ui_bookmark.h" |
29 #include "ui_fileops.h" | 30 #include "ui_fileops.h" |
30 #include "ui_menu.h" | 31 #include "ui_menu.h" |
315 { | 316 { |
316 ViewWindow *vw = data; | 317 ViewWindow *vw = data; |
317 ImageWindow *imd; | 318 ImageWindow *imd; |
318 | 319 |
319 imd = view_window_active_image(vw); | 320 imd = view_window_active_image(vw); |
320 gdk_window_get_origin(imd->image->window, x, y); | 321 gdk_window_get_origin(imd->pr->window, x, y); |
321 popup_menu_position_clamp(menu, x, y, 0); | 322 popup_menu_position_clamp(menu, x, y, 0); |
322 } | 323 } |
323 | 324 |
324 static gint view_window_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) | 325 static gint view_window_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) |
325 { | 326 { |
850 image_change_path(vw->imd, path, image_zoom_get_default(NULL, zoom_mode)); | 851 image_change_path(vw->imd, path, image_zoom_get_default(NULL, zoom_mode)); |
851 } | 852 } |
852 | 853 |
853 if (image_zoom_get(vw->imd) == 0.0) | 854 if (image_zoom_get(vw->imd) == 0.0) |
854 { | 855 { |
855 w = vw->imd->image_width; | 856 pixbuf_renderer_get_image_size(PIXBUF_RENDERER(vw->imd->pr), &w, &h); |
856 h = vw->imd->image_height; | 857 } |
857 } | 858 else |
858 else | 859 { |
859 { | 860 pixbuf_renderer_get_scaled_size(PIXBUF_RENDERER(vw->imd->pr), &w, &h); |
860 w = vw->imd->width; | |
861 h = vw->imd->height; | |
862 } | 861 } |
863 if (limit_window_size) | 862 if (limit_window_size) |
864 { | 863 { |
865 gint mw = gdk_screen_width() * max_window_size / 100; | 864 gint mw = gdk_screen_width() * max_window_size / 100; |
866 gint mh = gdk_screen_height() * max_window_size / 100; | 865 gint mh = gdk_screen_height() * max_window_size / 100; |
873 req_size.x = req_size.y = 0; | 872 req_size.x = req_size.y = 0; |
874 req_size.width = w; | 873 req_size.width = w; |
875 req_size.height = h; | 874 req_size.height = h; |
876 gtk_widget_size_allocate(GTK_WIDGET(vw->window), &req_size); | 875 gtk_widget_size_allocate(GTK_WIDGET(vw->window), &req_size); |
877 | 876 |
878 gtk_widget_set_size_request(vw->imd->image, w, h); | 877 gtk_widget_set_size_request(vw->imd->pr, w, h); |
879 | 878 |
880 gtk_widget_show(vw->window); | 879 gtk_widget_show(vw->window); |
881 | 880 |
882 view_window_list = g_list_append(view_window_list, vw); | 881 view_window_list = g_list_append(view_window_list, vw); |
883 | 882 |
1367 guint time, gpointer data) | 1366 guint time, gpointer data) |
1368 { | 1367 { |
1369 ViewWindow *vw = data; | 1368 ViewWindow *vw = data; |
1370 ImageWindow *imd; | 1369 ImageWindow *imd; |
1371 | 1370 |
1372 if (gtk_drag_get_source_widget(context) == vw->imd->image) return; | 1371 if (gtk_drag_get_source_widget(context) == vw->imd->pr) return; |
1373 | 1372 |
1374 imd = vw->imd; | 1373 imd = vw->imd; |
1375 | 1374 |
1376 if (info == TARGET_URI_LIST || info == TARGET_APP_COLLECTION_MEMBER) | 1375 if (info == TARGET_URI_LIST || info == TARGET_APP_COLLECTION_MEMBER) |
1377 { | 1376 { |
1487 { | 1486 { |
1488 ImageWindow *imd; | 1487 ImageWindow *imd; |
1489 | 1488 |
1490 imd = vw->imd; | 1489 imd = vw->imd; |
1491 | 1490 |
1492 gtk_drag_source_set(imd->image, GDK_BUTTON2_MASK, | 1491 gtk_drag_source_set(imd->pr, GDK_BUTTON2_MASK, |
1493 dnd_file_drag_types, dnd_file_drag_types_count, | 1492 dnd_file_drag_types, dnd_file_drag_types_count, |
1494 GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK); | 1493 GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK); |
1495 g_signal_connect(G_OBJECT(imd->image), "drag_data_get", | 1494 g_signal_connect(G_OBJECT(imd->pr), "drag_data_get", |
1496 G_CALLBACK(view_window_set_dnd_data), vw); | 1495 G_CALLBACK(view_window_set_dnd_data), vw); |
1497 | 1496 |
1498 gtk_drag_dest_set(imd->image, | 1497 gtk_drag_dest_set(imd->pr, |
1499 GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, | 1498 GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, |
1500 dnd_file_drop_types, dnd_file_drop_types_count, | 1499 dnd_file_drop_types, dnd_file_drop_types_count, |
1501 GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK); | 1500 GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK); |
1502 g_signal_connect(G_OBJECT(imd->image), "drag_data_received", | 1501 g_signal_connect(G_OBJECT(imd->pr), "drag_data_received", |
1503 G_CALLBACK(view_window_get_dnd_data), vw); | 1502 G_CALLBACK(view_window_get_dnd_data), vw); |
1504 } | 1503 } |
1505 | 1504 |
1506 /* | 1505 /* |
1507 *----------------------------------------------------------------------------- | 1506 *----------------------------------------------------------------------------- |