drawMovements method

void drawMovements(
  1. List<int>? movementList,
  2. int pages
)

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);


          }
      }*/
}