redraw only when something has changed
[eyes-widget] / src / eyes.c
index 4592ca4..a735b92 100644 (file)
@@ -146,17 +146,15 @@ timer_cb(EyesPluginContent *eyes)
       if (GTK_WIDGET_REALIZED(eyes->eyes[i]))
         {
          accel_read(&x, &y, &z);
-         x = -x;
-         y = -y;
+         calculate_pupil_xy (eyes, -x, -y, &pupil_x, &pupil_y, eyes->eyes[i]);
 
-         if ((x != eyes->pointer_last_x[i]) || (y != eyes->pointer_last_y[i]))
+         if ((pupil_x != eyes->pointer_last_x[i]) || (pupil_y != eyes->pointer_last_y[i]))
             {
 
-             calculate_pupil_xy (eyes, x, y, &pupil_x, &pupil_y, eyes->eyes[i]);
              draw_eye (eyes, i, pupil_x, pupil_y);
 
-             eyes->pointer_last_x[i] = x;
-             eyes->pointer_last_y[i] = y;
+             eyes->pointer_last_x[i] = pupil_x;
+             eyes->pointer_last_y[i] = pupil_y;
             }
         }
     }