[chronojump] Encoder capture inertial disc with dashed line
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Encoder capture inertial disc with dashed line
- Date: Fri, 1 Apr 2016 05:43:10 +0000 (UTC)
commit 7347288ae2fb7601bcf4ab2e4b576c1c6dd68615
Author: Xavier de Blas <xaviblas gmail com>
Date: Fri Apr 1 06:32:41 2016 +0200
Encoder capture inertial disc with dashed line
src/gui/encoder.cs | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
---
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index f7fc39b..89a85bf 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -3951,7 +3951,6 @@ public partial class ChronoJumpWindow
eCapture.EncoderCapturePointsPainted = 0;
}
-
//also can be optimized to do not erase window every time and only add points since last time
int last = eCapture.EncoderCapturePointsCaptured;
int toDraw = eCapture.EncoderCapturePointsCaptured - eCapture.EncoderCapturePointsPainted;
@@ -3981,17 +3980,21 @@ public partial class ChronoJumpWindow
Gdk.Point [] paintPointsInertial = new Gdk.Point[toDraw];
if(mode == UpdateEncoderPaintModes.INERTIAL) {
- for(int j=0, i = eCapture.EncoderCapturePointsPainted +1 ; i <= last ; i ++, j++)
+ for(int j=0, i = eCapture.EncoderCapturePointsPainted +1 ; i <= last ; i ++, j ++)
{
- paintPointsInertial[j] = eCapture.EncoderCapturePointsInertialDisc[i];
-
- if(refreshAreaOnly) {
- if(eCapture.EncoderCapturePointsInertialDisc[i].Y > maxY)
- maxY = eCapture.EncoderCapturePointsInertialDisc[i].Y;
- if(eCapture.EncoderCapturePointsInertialDisc[i].Y < minY)
- minY = eCapture.EncoderCapturePointsInertialDisc[i].Y;
+ //only assign the points if they are different than paintPoints
+ if(eCapture.EncoderCapturePointsInertialDisc[i] !=
eCapture.EncoderCapturePoints[i] &&
+ (i % 800) <= 520 //dashed accepting 520 points and discarding
280
+ ) {
+ paintPointsInertial[j] =
eCapture.EncoderCapturePointsInertialDisc[i];
+
+ if(refreshAreaOnly) {
+ if(eCapture.EncoderCapturePointsInertialDisc[i].Y >
maxY)
+ maxY =
eCapture.EncoderCapturePointsInertialDisc[i].Y;
+ if(eCapture.EncoderCapturePointsInertialDisc[i].Y <
minY)
+ minY =
eCapture.EncoderCapturePointsInertialDisc[i].Y;
+ }
}
-
}
encoder_capture_signal_pixmap.DrawPoints(pen_gray, paintPointsInertial);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]