not-gloss-0.6.0.0: Painless 3D graphics, no affiliation with gloss

Safe HaskellNone

Vis.Interface

Synopsis

Documentation

displaySource

Arguments

:: Real b 
=> Maybe ((Int, Int), (Int, Int))

optional (window size, window position)

-> String

window name

-> VisObject b

object to draw

-> IO () 

draw a static image

animateSource

Arguments

:: Real b 
=> Maybe ((Int, Int), (Int, Int))

optional (window size, window position)

-> String

window name

-> (Float -> VisObject b)

draw function

-> IO () 

animateIOSource

Arguments

:: Real b 
=> Maybe ((Int, Int), (Int, Int))

optional (window size, window position)

-> String

window name

-> (Float -> IO (VisObject b))

draw function

-> IO () 

display an animation impurely

simulateSource

Arguments

:: Real b 
=> Maybe ((Int, Int), (Int, Int))

optional (window size, window position)

-> String

window name

-> Double

sample rate

-> world

initial state

-> (world -> VisObject b)

draw function

-> (Float -> world -> world)

state propogation function (takes current time and state as inputs)

-> IO () 

run a simulation

simulateIOSource

Arguments

:: Real b 
=> Maybe ((Int, Int), (Int, Int))

optional (window size, window position)

-> String

window name

-> Double

sample rate

-> world

initial state

-> (world -> IO (VisObject b))

draw function

-> (Float -> world -> IO world)

state propogation function (takes current time and state as inputs)

-> IO () 

run a simulation impurely

playSource

Arguments

:: Real b 
=> Maybe ((Int, Int), (Int, Int))

optional (window size, window position)

-> String

window name

-> Double

sample time

-> world

initial state

-> (world -> (VisObject b, Maybe Cursor))

draw function, can give a different cursor

-> (Float -> world -> world)

state propogation function (takes current time and state as inputs)

-> (world -> IO ())

set where camera looks

-> Maybe (world -> Key -> KeyState -> Modifiers -> Position -> world)

keyboard/mouse press callback

-> Maybe (world -> Position -> world)

mouse drag callback

-> Maybe (world -> Position -> world)

mouse move callback

-> IO () 

playIOSource

Arguments

:: Real b 
=> Maybe ((Int, Int), (Int, Int))

optional (window size, window position)

-> String

window name

-> Double

sample time

-> world

initial state

-> (world -> IO (VisObject b, Maybe Cursor))

draw function, can give a different cursor

-> (Float -> world -> IO world)

state propogation function (takes current time and state as inputs)

-> (world -> IO ())

set where camera looks

-> Maybe (world -> Key -> KeyState -> Modifiers -> Position -> world)

keyboard/mouse press callback

-> Maybe (world -> Position -> world)

mouse drag callback

-> Maybe (world -> Position -> world)

mouse move callback

-> IO ()