drawMovements method
Draws the movements on the graph for the given list of movement entries and pages.
movementList
is the list of movement entries.
pages
is the number of pages to draw the movements on.
Implementation
void drawMovements(List<int>? movementList, int pages) {
for (int pageNumber = 0; pageNumber < pages; pageNumber++) {
if (movementList == null || movementList.isEmpty) return;
double increment = (pixelsPerOneMM! / timeScaleFactor);
for (int i = 0; i < movementList.length; i++) {
int movement = movementList[i] - (pageNumber * pointsPerPage);
if (movement > 0 && movement < pointsPerPage) {
canvas[pageNumber].drawLine(
Offset(xOrigin! + (increment * (movement)),
yOrigin + pixelsPerOneMM! * 2),
Offset(xOrigin! + (increment * (movement)),
yOrigin + pixelsPerOneMM! * 2 + (pixelsPerOneMM! * 4)),
graphMovement);
canvas[pageNumber].drawLine(
Offset(xOrigin! + (increment * (movement)),
yOrigin + pixelsPerOneMM! * 2),
Offset(xOrigin! + (increment * (movement)) + pixelsPerOneMM!,
yOrigin + pixelsPerOneMM! * 2 + (pixelsPerOneMM! * 2)),
graphMovement);
}
}
}
//Testing dummy movements
/* for (int pageNumber = 0;pageNumber<pages;pageNumber++) {
int move[] = {2, 12, 24,60, 120, 240, 300, 420, 600,690, 1220, 1240, 1300, 1420, 1600};
for (int i = 0; i < move.length; i++) {
if (move[i]-(pageNumber*pointsPerPage) > 0 && move[i]-(pageNumber*pointsPerPage) < pointsPerPage)
canvas[pageNumber].drawBitmap(movementBitmap,
xOrigin+(pixelsPerOneMM/timeScaleFactor*(move[i]-(pageNumber*pointsPerPage))-(movementBitmap.getWidth()/2)),
yOrigin+pixelsPerOneMM, null);
}
}*/
}