module TextExample (
    textExample
) where

import qualified Waterfall
import Linear (unit, _x)
textExample :: FilePath -> Double -> String -> Double -> IO Waterfall.Solid
textExample :: FilePath -> Double -> FilePath -> Double -> IO Solid
textExample FilePath
fontpath Double
fontSize FilePath
content Double
depth = do
    Font
font <- FilePath -> Double -> IO Font
Waterfall.fontFromPath FilePath
fontpath Double
fontSize
    Solid -> IO Solid
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Solid -> IO Solid) -> (Shape -> Solid) -> Shape -> IO Solid
forall b c a. (b -> c) -> (a -> b) -> a -> c
. V3 Double -> Double -> Solid -> Solid
forall a. Transformable a => V3 Double -> Double -> a -> a
Waterfall.rotate (ASetter' (V3 Double) Double -> V3 Double
forall (t :: * -> *) a.
(Additive t, Num a) =>
ASetter' (t a) a -> t a
unit ASetter' (V3 Double) Double
forall a. Lens' (V3 a) a
forall (t :: * -> *) a. R1 t => Lens' (t a) a
_x) (Double
forall a. Floating a => a
piDouble -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2) (Solid -> Solid) -> (Shape -> Solid) -> Shape -> Solid
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Double -> Shape -> Solid
Waterfall.prism Double
depth (Shape -> IO Solid) -> Shape -> IO Solid
forall a b. (a -> b) -> a -> b
$ Font -> FilePath -> Shape
Waterfall.text Font
font FilePath
content