module Gamgine.State.InputInfo where
import qualified Graphics.UI.GLFW as GLFW
import Gamgine.Control ((?))
import qualified Gamgine.Math.Vect as V
import Control.Applicative ((<$>), (<*>))
data Modifier = Ctrl | Alt | Shift deriving (Eq, Ord)
type MousePos = V.Vect
data InputState = Pressed | Released deriving (Eq, Ord)
isModifierPressed :: Modifier -> GLFW.ModifierKeys -> Bool
isModifierPressed Ctrl = GLFW.modifierKeysControl
isModifierPressed Alt = GLFW.modifierKeysAlt
isModifierPressed Shift = GLFW.modifierKeysShift