官术网_书友最值得收藏!

Using the absolute mouse position

The absolute mouse position is used primarily in window applications, where the mouse position constraints are desirable. The mouse position (0,0) corresponds to the upper-left corner of your application window. The maximum mouse position depends always on the size of the window. Take special care when the mouse cursor is outside the application window. The behavior of LuaSDL in this situation is highly dependent on the currently used operating system! In most cases, you won't get any events related to the mouse cursor motion.

The main advantage of this is that you can use the mouse cursor position reported directly by LuaSDL to precisely manipulate GUI elements inside of the application window. This approach is used also with tablet touch input devices, where you always get absolute positions.

How to do it…

The following mouse movement handler function shows a simple way to get the absolute mouse cursor position:

[SDL.SDL_MOUSEMOTION] = function(raw_event)
  local event = raw_event.motion

The absolute mouse position is stored in x and y attributes:

  mouseX = event.x
  mouseY = event.y
end,
主站蜘蛛池模板: 望江县| 玛多县| 板桥市| 太和县| 玉林市| 夹江县| 邓州市| 怀宁县| 汽车| 浮梁县| 页游| 麻江县| 武清区| 叙永县| 唐海县| 聊城市| 平昌县| 岳普湖县| 寿光市| 黄浦区| 镇雄县| 沧源| 和顺县| 宁城县| 莆田市| 太和县| 柳河县| 唐河县| 牟定县| 萨迦县| 施甸县| 云龙县| 扶绥县| 临潭县| 镇雄县| 枝江市| 巢湖市| 玉田县| 汕尾市| 东宁县| 民勤县|