{-# 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 |]