Index: trunk/Ohana/src/kii/picture/Reorient.c
===================================================================
--- trunk/Ohana/src/kii/picture/Reorient.c	(revision 6638)
+++ trunk/Ohana/src/kii/picture/Reorient.c	(revision 6674)
@@ -1,26 +1,17 @@
 # include "Ximage.h"
 
-void Reorient (Graphic *graphic, Layout *layout, XButtonEvent *mouse_event) {
-
-  int x, y, dummy2;
-  double X0, Y0;
-  unsigned int dummy3;
-  Window dummy1;
+void Reorient (Graphic *graphic, Layout *layout, double X, double Y, int mode) {
 
   if (layout[0].expand == 0)
     layout[0].expand = 1;
 
-  Screen_to_Image (&X0, &Y0, (double)mouse_event[0].x, (double)mouse_event[0].y, layout);
-  X0 = 0.5*layout[0].matrix.Naxis[0] - X0;
-  Y0 = 0.5*layout[0].matrix.Naxis[1] - Y0;
-
-  switch (mouse_event[0].button) {
-  case 1:
-    if ((layout[0].X != X0) || (layout[0].Y != Y0)) {
-      layout[0].X = X0;
-      layout[0].Y = Y0;
+  switch (mode) {
+  case 0:
+    if ((layout[0].X != X) || (layout[0].Y != Y)) {
+      layout[0].X = X;
+      layout[0].Y = Y;
     }
     break;
-  case 2: 
+  case -1: 
     layout[0].expand--;
     if ((layout[0].expand == 0) || (layout[0].expand == -1))
@@ -31,8 +22,8 @@
       return;
     }
-    layout[0].X = X0;
-    layout[0].Y = Y0;
+    layout[0].X = X;
+    layout[0].Y = Y;
     break;
-  case 3:
+  case +1:
     layout[0].expand++;
     if ((layout[0].expand == 0) || (layout[0].expand == -1))
@@ -43,6 +34,6 @@
       return;
     }
-    layout[0].X = X0;
-    layout[0].Y = Y0;
+    layout[0].X = X;
+    layout[0].Y = Y;
     break;
   }
@@ -51,5 +42,8 @@
   Refresh (graphic, layout, 0);
  
-# ifndef NOWARP  /* the "warp" function seems to be a problem on SUNs for some reason */
+  XFlush (graphic[0].display);
+}
+
+# if (0) /* the "warp" function seems to be a problem on SUNs for some reason */
   XQueryPointer (graphic[0].display, graphic[0].window, &dummy1, &dummy1, &dummy2, &dummy2, &x, &y, &dummy3); 
   if ((x > layout[0].picture.x) && (x < layout[0].picture.x + layout[0].picture.dx) &&
@@ -62,4 +56,2 @@
 # endif
 
-  XFlush (graphic[0].display);
-}
