-- | Graph drawing
module Sound.DF.Uniform.GADT.Draw where

import Control.Monad.Trans.State {- transformers -}
import Sound.DF.Uniform.GADT.DF
import Sound.DF.Uniform.LL
import Sound.DF.Uniform.UDF as U

-- | 'U.draw' of 'df_erase'.
draw :: K' a => DF a -> IO ()
draw = U.draw . df_erase

-- | `U.draw'` of 'df_erase'.
draw' :: K' a => DF a -> IO ()
draw' = U.draw' . df_erase

-- | 'U.draw' of 'df_erase' of 'evalId'.
drawM :: K' a => State Id (DF a) -> IO ()
drawM = U.draw . df_erase . evalId

-- | 'U.gr_draw' of 'df_erase'.
gr_draw :: K' a => DF a -> IO ()
gr_draw = U.gr_draw . df_erase

-- | `U.gr_draw'` of 'df_erase'.
gr_draw' :: K' a => DF a -> IO ()
gr_draw' = U.gr_draw' . df_erase

-- | 'U.gr_draw' of 'df_erase' of 'evalId'.
gr_drawM :: K' a => State Id (DF a) -> IO ()
gr_drawM = U.gr_draw . df_erase . evalId