finally satisfied with scaling for onDraw, attempting to make the touch listener consistent