{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Control.Moffy.Samples.Viewable.Shape ( Line(..), Box(..), Rect(..), BColor(..), FillPolygon(..) ) where import Data.Type.Set import Control.Moffy.Samples.Viewable.Basic data Line = Line' Color LineWidth Position Position deriving Int -> Line -> ShowS [Line] -> ShowS Line -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Line] -> ShowS $cshowList :: [Line] -> ShowS show :: Line -> String $cshow :: Line -> String showsPrec :: Int -> Line -> ShowS $cshowsPrec :: Int -> Line -> ShowS Show numbered [t| Line |] data Box = Box Rect BColor deriving Int -> Box -> ShowS [Box] -> ShowS Box -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Box] -> ShowS $cshowList :: [Box] -> ShowS show :: Box -> String $cshow :: Box -> String showsPrec :: Int -> Box -> ShowS $cshowsPrec :: Int -> Box -> ShowS Show data Rect = Rect { Rect -> Position leftup :: Position, Rect -> Position rightdown :: Position } deriving Int -> Rect -> ShowS [Rect] -> ShowS Rect -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Rect] -> ShowS $cshowList :: [Rect] -> ShowS show :: Rect -> String $cshow :: Rect -> String showsPrec :: Int -> Rect -> ShowS $cshowsPrec :: Int -> Rect -> ShowS Show data BColor = Red | Green | Blue | Yellow | Cyan | Magenta deriving (Int -> BColor -> ShowS [BColor] -> ShowS BColor -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [BColor] -> ShowS $cshowList :: [BColor] -> ShowS show :: BColor -> String $cshow :: BColor -> String showsPrec :: Int -> BColor -> ShowS $cshowsPrec :: Int -> BColor -> ShowS Show, Int -> BColor BColor -> Int BColor -> [BColor] BColor -> BColor BColor -> BColor -> [BColor] BColor -> BColor -> BColor -> [BColor] forall a. (a -> a) -> (a -> a) -> (Int -> a) -> (a -> Int) -> (a -> [a]) -> (a -> a -> [a]) -> (a -> a -> [a]) -> (a -> a -> a -> [a]) -> Enum a enumFromThenTo :: BColor -> BColor -> BColor -> [BColor] $cenumFromThenTo :: BColor -> BColor -> BColor -> [BColor] enumFromTo :: BColor -> BColor -> [BColor] $cenumFromTo :: BColor -> BColor -> [BColor] enumFromThen :: BColor -> BColor -> [BColor] $cenumFromThen :: BColor -> BColor -> [BColor] enumFrom :: BColor -> [BColor] $cenumFrom :: BColor -> [BColor] fromEnum :: BColor -> Int $cfromEnum :: BColor -> Int toEnum :: Int -> BColor $ctoEnum :: Int -> BColor pred :: BColor -> BColor $cpred :: BColor -> BColor succ :: BColor -> BColor $csucc :: BColor -> BColor Enum) numbered [t| Box |] data FillPolygon = FillPolygon Color [Position] deriving Int -> FillPolygon -> ShowS [FillPolygon] -> ShowS FillPolygon -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [FillPolygon] -> ShowS $cshowList :: [FillPolygon] -> ShowS show :: FillPolygon -> String $cshow :: FillPolygon -> String showsPrec :: Int -> FillPolygon -> ShowS $cshowsPrec :: Int -> FillPolygon -> ShowS Show numbered [t| FillPolygon |]