gloss-1.13.1.2: Painless 2D vector graphics, animations and simulations.
Safe HaskellNone
LanguageHaskell2010

Graphics.Gloss.Data.ViewState

Synopsis

Documentation

data Command Source #

The commands suported by the view controller.

Instances

Instances details
Eq Command Source # 
Instance details

Defined in Graphics.Gloss.Data.ViewState

Methods

(==) :: Command -> Command -> Bool

(/=) :: Command -> Command -> Bool

Ord Command Source # 
Instance details

Defined in Graphics.Gloss.Data.ViewState

Methods

compare :: Command -> Command -> Ordering

(<) :: Command -> Command -> Bool

(<=) :: Command -> Command -> Bool

(>) :: Command -> Command -> Bool

(>=) :: Command -> Command -> Bool

max :: Command -> Command -> Command

min :: Command -> Command -> Command

Show Command Source # 
Instance details

Defined in Graphics.Gloss.Data.ViewState

Methods

showsPrec :: Int -> Command -> ShowS

show :: Command -> String

showList :: [Command] -> ShowS

type CommandConfig = [(Command, [(Key, Maybe Modifiers)])] Source #

defaultCommandConfig :: CommandConfig Source #

The default commands. Left click pans, wheel zooms, right click rotates, "r" key resets.

data ViewState Source #

State for controlling the viewport. These are used by the viewport control component.

Constructors

ViewState 

Fields

  • viewStateCommands :: !(Map Command [(Key, Maybe Modifiers)])

    The command list for the viewport controller. These can be safely overwridden at any time by deleting or adding entries to the list. Entries at the front of the list take precedence.

  • viewStateScaleStep :: !Float

    How much to scale the world by for each step of the mouse wheel.

  • viewStateRotateFactor :: !Float

    How many degrees to rotate the world by for each pixel of x motion.

  • viewStateScaleFactor :: !Float

    Ratio to scale the world by for each pixel of y motion.

  • viewStateTranslateMark :: !(Maybe (Float, Float))

    During viewport translation, where the mouse was clicked on the window to start the translate.

  • viewStateRotateMark :: !(Maybe (Float, Float))

    During viewport rotation, where the mouse was clicked on the window to starte the rotate.

  • viewStateScaleMark :: !(Maybe (Float, Float))

    During viewport scale, where the mouse was clicked on the window to start the scale.

  • viewStateViewPort :: ViewPort

    The current viewport.

viewStateInit :: ViewState Source #

The initial view state.

viewStateInitWithConfig :: CommandConfig -> ViewState Source #

Initial view state, with user defined config.

updateViewStateWithEventMaybe :: Event -> ViewState -> Maybe ViewState Source #

Like updateViewStateWithEvent, but returns Nothing if no update was needed.