слушатель мыши в Хаскеле - PullRequest
1 голос
/ 07 марта 2012

Я пытаюсь создать программу на Haskell, используя opengl, которая рисует круг при щелчке мыши, где она нажата. Проблема в том, что я не могу найти ничего, что могло бы показать мне, как заставить слушателя мыши. Кто-нибудь знает какие-нибудь хорошие учебные сайты?

1 Ответ

3 голосов
/ 07 марта 2012

Если вы используете GLUT, вы найдете то, что вам нужно, в Graphics.UI.GLUT.Callbacks.Window, в частности, keyboardMouseCallback.Обратите внимание, что кнопки мыши обрабатываются как клавиши клавиатуры:

myKeyboardMouseCallback key keyState modifiers position =
  case (key, keyState) of
    (MouseButton LeftButton, Down) -> do
      {- draw circle @ position ... -}
    _ -> return () -- ignore other buttons

attachMyKeyboardMouseCallback = keyboardMouseCallback $= Just myKeyboardMouseCallback
...