{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE EmptyDataDecls #-}
module Text.Layout.Table.Spec.Position where
import Data.Default.Class
data Position orientation
= Start
| Center
| End
deriving Position orientation -> Position orientation -> Bool
(Position orientation -> Position orientation -> Bool)
-> (Position orientation -> Position orientation -> Bool)
-> Eq (Position orientation)
forall orientation.
Position orientation -> Position orientation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Position orientation -> Position orientation -> Bool
$c/= :: forall orientation.
Position orientation -> Position orientation -> Bool
== :: Position orientation -> Position orientation -> Bool
$c== :: forall orientation.
Position orientation -> Position orientation -> Bool
Eq
instance Show (Position H) where
show :: Position H -> String
show Position H
p = case Position H
p of
Position H
Start -> String
"left"
Position H
Center -> String
"center"
Position H
End -> String
"right"
instance Show (Position V) where
show :: Position V -> String
show Position V
p = case Position V
p of
Position V
Start -> String
"top"
Position V
Center -> String
"center"
Position V
End -> String
"bottom"
instance Default (Position orientation) where
def :: Position orientation
def = Position orientation
forall orientation. Position orientation
beginning
beginning :: Position orientation
beginning :: forall orientation. Position orientation
beginning = Position orientation
forall orientation. Position orientation
Start
data H
data V
left :: Position H
left :: Position H
left = Position H
forall orientation. Position orientation
Start
right :: Position H
right :: Position H
right = Position H
forall orientation. Position orientation
End
center :: Position orientation
center :: forall orientation. Position orientation
center = Position orientation
forall orientation. Position orientation
Center
top :: Position V
top :: Position V
top = Position V
forall orientation. Position orientation
Start
bottom :: Position V
bottom :: Position V
bottom = Position V
forall orientation. Position orientation
End