void rot1(GdkPixbuf *src, GdkPixbuf *dist, gint r, gfloat m) { gint w1, h1, w2, h2; gint x1, y1, x2, y2; gint px1, py1, px2, py2; gint i, j; guint32 *ptr1, *ptr2; guchar *ptr; w1 = gdk_pixbuf_get_width(src); h1 = gdk_pixbuf_get_height(src); w2 = gdk_pixbuf_get_width(dist); h2 = gdk_pixbuf_get_height(dist); px1 = w1 / 2; py1 = h1 / 2; px2 = w2 / 2; py2 = h2 / 2; r = 360 - r; ptr1 = (guint32*)gdk_pixbuf_get_pixels(src); for(j=0; j= 0) && (x2 < w2) && (y2 >= 0) && (y2 < h2)) { ptr = gdk_pixbuf_get_pixels(dist) + gdk_pixbuf_get_rowstride(dist) * y2 + (x2 * 4); ptr2 = (guint32 *)ptr; *ptr2 = *ptr1; } ptr1++; } } }