Lines Matching refs:preview

105 static void photos_print_preview_draw (PhotosPrintPreview *preview, cairo_t *cr);
107 static void update_relative_sizes (PhotosPrintPreview *preview);
108 static void create_surface (PhotosPrintPreview *preview);
109 static void create_image_scaled (PhotosPrintPreview *preview);
110 static gboolean create_surface_when_idle (PhotosPrintPreview *preview);
442 photos_print_preview_init (PhotosPrintPreview *preview) in photos_print_preview_init() argument
446 preview->area = GTK_WIDGET (gtk_drawing_area_new ()); in photos_print_preview_init()
448 gtk_container_add (GTK_CONTAINER (preview), preview->area); in photos_print_preview_init()
450 preview->p_width = 8.5; in photos_print_preview_init()
451 preview->p_height = 11.0; in photos_print_preview_init()
453 ratio = preview->p_width/preview->p_height; in photos_print_preview_init()
455 gtk_aspect_frame_set (GTK_ASPECT_FRAME (preview), in photos_print_preview_init()
458 preview->pixbuf = NULL; in photos_print_preview_init()
459 preview->pixbuf_scaled = NULL; in photos_print_preview_init()
460 preview->pixbuf_x_align = 0.5; in photos_print_preview_init()
461 preview->pixbuf_y_align = 0.5; in photos_print_preview_init()
462 preview->i_scale = 1; in photos_print_preview_init()
464 preview->surface = NULL; in photos_print_preview_init()
465 preview->flag_create_surface = TRUE; in photos_print_preview_init()
467 preview->p_scale = 0; in photos_print_preview_init()
469 preview->l_margin = 0.25; in photos_print_preview_init()
470 preview->r_margin = 0.25; in photos_print_preview_init()
471 preview->t_margin = 0.25; in photos_print_preview_init()
472 preview->b_margin = 0.56; in photos_print_preview_init()
474 preview->grabbed = FALSE; in photos_print_preview_init()
475 preview->cursorx = 0; in photos_print_preview_init()
476 preview->cursory = 0; in photos_print_preview_init()
477 preview->r_dx = 0; in photos_print_preview_init()
478 preview->r_dy = 0; in photos_print_preview_init()
503 PhotosPrintPreview *preview; in photos_print_preview_new_with_pixbuf() local
507 preview = PHOTOS_PRINT_PREVIEW (photos_print_preview_new ()); in photos_print_preview_new_with_pixbuf()
509 preview->pixbuf = g_object_ref (pixbuf); in photos_print_preview_new_with_pixbuf()
511 update_relative_sizes (preview); in photos_print_preview_new_with_pixbuf()
513 return GTK_WIDGET (preview); in photos_print_preview_new_with_pixbuf()
529 PhotosPrintPreview *preview; in photos_print_preview_new() local
532 preview = g_object_new (PHOTOS_TYPE_PRINT_PREVIEW, NULL); in photos_print_preview_new()
534 area = preview->area; in photos_print_preview_new()
551 G_CALLBACK (draw_cb), preview); in photos_print_preview_new()
554 G_CALLBACK (motion_notify_event_cb), preview); in photos_print_preview_new()
557 G_CALLBACK (button_press_event_cb), preview); in photos_print_preview_new()
560 G_CALLBACK (button_release_event_cb), preview); in photos_print_preview_new()
563 G_CALLBACK (key_press_event_cb), preview); in photos_print_preview_new()
566 G_CALLBACK (size_allocate_cb), preview); in photos_print_preview_new()
568 return GTK_WIDGET (preview); in photos_print_preview_new()
600 get_current_image_coordinates (PhotosPrintPreview *preview, gint *x0, gint *y0) in get_current_image_coordinates() argument
604 gtk_widget_get_allocation (GTK_WIDGET (preview->area), &allocation); in get_current_image_coordinates()
606 …= (gint) ((1 - preview->pixbuf_x_align) * preview->l_rmargin + preview->pixbuf_x_align * (allocat… in get_current_image_coordinates()
607 … (gint) ((1 - preview->pixbuf_y_align) * preview->t_rmargin + preview->pixbuf_y_align * (allocati… in get_current_image_coordinates()
623 press_inside_image_area (PhotosPrintPreview *preview, guint x, guint y) in press_inside_image_area() argument
630 get_current_image_coordinates (preview, &x0, &y0); in press_inside_image_area()
632 if (xs >= x0 && ys >= y0 && xs <= x0 + preview->r_width && ys <= y0 + preview->r_height) in press_inside_image_area()
640 photos_print_preview_point_in_image_area (PhotosPrintPreview *preview, guint x, guint y) in photos_print_preview_point_in_image_area() argument
642 g_return_val_if_fail (PHOTOS_IS_PRINT_PREVIEW (preview), FALSE); in photos_print_preview_point_in_image_area()
644 return press_inside_image_area (preview, x, y); in photos_print_preview_point_in_image_area()
649 create_image_scaled (PhotosPrintPreview *preview) in create_image_scaled() argument
651 if (preview->pixbuf_scaled == NULL) in create_image_scaled()
657 gtk_widget_get_allocation (preview->area, &allocation); in create_image_scaled()
658 i_width = gdk_pixbuf_get_width (preview->pixbuf); in create_image_scaled()
659 i_height = gdk_pixbuf_get_height (preview->pixbuf); in create_image_scaled()
666 preview->pixbuf_scaled = gdk_pixbuf_scale_simple (preview->pixbuf, in create_image_scaled()
673 preview->pixbuf_scaled = preview->pixbuf; in create_image_scaled()
674 g_object_ref (preview->pixbuf_scaled); in create_image_scaled()
680 create_preview_buffer (PhotosPrintPreview *preview) in create_preview_buffer() argument
686 if (preview->pixbuf == NULL) { in create_preview_buffer()
690 create_image_scaled (preview); in create_preview_buffer()
692 width = gdk_pixbuf_get_width (preview->pixbuf); in create_preview_buffer()
693 height = gdk_pixbuf_get_height (preview->pixbuf); in create_preview_buffer()
695 width *= preview->i_scale * preview->p_scale; in create_preview_buffer()
696 height *= preview->i_scale * preview->p_scale; in create_preview_buffer()
705 if (preview->pixbuf_scaled) { in create_preview_buffer()
706 pixbuf = gdk_pixbuf_scale_simple (preview->pixbuf_scaled, in create_preview_buffer()
709 pixbuf = gdk_pixbuf_scale_simple (preview->pixbuf, in create_preview_buffer()
718 create_surface (PhotosPrintPreview *preview) in create_surface() argument
722 if (preview->surface != NULL) in create_surface()
724 cairo_surface_destroy (preview->surface); in create_surface()
725 preview->surface = NULL; in create_surface()
728 pixbuf = create_preview_buffer (preview); in create_surface()
731 preview->surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, 0, in create_surface()
732 … gtk_widget_get_window (GTK_WIDGET (preview))); in create_surface()
736 preview->flag_create_surface = FALSE; in create_surface()
741 create_surface_when_idle (PhotosPrintPreview *preview) in create_surface_when_idle() argument
743 create_surface (preview); in create_surface_when_idle()
752 PhotosPrintPreview *preview = PHOTOS_PRINT_PREVIEW (user_data); in button_press_event_cb() local
754 preview->cursorx = event->x; in button_press_event_cb()
755 preview->cursory = event->y; in button_press_event_cb()
760 preview->grabbed = press_inside_image_area (preview, event->x, event->y); in button_press_event_cb()
767 if (preview->grabbed) in button_press_event_cb()
769 gtk_widget_queue_draw (GTK_WIDGET (preview)); in button_press_event_cb()
772 gtk_widget_grab_focus (preview->area); in button_press_event_cb()
781 PhotosPrintPreview *preview = PHOTOS_PRINT_PREVIEW (user_data); in button_release_event_cb() local
786 preview->grabbed = FALSE; in button_release_event_cb()
787 preview->r_dx = 0; in button_release_event_cb()
788 preview->r_dy = 0; in button_release_event_cb()
789 gtk_widget_queue_draw (GTK_WIDGET (preview)); in button_release_event_cb()
918 PhotosPrintPreview *preview; in size_allocate_cb() local
920 preview = PHOTOS_PRINT_PREVIEW (user_data); in size_allocate_cb()
921 update_relative_sizes (preview); in size_allocate_cb()
923 preview->flag_create_surface = TRUE; in size_allocate_cb()
925 if (preview->pixbuf_scaled != NULL) in size_allocate_cb()
927 g_object_unref (preview->pixbuf_scaled); in size_allocate_cb()
928 preview->pixbuf_scaled = NULL; in size_allocate_cb()
931 g_idle_add ((GSourceFunc) create_surface_when_idle, preview); in size_allocate_cb()
936 photos_print_preview_draw (PhotosPrintPreview *preview, cairo_t *cr) in photos_print_preview_draw() argument
943 area = preview->area; in photos_print_preview_draw()
958 preview->l_rmargin, preview->t_rmargin, in photos_print_preview_draw()
959 allocation.width - preview->l_rmargin - preview->r_rmargin, in photos_print_preview_draw()
960 allocation.height - preview->t_rmargin - preview->b_rmargin); in photos_print_preview_draw()
963 get_current_image_coordinates (preview, &x0, &y0); in photos_print_preview_draw()
965 if (preview->flag_create_surface) { in photos_print_preview_draw()
966 create_surface (preview); in photos_print_preview_draw()
969 if (preview->surface) { in photos_print_preview_draw()
970 cairo_set_source_surface (cr, preview->surface, x0, y0); in photos_print_preview_draw()
972 } else if (preview->pixbuf_scaled) { in photos_print_preview_draw()
976 gdouble scale = preview->i_scale * preview->p_scale * in photos_print_preview_draw()
977 gdk_pixbuf_get_width (preview->pixbuf) / gdk_pixbuf_get_width (preview->pixbuf_scaled); in photos_print_preview_draw()
982 gdk_cairo_set_source_pixbuf (cr, preview->pixbuf_scaled, x0, y0); in photos_print_preview_draw()
984 } else if (preview->pixbuf) { in photos_print_preview_draw()
988 x0 /= preview->i_scale * preview->p_scale; in photos_print_preview_draw()
989 y0 /= preview->i_scale * preview->p_scale; in photos_print_preview_draw()
991 cairo_scale (cr, preview->i_scale*preview->p_scale, preview->i_scale*preview->p_scale); in photos_print_preview_draw()
992 gdk_cairo_set_source_pixbuf (cr, preview->pixbuf, x0, y0); in photos_print_preview_draw()
1001 preview->r_width, preview->r_height); in photos_print_preview_draw()
1006 update_relative_sizes (PhotosPrintPreview *preview) in update_relative_sizes() argument
1011 if (preview->pixbuf != NULL) { in update_relative_sizes()
1012 i_width = gdk_pixbuf_get_width (preview->pixbuf); in update_relative_sizes()
1013 i_height = gdk_pixbuf_get_height (preview->pixbuf); in update_relative_sizes()
1018 gtk_widget_get_allocation (preview->area, &allocation); in update_relative_sizes()
1020 preview->p_scale = (gfloat) allocation.width / (preview->p_width * 72.0); in update_relative_sizes()
1022 preview->r_width = (gint) i_width * preview->i_scale * preview->p_scale; in update_relative_sizes()
1023 preview->r_height = (gint) i_height * preview->i_scale * preview->p_scale; in update_relative_sizes()
1025 preview->l_rmargin = (gint) (72. * preview->l_margin * preview->p_scale); in update_relative_sizes()
1026 preview->r_rmargin = (gint) (72. * preview->r_margin * preview->p_scale); in update_relative_sizes()
1027 preview->t_rmargin = (gint) (72. * preview->t_margin * preview->p_scale); in update_relative_sizes()
1028 preview->b_rmargin = (gint) (72. * preview->b_margin * preview->p_scale); in update_relative_sizes()
1043 photos_print_preview_set_page_margins (PhotosPrintPreview *preview, in photos_print_preview_set_page_margins() argument
1049 g_return_if_fail (PHOTOS_IS_PRINT_PREVIEW (preview)); in photos_print_preview_set_page_margins()
1051 g_object_set (G_OBJECT(preview), in photos_print_preview_set_page_margins()
1069 photos_print_preview_set_from_page_setup (PhotosPrintPreview *preview, in photos_print_preview_set_from_page_setup() argument
1072 g_return_if_fail (PHOTOS_IS_PRINT_PREVIEW (preview)); in photos_print_preview_set_from_page_setup()
1075 g_object_set (G_OBJECT (preview), in photos_print_preview_set_from_page_setup()
1097 photos_print_preview_get_image_position (PhotosPrintPreview *preview, in photos_print_preview_get_image_position() argument
1103 g_return_if_fail (PHOTOS_IS_PRINT_PREVIEW (preview)); in photos_print_preview_get_image_position()
1106 width = gdk_pixbuf_get_width (preview->pixbuf) * preview->i_scale / 72.; in photos_print_preview_get_image_position()
1107 …*x = preview->pixbuf_x_align * (preview->p_width - preview->l_margin - preview->r_margin - width); in photos_print_preview_get_image_position()
1110 height = gdk_pixbuf_get_height (preview->pixbuf) * preview->i_scale / 72.; in photos_print_preview_get_image_position()
1111 …*y = preview->pixbuf_y_align * (preview->p_height - preview->t_margin - preview->b_margin - height… in photos_print_preview_get_image_position()
1126 photos_print_preview_set_image_position (PhotosPrintPreview *preview, in photos_print_preview_set_image_position() argument
1133 g_return_if_fail (PHOTOS_IS_PRINT_PREVIEW (preview)); in photos_print_preview_set_image_position()
1136 width = gdk_pixbuf_get_width (preview->pixbuf) * preview->i_scale / 72.; in photos_print_preview_set_image_position()
1137 x_align = CLAMP (x/(preview->p_width - preview->l_margin - preview->r_margin - width), 0, 1); in photos_print_preview_set_image_position()
1138 g_object_set (preview, "pixbuf-x-align", x_align, NULL); in photos_print_preview_set_image_position()
1142 height = gdk_pixbuf_get_height (preview->pixbuf) * preview->i_scale / 72.; in photos_print_preview_set_image_position()
1143 y_align = CLAMP (y/(preview->p_height - preview->t_margin - preview->b_margin - height), 0, 1); in photos_print_preview_set_image_position()
1144 g_object_set (preview, "pixbuf-y-align", y_align, NULL); in photos_print_preview_set_image_position()
1157 photos_print_preview_set_scale (PhotosPrintPreview *preview, gfloat scale) in photos_print_preview_set_scale() argument
1159 g_return_if_fail (PHOTOS_IS_PRINT_PREVIEW (preview)); in photos_print_preview_set_scale()
1161 g_object_set (preview, in photos_print_preview_set_scale()
1165 g_signal_emit (G_OBJECT (preview), in photos_print_preview_set_scale()
1181 photos_print_preview_get_scale (PhotosPrintPreview *preview) in photos_print_preview_get_scale() argument
1185 g_return_val_if_fail (PHOTOS_IS_PRINT_PREVIEW (preview), 0); in photos_print_preview_get_scale()
1187 g_object_get (preview, in photos_print_preview_get_scale()