Copyright | (c) Anton Gushcha, 2015-2016 |
---|---|
License | BSD3 |
Maintainer | ncrashed@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
- type KeyChannel = IORef [(Key, KeyState, ModifierKeys)]
- type ButtonChannel = IORef [(MouseButton, MouseButtonState, ModifierKeys)]
- type MouseChannel = IORef (Double, Double)
- type WindowSizeChannel = IORef (Maybe (Double, Double))
- type ScrollChannel = IORef [(Double, Double)]
- type CloseChannel = IORef Bool
- data GLFWState s = GLFWState {
- glfwNextState :: !s
- glfwKeys :: !(HashMap Key (KeyState, ModifierKeys))
- glfwKeyChannel :: !KeyChannel
- glfwMouseButtons :: !(HashMap MouseButton (MouseButtonState, ModifierKeys))
- glfwMouseButtonChannel :: !ButtonChannel
- glfwMousePos :: !(Double, Double)
- glfwMousePosChannel :: !MouseChannel
- glfwWindow :: !(Maybe Window)
- glfwPrevWindow :: !(Maybe Window)
- glfwWindowSize :: !(Maybe (Double, Double))
- glfwWindowSizeChannel :: !WindowSizeChannel
- glfwScroll :: ![(Double, Double)]
- glfwScrollChannel :: !ScrollChannel
- glfwClose :: !Bool
- glfwCloseChannel :: !CloseChannel
- glfwBufferSize :: !Int
Documentation
type KeyChannel = IORef [(Key, KeyState, ModifierKeys)] Source #
Channel to connect core and callback with key states
type ButtonChannel = IORef [(MouseButton, MouseButtonState, ModifierKeys)] Source #
Channel to connect core and callback with mouse button states
type MouseChannel = IORef (Double, Double) Source #
Channel to connect core and callback with mouse position
type WindowSizeChannel = IORef (Maybe (Double, Double)) Source #
Channel to connect core and callback with window resizing
type ScrollChannel = IORef [(Double, Double)] Source #
Channel to connect core and callback with mouse scrolling
type CloseChannel = IORef Bool Source #
Channel to connect core and callback for window closing
Module inner state
s
- - State of next module, the states are chained via nesting.
GLFWState | |
|