ある2点間の座標で、x, ,y がともに整数になる座標の配列を取得したいという関数はどう書けばいいでしょうか。

例えば
public Position[] getHogePosition(Position pos1, Position pos2){}

でこうなるイメージです
getHogePosition(Pos(0, 0) , Pos(2, 2)) -> {Pos(1,1)}
getHogePosition(Pos(0, 0) , Pos(3, 3)) -> {Pos(1,1), Pos(2,2)}

微妙な斜め方向が難しければ45度の倍数の角度だけの対応でも嬉しいです。