use struct ivec2 to represent mouse position