docs: def _getDirection(coord1, coord2):
      """
      Return the direction the line formed by the (x, y)
      points in `coord1` and `coord2`.
      """
      x1, y1 = coord1
      x2, y2 = coord2
  
      if x1 == x2 and y1 == y2:
          return None # two coordinates are the same.
      elif x1 == x2 and y1 > y2:
          return UP
      elif x1 == x2 and y1 < y2:
          return DOWN
      elif x1 > x2 and y1 == y2:
          return LEFT
      elif x1 < x2 and y1 == y2:
          return RIGHT
  
      slope = float(y2 - y1) / float(x2 - x1)
  
      # Figure out which quadrant the line is going in, and then
      # determine the closest direction by calculating the slope
      if x2 > x1 and y2 < y1: # up right quadrant
          if slope > -0.4142:
              return RIGHT # slope is between 0 and 22.5 degrees
          elif slope < -2.4142:
              return UP # slope is between 67.5 and 90 degrees
          else:
              return UPRIGHT # slope is between 22.5 and 67.5 degrees
      elif x2 > x1 and y2 > y1: # down right quadrant
          if slope > 2.4142:
              return DOWN
          elif slope < 0.4142:
              return RIGHT
          else:
              return DOWNRIGHT
      elif x2 < x1 and y2 < y1: # up left quadrant
          if slope < 0.4142:
              return LEFT
          elif slope > 2.4142:
              return UP
          else:
              return UPLEFT
      elif x2 < x1 and y2 > y1: # down left quadrant
          if slope < -2.4142:
              return DOWN
          elif slope > -0.4142:
              return LEFT
          else:
              return DOWNLEFT