{-# OPTIONS_GHC -Wall #-}

module Vis ( Options(..)
           , Antialiasing(..)
           , Camera0(..)
           , defaultOpts
           , display
           , animate
           , simulate
           , play
           , animateIO
           , simulateIO
           , playIO
           , visMovie
           , VisObject(..)
           , SpecialKey(..)
           , BitmapFont(..)
           , Flavour(..)
           , LoadedObjModel
           , loadObjModel
           , module Vis.GlossColor
           ) where

import Graphics.UI.GLUT ( SpecialKey(..), BitmapFont(..), Flavour(..) )

import Vis.Vis ( Options(..), Antialiasing(..), visMovie )
import Vis.Camera ( Camera0(..) )
import Vis.Interface ( display, animate, simulate, play, animateIO, simulateIO, playIO )
import Vis.VisObject ( VisObject(..), LoadedObjModel, loadObjModel )
import Vis.GlossColor

-- | Some reasonable default options.
-- Consider changing the window name with something like:
--
-- > myOptions = defaultOpts {optWindowName = "my rad program"}
defaultOpts :: Options
defaultOpts :: Options
defaultOpts =
  Options
  { optBackgroundColor :: Maybe Color
optBackgroundColor = forall a. Maybe a
Nothing
  , optWindowSize :: Maybe (Int, Int)
optWindowSize = forall a. Maybe a
Nothing
  , optWindowPosition :: Maybe (Int, Int)
optWindowPosition = forall a. Maybe a
Nothing
  , optWindowName :: String
optWindowName = String
"not-gloss"
  , optInitialCamera :: Maybe Camera0
optInitialCamera = forall a. Maybe a
Nothing
  , optAntialiasing :: Antialiasing
optAntialiasing = Antialiasing
Aliased
  }