comparison src/pixbuf-renderer.c @ 1810:c416d099a3dc

GTK marks several functions as deprecated The following functions has been replaced and deprecated by version 2.20: - GTK_WIDGET_CAN_FOCUS - GTK_WIDGET_DRAWABLE - GTK_WIDGET_HAS_FOCUS - GTK_WIDGET_HAS_GRAB - GTK_WIDGET_IS_SENSITIVE - GTK_WIDGET_NO_WINDOW - GTK_WIDGET_REALIZED - GTK_WIDGET_SENSITIVE - GTK_WIDGET_STATE - GTK_WIDGET_TOPLEVEL - GTK_WIDGET_VISIBLE
author mow
date Mon, 10 May 2010 11:32:56 +0000
parents 956aab097ea7
children
comparison
equal deleted inserted replaced
1809:e1c18f81e637 1810:c416d099a3dc
702 } 702 }
703 } 703 }
704 704
705 static gboolean pixbuf_renderer_expose(GtkWidget *widget, GdkEventExpose *event) 705 static gboolean pixbuf_renderer_expose(GtkWidget *widget, GdkEventExpose *event)
706 { 706 {
707 #if GTK_CHECK_VERSION(2,20,0)
708 if (gtk_widget_is_drawable(widget))
709 #else
707 if (GTK_WIDGET_DRAWABLE(widget)) 710 if (GTK_WIDGET_DRAWABLE(widget))
708 { 711 #endif
712 {
713 #if GTK_CHECK_VERSION(2,20,0)
714 if (gtk_widget_get_has_window(widget))
715 #else
709 if (!GTK_WIDGET_NO_WINDOW(widget)) 716 if (!GTK_WIDGET_NO_WINDOW(widget))
717 #endif
710 { 718 {
711 if (event->window != widget->window) 719 if (event->window != widget->window)
712 { 720 {
713 GdkRectangle area; 721 GdkRectangle area;
714 722
925 pr->overlay_buffer = gdk_pixmap_new(((GtkWidget *)pr)->window, pr->tile_width, pr->tile_height, -1); 933 pr->overlay_buffer = gdk_pixmap_new(((GtkWidget *)pr)->window, pr->tile_width, pr->tile_height, -1);
926 } 934 }
927 935
928 if (it) 936 if (it)
929 { 937 {
938 #if GTK_CHECK_VERSION(2,20,0)
939 gdk_draw_drawable(pr->overlay_buffer, box->style->fg_gc[gtk_widget_get_state(box)],
940 #else
930 gdk_draw_drawable(pr->overlay_buffer, box->style->fg_gc[GTK_WIDGET_STATE(box)], 941 gdk_draw_drawable(pr->overlay_buffer, box->style->fg_gc[GTK_WIDGET_STATE(box)],
942 #endif
931 it->pixmap, 943 it->pixmap,
932 rx - (pr->x_offset + (it->x - pr->x_scroll)), 944 rx - (pr->x_offset + (it->x - pr->x_scroll)),
933 ry - (pr->y_offset + (it->y - pr->y_scroll)), 945 ry - (pr->y_offset + (it->y - pr->y_scroll)),
934 0, 0, rw, rh); 946 0, 0, rw, rh);
935 gdk_draw_pixbuf(pr->overlay_buffer, 947 gdk_draw_pixbuf(pr->overlay_buffer,
948 #if GTK_CHECK_VERSION(2,20,0)
949 box->style->fg_gc[gtk_widget_get_state(box)],
950 #else
936 box->style->fg_gc[GTK_WIDGET_STATE(box)], 951 box->style->fg_gc[GTK_WIDGET_STATE(box)],
952 #endif
937 od->pixbuf, 953 od->pixbuf,
938 rx - px, ry - py, 954 rx - px, ry - py,
939 0, 0, rw, rh, 955 0, 0, rw, rh,
940 pr->dither_quality, rx, ry); 956 pr->dither_quality, rx, ry);
957 #if GTK_CHECK_VERSION(2,20,0)
958 gdk_draw_drawable(od->window, box->style->fg_gc[gtk_widget_get_state(box)],
959 #else
941 gdk_draw_drawable(od->window, box->style->fg_gc[GTK_WIDGET_STATE(box)], 960 gdk_draw_drawable(od->window, box->style->fg_gc[GTK_WIDGET_STATE(box)],
961 #endif
942 pr->overlay_buffer, 962 pr->overlay_buffer,
943 0, 0, 963 0, 0,
944 rx - px, ry - py, rw, rh); 964 rx - px, ry - py, rw, rh);
945 } 965 }
946 else 966 else
955 975
956 sw = MIN(rx + rw - sx, pr->tile_width); 976 sw = MIN(rx + rw - sx, pr->tile_width);
957 sh = MIN(ry + rh - sy, pr->tile_height); 977 sh = MIN(ry + rh - sy, pr->tile_height);
958 978
959 gdk_draw_rectangle(pr->overlay_buffer, 979 gdk_draw_rectangle(pr->overlay_buffer,
980 #if GTK_CHECK_VERSION(2,20,0)
981 box->style->bg_gc[gtk_widget_get_state(box)], TRUE,
982 #else
960 box->style->bg_gc[GTK_WIDGET_STATE(box)], TRUE, 983 box->style->bg_gc[GTK_WIDGET_STATE(box)], TRUE,
984 #endif
961 0, 0, sw, sh); 985 0, 0, sw, sh);
962 gdk_draw_pixbuf(pr->overlay_buffer, 986 gdk_draw_pixbuf(pr->overlay_buffer,
987 #if GTK_CHECK_VERSION(2,20,0)
988 box->style->fg_gc[gtk_widget_get_state(box)],
989 #else
963 box->style->fg_gc[GTK_WIDGET_STATE(box)], 990 box->style->fg_gc[GTK_WIDGET_STATE(box)],
991 #endif
964 od->pixbuf, 992 od->pixbuf,
965 sx - px, sy - py, 993 sx - px, sy - py,
966 0, 0, sw, sh, 994 0, 0, sw, sh,
967 pr->dither_quality, sx, sy); 995 pr->dither_quality, sx, sy);
996 #if GTK_CHECK_VERSION(2,20,0)
997 gdk_draw_drawable(od->window, box->style->fg_gc[gtk_widget_get_state(box)],
998 #else
968 gdk_draw_drawable(od->window, box->style->fg_gc[GTK_WIDGET_STATE(box)], 999 gdk_draw_drawable(od->window, box->style->fg_gc[GTK_WIDGET_STATE(box)],
1000 #endif
969 pr->overlay_buffer, 1001 pr->overlay_buffer,
970 0, 0, 1002 0, 0,
971 sx - px, sy - py, sw, sh); 1003 sx - px, sy - py, sw, sh);
972 } 1004 }
973 } 1005 }
1421 style = gtk_style_copy(gtk_widget_get_default_style()); 1453 style = gtk_style_copy(gtk_widget_get_default_style());
1422 } 1454 }
1423 1455
1424 gtk_widget_set_style(widget, style); 1456 gtk_widget_set_style(widget, style);
1425 1457
1458 #if GTK_CHECK_VERSION(2,20,0)
1459 if (gtk_widget_get_visible(widget)) pr_border_clear(pr);
1460 #else
1426 if (GTK_WIDGET_VISIBLE(widget)) pr_border_clear(pr); 1461 if (GTK_WIDGET_VISIBLE(widget)) pr_border_clear(pr);
1462 #endif
1427 } 1463 }
1428 1464
1429 1465
1430 /* 1466 /*
1431 *------------------------------------------------------------------- 1467 *-------------------------------------------------------------------
1688 rx - st->x, ry - st->y, rw, rh); 1724 rx - st->x, ry - st->y, rw, rh);
1689 } 1725 }
1690 else /* (pr->zoom == 1.0 || pr->scale == 1.0) */ 1726 else /* (pr->zoom == 1.0 || pr->scale == 1.0) */
1691 { 1727 {
1692 gdk_draw_pixbuf(it->pixmap, 1728 gdk_draw_pixbuf(it->pixmap,
1729 #if GTK_CHECK_VERSION(2,20,0)
1730 box->style->fg_gc[gtk_widget_get_state(box)],
1731 #else
1693 box->style->fg_gc[GTK_WIDGET_STATE(box)], 1732 box->style->fg_gc[GTK_WIDGET_STATE(box)],
1733 #endif
1694 st->pixbuf, 1734 st->pixbuf,
1695 rx - st->x, ry - st->y, 1735 rx - st->x, ry - st->y,
1696 rx - it->x, ry - it->y, 1736 rx - it->x, ry - it->y,
1697 rw, rh, 1737 rw, rh,
1698 pr->dither_quality, rx, ry); 1738 pr->dither_quality, rx, ry);
2622 2662
2623 if (pr->orientation == EXIF_ORIENTATION_TOP_LEFT && !(pr->func_post_process && !(pr->post_process_slow && fast))) 2663 if (pr->orientation == EXIF_ORIENTATION_TOP_LEFT && !(pr->func_post_process && !(pr->post_process_slow && fast)))
2624 { 2664 {
2625 /* faster, simple, base orientation, no postprocessing */ 2665 /* faster, simple, base orientation, no postprocessing */
2626 gdk_draw_pixbuf(it->pixmap, 2666 gdk_draw_pixbuf(it->pixmap,
2667 #if GTK_CHECK_VERSION(2,20,0)
2668 box->style->fg_gc[gtk_widget_get_state(box)],
2669 #else
2627 box->style->fg_gc[GTK_WIDGET_STATE(box)], 2670 box->style->fg_gc[GTK_WIDGET_STATE(box)],
2671 #endif
2628 pr->pixbuf, 2672 pr->pixbuf,
2629 it->x + x, it->y + y, 2673 it->x + x, it->y + y,
2630 x, y, 2674 x, y,
2631 w, h, 2675 w, h,
2632 pr->dither_quality, it->x + x, it->y + y); 2676 pr->dither_quality, it->x + x, it->y + y);
2712 2756
2713 if (pr->func_post_process && !(pr->post_process_slow && fast)) 2757 if (pr->func_post_process && !(pr->post_process_slow && fast))
2714 pr->func_post_process(pr, &it->pixbuf, x, y, w, h, pr->post_process_user_data); 2758 pr->func_post_process(pr, &it->pixbuf, x, y, w, h, pr->post_process_user_data);
2715 2759
2716 gdk_draw_pixbuf(it->pixmap, 2760 gdk_draw_pixbuf(it->pixmap,
2761 #if GTK_CHECK_VERSION(2,20,0)
2762 box->style->fg_gc[gtk_widget_get_state(box)],
2763 #else
2717 box->style->fg_gc[GTK_WIDGET_STATE(box)], 2764 box->style->fg_gc[GTK_WIDGET_STATE(box)],
2765 #endif
2718 it->pixbuf, 2766 it->pixbuf,
2719 x, y, 2767 x, y,
2720 x, y, 2768 x, y,
2721 w, h, 2769 w, h,
2722 pr->dither_quality, it->x + x, it->y + y); 2770 pr->dither_quality, it->x + x, it->y + y);
2740 2788
2741 pr_tile_render(pr, it, x, y, w, h, new_data, fast); 2789 pr_tile_render(pr, it, x, y, w, h, new_data, fast);
2742 2790
2743 box = GTK_WIDGET(pr); 2791 box = GTK_WIDGET(pr);
2744 2792
2793 #if GTK_CHECK_VERSION(2,20,0)
2794 gdk_draw_drawable(box->window, box->style->fg_gc[gtk_widget_get_state(box)],
2795 #else
2745 gdk_draw_drawable(box->window, box->style->fg_gc[GTK_WIDGET_STATE(box)], 2796 gdk_draw_drawable(box->window, box->style->fg_gc[GTK_WIDGET_STATE(box)],
2797 #endif
2746 it->pixmap, x, y, 2798 it->pixmap, x, y,
2747 pr->x_offset + (it->x - pr->x_scroll) + x, pr->y_offset + (it->y - pr->y_scroll) + y, w, h); 2799 pr->x_offset + (it->x - pr->x_scroll) + x, pr->y_offset + (it->y - pr->y_scroll) + y, w, h);
2748 2800
2749 if (pr->overlay_list) 2801 if (pr->overlay_list)
2750 { 2802 {
2860 2912
2861 qd = pr->draw_queue_2pass->data; 2913 qd = pr->draw_queue_2pass->data;
2862 fast = FALSE; 2914 fast = FALSE;
2863 } 2915 }
2864 2916
2917 #if GTK_CHECK_VERSION(2,20,0)
2918 if (gtk_widget_get_realized(pr))
2919 #else
2865 if (GTK_WIDGET_REALIZED(pr)) 2920 if (GTK_WIDGET_REALIZED(pr))
2921 #endif
2866 { 2922 {
2867 if (pr_tile_is_visible(pr, qd->it)) 2923 if (pr_tile_is_visible(pr, qd->it))
2868 { 2924 {
2869 pr_tile_expose(pr, qd->it, qd->x, qd->y, qd->w, qd->h, qd->new_data, fast); 2925 pr_tile_expose(pr, qd->it, qd->x, qd->y, qd->w, qd->h, qd->new_data, fast);
2870 } 2926 }
3846 default: 3902 default:
3847 break; 3903 break;
3848 } 3904 }
3849 3905
3850 parent = gtk_widget_get_parent(widget); 3906 parent = gtk_widget_get_parent(widget);
3907 #if GTK_CHECK_VERSION(2,20,0)
3908 if (widget && gtk_widget_get_can_focus(parent))
3909 #else
3851 if (widget && GTK_WIDGET_CAN_FOCUS(parent)) 3910 if (widget && GTK_WIDGET_CAN_FOCUS(parent))
3911 #endif
3852 { 3912 {
3853 gtk_widget_grab_focus(parent); 3913 gtk_widget_grab_focus(parent);
3854 } 3914 }
3855 3915
3856 return FALSE; 3916 return FALSE;
3866 { 3926 {
3867 pr_scroller_stop(pr); 3927 pr_scroller_stop(pr);
3868 return TRUE; 3928 return TRUE;
3869 } 3929 }
3870 3930
3931 #if GTK_CHECK_VERSION(2,20,0)
3932 if (gdk_pointer_is_grabbed() && gtk_widget_has_grab(pr))
3933 #else
3871 if (gdk_pointer_is_grabbed() && GTK_WIDGET_HAS_GRAB(pr)) 3934 if (gdk_pointer_is_grabbed() && GTK_WIDGET_HAS_GRAB(pr))
3935 #endif
3872 { 3936 {
3873 gtk_grab_remove(widget); 3937 gtk_grab_remove(widget);
3874 gdk_pointer_ungrab(bevent->time); 3938 gdk_pointer_ungrab(bevent->time);
3875 widget_set_cursor(widget, -1); 3939 widget_set_cursor(widget, -1);
3876 } 3940 }
3982 pr->zoom = zoom; /* don't throw away the zoom value, it is set by pixbuf_renderer_move, among others, 4046 pr->zoom = zoom; /* don't throw away the zoom value, it is set by pixbuf_renderer_move, among others,
3983 and used for pixbuf_renderer_zoom_get */ 4047 and used for pixbuf_renderer_zoom_get */
3984 4048
3985 box = GTK_WIDGET(pr); 4049 box = GTK_WIDGET(pr);
3986 4050
4051 #if GTK_CHECK_VERSION(2,20,0)
4052 if (gtk_widget_get_realized(box))
4053 #else
3987 if (GTK_WIDGET_REALIZED(box)) 4054 if (GTK_WIDGET_REALIZED(box))
4055 #endif
3988 { 4056 {
3989 gdk_window_clear(box->window); 4057 gdk_window_clear(box->window);
3990 pr_overlay_draw(pr, 0, 0, pr->window_width, pr->window_height, NULL); 4058 pr_overlay_draw(pr, 0, 0, pr->window_width, pr->window_height, NULL);
3991 } 4059 }
3992 4060