gelatin-0.1.0.0: A graphics description language.

Safe HaskellNone
LanguageHaskell2010

Gelatin.Picture.Internal

Documentation

newtype VerticesT a m b Source #

Constructors

Vertices 

Fields

Instances

MonadTrans (VerticesT a) Source # 

Methods

lift :: Monad m => m a -> VerticesT a m a #

Monad m => Monad (VerticesT a m) Source # 

Methods

(>>=) :: VerticesT a m a -> (a -> VerticesT a m b) -> VerticesT a m b #

(>>) :: VerticesT a m a -> VerticesT a m b -> VerticesT a m b #

return :: a -> VerticesT a m a #

fail :: String -> VerticesT a m a #

Functor m => Functor (VerticesT a m) Source # 

Methods

fmap :: (a -> b) -> VerticesT a m a -> VerticesT a m b #

(<$) :: a -> VerticesT a m b -> VerticesT a m a #

Monad m => Applicative (VerticesT a m) Source # 

Methods

pure :: a -> VerticesT a m a #

(<*>) :: VerticesT a m (a -> b) -> VerticesT a m a -> VerticesT a m b #

(*>) :: VerticesT a m a -> VerticesT a m b -> VerticesT a m b #

(<*) :: VerticesT a m a -> VerticesT a m b -> VerticesT a m a #

MonadIO m => MonadIO (VerticesT a m) Source # 

Methods

liftIO :: IO a -> VerticesT a m a #

snoc3 :: Unbox a => Vector a -> a -> a -> a -> Vector a Source #

tri :: (Monad m, Unbox a) => a -> a -> a -> VerticesT a m () Source #

bez :: (Monad m, Unbox a) => a -> a -> a -> VerticesT a m () Source #

to :: (Monad m, Unbox a) => a -> VerticesT a m () Source #

segment :: (Monad m, Unbox a) => a -> a -> VerticesT a m () Source #

addVertexList :: (Monad m, Unbox a) => [a] -> VerticesT a m () Source #

runVerticesT :: (Monad m, Unbox a) => VerticesT a m b -> m (Vector a) Source #

mapVertices :: (Monad m, Unbox a, Unbox c) => (a -> c) -> VerticesT a m b -> VerticesT c m () Source #

mapRawGeometry :: (Unbox a, Unbox b) => (a -> b) -> RawGeometry a -> RawGeometry b Source #

newtype GeometryT a m b Source #

Constructors

Geometry 

Fields

Instances

MonadTrans (GeometryT a) Source # 

Methods

lift :: Monad m => m a -> GeometryT a m a #

Monad m => Monad (GeometryT a m) Source # 

Methods

(>>=) :: GeometryT a m a -> (a -> GeometryT a m b) -> GeometryT a m b #

(>>) :: GeometryT a m a -> GeometryT a m b -> GeometryT a m b #

return :: a -> GeometryT a m a #

fail :: String -> GeometryT a m a #

Functor m => Functor (GeometryT a m) Source # 

Methods

fmap :: (a -> b) -> GeometryT a m a -> GeometryT a m b #

(<$) :: a -> GeometryT a m b -> GeometryT a m a #

Monad m => Applicative (GeometryT a m) Source # 

Methods

pure :: a -> GeometryT a m a #

(<*>) :: GeometryT a m (a -> b) -> GeometryT a m a -> GeometryT a m b #

(*>) :: GeometryT a m a -> GeometryT a m b -> GeometryT a m b #

(<*) :: GeometryT a m a -> GeometryT a m b -> GeometryT a m a #

MonadIO m => MonadIO (GeometryT a m) Source # 

Methods

liftIO :: IO a -> GeometryT a m a #

triangles :: (Unbox a, Monad m) => VerticesT a m () -> GeometryT a m () Source #

beziers :: (Monad m, Unbox a) => VerticesT a m () -> GeometryT a m () Source #

strip :: (Monad m, Unbox a) => VerticesT a m () -> GeometryT a m () Source #

fan :: (Monad m, Unbox a) => VerticesT a m () -> GeometryT a m () Source #

line :: (Monad m, Unbox a) => VerticesT a m () -> GeometryT a m () Source #

mapGeometry :: (Monad m, Unbox a, Unbox c) => (a -> c) -> GeometryT a m b -> GeometryT c m () Source #

data PictureData texture vertex Source #

Constructors

PictureData 

Fields

picDataTextures :: forall texture vertex texture. Lens (PictureData texture vertex) (PictureData texture vertex) [texture] [texture] Source #

picDataStroke :: forall texture vertex. Lens' (PictureData texture vertex) [StrokeAttr] Source #

picDataOptions :: forall texture vertex. Lens' (PictureData texture vertex) [RenderingOption] Source #

picDataGeometry :: forall texture vertex vertex. Lens (PictureData texture vertex) (PictureData texture vertex) (Vector (RawGeometry vertex)) (Vector (RawGeometry vertex)) Source #

bothToFrac :: (Real a, Fractional b) => (V2 a, V2 a) -> (V2 b, V2 b) Source #

type PictureT tex vert = StateT (PictureData tex vert) Source #

runPictureT :: PictureT t v m a -> m (a, PictureData t v) Source #

runPicture :: Picture t v a -> (a, PictureData t v) Source #

setGeometry :: Monad m => GeometryT v m () -> PictureT t v m () Source #

setStroke :: Monad m => [StrokeAttr] -> PictureT t v m () Source #

setTextures :: Monad m => [t] -> PictureT t v m () Source #

getTextures :: Monad m => PictureT t v m [t] Source #

mapToSpaceVec :: (Monad m, Unbox v, Unbox s) => (v -> s) -> PictureT t v m (Vector s) Source #

pictureBounds2 :: (Monad m, Unbox v) => (v -> V2 Float) -> PictureT t v m (V2 Float, V2 Float) Source #

pictureBounds3 :: (Monad m, Unbox v) => (v -> V3 Float) -> PictureT t v m BCube Source #

pictureSize2 :: (Monad m, Unbox v) => (v -> V2 Float) -> PictureT t v m (V2 Float) Source #

pictureSize3 :: (Monad m, Unbox v) => (v -> V3 Float) -> PictureT t v m (V3 Float) Source #

pictureOrigin2 :: (Monad m, Unbox v) => (v -> V2 Float) -> PictureT t v m (V2 Float) Source #

pictureOrigin3 :: (Monad m, Unbox v) => (v -> V3 Float) -> PictureT t v m (V3 Float) Source #

pictureCenter2 :: (Monad m, Unbox v) => (v -> V2 Float) -> PictureT t v m (V2 Float) Source #

pictureCenter3 :: (Monad m, Unbox v) => (v -> V3 Float) -> PictureT t v m (V3 Float) Source #