El dnd ahora funciona con el zoom
authordanigm <dani@danigm.net>
Mon, 15 Mar 2010 21:59:20 +0000 (21:59 +0000)
committerdanigm <danigm@aa302d1f-72b1-406a-902b-8593ca2b2744>
Mon, 15 Mar 2010 21:59:20 +0000 (21:59 +0000)
From: danigm <dani@danigm.net>

git-svn-id: https://forja.rediris.es/svn/cusl4-tbo@95 aa302d1f-72b1-406a-902b-8593ca2b2744

src/dnd.c
src/ui-drawing.c
src/ui-drawing.h

index 4751a28..aa847cc 100644 (file)
--- a/src/dnd.c
+++ b/src/dnd.c
@@ -17,6 +17,7 @@ drag_data_received_handl (GtkWidget *widget,
                           guint time,
                           TboWindow *tbo)
 {
+    float zoom = tbo_drawing_get_zoom ();
     glong   *_idata;
     gchar   *_sdata;
 
@@ -43,8 +44,8 @@ drag_data_received_handl (GtkWidget *widget,
                 _sdata = (gchar*)selection_data->data;
 
                 Frame *frame = get_frame_view ();
-                int rx = tbo_frame_get_base_x (x);
-                int ry = tbo_frame_get_base_y (y);
+                int rx = tbo_frame_get_base_x (x / zoom);
+                int ry = tbo_frame_get_base_y (y / zoom);
                 SVGImage *svgimage = tbo_svgimage_new_width_params (rx, ry, 0, 0, _sdata);
                 update_drawing (tbo);
                 tbo_frame_add_obj (frame, svgimage);
index 060caeb..0ddf9ba 100644 (file)
@@ -288,3 +288,9 @@ void tbo_drawing_zoom_out (TboWindow *tbo)
     gtk_layout_set_size (GTK_LAYOUT (tbo->drawing), tbo->comic->width*ZOOM, tbo->comic->height*ZOOM);
     update_drawing (tbo);
 }
+
+float
+tbo_drawing_get_zoom ()
+{
+    return ZOOM;
+}
index 18ca9c0..6e0f16a 100644 (file)
@@ -20,5 +20,6 @@ void tbo_drawing_draw (cairo_t *cr, TboWindow *tbo);
 void tbo_drawing_draw_page (cairo_t *cr, Page *page, int w, int h);
 void tbo_drawing_zoom_in (TboWindow *tbo);
 void tbo_drawing_zoom_out (TboWindow *tbo);
+float tbo_drawing_get_zoom ();
 
 #endif