その際、マウスの動きが縦方向なのか、横方向なのかを検知する必要がありました。

これは、上記マウスのドラッグで移動を応用して、
開始座標と、0.01秒とかの短い時間後のマウス座標の差から絶対値を出し、x>yなら横移動、y>xなら縦移動したとみなして、それぞれの処理を行ないます。