GtkTV-0.1.9: Gtk-based GUIs for Tangible Values





Gtk-based GUIs in the TV (tangible value) framework


TV type specializations

type In = Input MkISource

type Out = Output MkI MkOSource

type GTV = TV MkI MkOSource

gtv :: Out a -> a -> GTV aSource

Type specialization of tv

runGTV :: GTV a -> IO ()Source

Type specialization of runTV

runOut :: String -> Out a -> a -> ActionSource

runOutIO :: String -> Out a -> IO a -> ActionSource

Run a visualization on a constructed (IO-extracted) value. The action is executed just once, after the visualization is all set up, which allows for things like OpenGL shader compilation.

UI primitives

type R = FloatSource

sliderRIn :: (R, R) -> R -> In RSource

clockIn :: In RSource

A clock that updates every 1/60 second

rateSliderIn :: (R, R) -> R -> In RSource

Rate slider. Updates result (integral) 60 times per second. Specialization of rateSliderDtIn.

integralIn :: (VectorSpace v, Eq v, Scalar v ~ Float) => In v -> In vSource

Integral of an input. Updates result (integral) 60 times per second.

renderOut :: Out ActionSource

Render output, given a rendering action. Handles all set-up. Intended as an implementation substrate for functional graphics.

emptyTexture :: TextureObjectSource

An empty texture. Test with textureIsEmpty

textureIsEmpty :: TextureObject -> BoolSource

Is a texture empty?