module XMonad.Util.Types (Direction1D(..)
,Direction2D(..)
) where
data Direction1D = Next | Prev deriving (Direction1D -> Direction1D -> Bool
(Direction1D -> Direction1D -> Bool)
-> (Direction1D -> Direction1D -> Bool) -> Eq Direction1D
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Direction1D -> Direction1D -> Bool
== :: Direction1D -> Direction1D -> Bool
$c/= :: Direction1D -> Direction1D -> Bool
/= :: Direction1D -> Direction1D -> Bool
Eq,ReadPrec [Direction1D]
ReadPrec Direction1D
Int -> ReadS Direction1D
ReadS [Direction1D]
(Int -> ReadS Direction1D)
-> ReadS [Direction1D]
-> ReadPrec Direction1D
-> ReadPrec [Direction1D]
-> Read Direction1D
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS Direction1D
readsPrec :: Int -> ReadS Direction1D
$creadList :: ReadS [Direction1D]
readList :: ReadS [Direction1D]
$creadPrec :: ReadPrec Direction1D
readPrec :: ReadPrec Direction1D
$creadListPrec :: ReadPrec [Direction1D]
readListPrec :: ReadPrec [Direction1D]
Read,Int -> Direction1D -> ShowS
[Direction1D] -> ShowS
Direction1D -> String
(Int -> Direction1D -> ShowS)
-> (Direction1D -> String)
-> ([Direction1D] -> ShowS)
-> Show Direction1D
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Direction1D -> ShowS
showsPrec :: Int -> Direction1D -> ShowS
$cshow :: Direction1D -> String
show :: Direction1D -> String
$cshowList :: [Direction1D] -> ShowS
showList :: [Direction1D] -> ShowS
Show)
data Direction2D = U
| D
| R
| L
deriving (Direction2D -> Direction2D -> Bool
(Direction2D -> Direction2D -> Bool)
-> (Direction2D -> Direction2D -> Bool) -> Eq Direction2D
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Direction2D -> Direction2D -> Bool
== :: Direction2D -> Direction2D -> Bool
$c/= :: Direction2D -> Direction2D -> Bool
/= :: Direction2D -> Direction2D -> Bool
Eq,ReadPrec [Direction2D]
ReadPrec Direction2D
Int -> ReadS Direction2D
ReadS [Direction2D]
(Int -> ReadS Direction2D)
-> ReadS [Direction2D]
-> ReadPrec Direction2D
-> ReadPrec [Direction2D]
-> Read Direction2D
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS Direction2D
readsPrec :: Int -> ReadS Direction2D
$creadList :: ReadS [Direction2D]
readList :: ReadS [Direction2D]
$creadPrec :: ReadPrec Direction2D
readPrec :: ReadPrec Direction2D
$creadListPrec :: ReadPrec [Direction2D]
readListPrec :: ReadPrec [Direction2D]
Read,Int -> Direction2D -> ShowS
[Direction2D] -> ShowS
Direction2D -> String
(Int -> Direction2D -> ShowS)
-> (Direction2D -> String)
-> ([Direction2D] -> ShowS)
-> Show Direction2D
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Direction2D -> ShowS
showsPrec :: Int -> Direction2D -> ShowS
$cshow :: Direction2D -> String
show :: Direction2D -> String
$cshowList :: [Direction2D] -> ShowS
showList :: [Direction2D] -> ShowS
Show,Eq Direction2D
Eq Direction2D =>
(Direction2D -> Direction2D -> Ordering)
-> (Direction2D -> Direction2D -> Bool)
-> (Direction2D -> Direction2D -> Bool)
-> (Direction2D -> Direction2D -> Bool)
-> (Direction2D -> Direction2D -> Bool)
-> (Direction2D -> Direction2D -> Direction2D)
-> (Direction2D -> Direction2D -> Direction2D)
-> Ord Direction2D
Direction2D -> Direction2D -> Bool
Direction2D -> Direction2D -> Ordering
Direction2D -> Direction2D -> Direction2D
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Direction2D -> Direction2D -> Ordering
compare :: Direction2D -> Direction2D -> Ordering
$c< :: Direction2D -> Direction2D -> Bool
< :: Direction2D -> Direction2D -> Bool
$c<= :: Direction2D -> Direction2D -> Bool
<= :: Direction2D -> Direction2D -> Bool
$c> :: Direction2D -> Direction2D -> Bool
> :: Direction2D -> Direction2D -> Bool
$c>= :: Direction2D -> Direction2D -> Bool
>= :: Direction2D -> Direction2D -> Bool
$cmax :: Direction2D -> Direction2D -> Direction2D
max :: Direction2D -> Direction2D -> Direction2D
$cmin :: Direction2D -> Direction2D -> Direction2D
min :: Direction2D -> Direction2D -> Direction2D
Ord,Int -> Direction2D
Direction2D -> Int
Direction2D -> [Direction2D]
Direction2D -> Direction2D
Direction2D -> Direction2D -> [Direction2D]
Direction2D -> Direction2D -> Direction2D -> [Direction2D]
(Direction2D -> Direction2D)
-> (Direction2D -> Direction2D)
-> (Int -> Direction2D)
-> (Direction2D -> Int)
-> (Direction2D -> [Direction2D])
-> (Direction2D -> Direction2D -> [Direction2D])
-> (Direction2D -> Direction2D -> [Direction2D])
-> (Direction2D -> Direction2D -> Direction2D -> [Direction2D])
-> Enum Direction2D
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: Direction2D -> Direction2D
succ :: Direction2D -> Direction2D
$cpred :: Direction2D -> Direction2D
pred :: Direction2D -> Direction2D
$ctoEnum :: Int -> Direction2D
toEnum :: Int -> Direction2D
$cfromEnum :: Direction2D -> Int
fromEnum :: Direction2D -> Int
$cenumFrom :: Direction2D -> [Direction2D]
enumFrom :: Direction2D -> [Direction2D]
$cenumFromThen :: Direction2D -> Direction2D -> [Direction2D]
enumFromThen :: Direction2D -> Direction2D -> [Direction2D]
$cenumFromTo :: Direction2D -> Direction2D -> [Direction2D]
enumFromTo :: Direction2D -> Direction2D -> [Direction2D]
$cenumFromThenTo :: Direction2D -> Direction2D -> Direction2D -> [Direction2D]
enumFromThenTo :: Direction2D -> Direction2D -> Direction2D -> [Direction2D]
Enum,Direction2D
Direction2D -> Direction2D -> Bounded Direction2D
forall a. a -> a -> Bounded a
$cminBound :: Direction2D
minBound :: Direction2D
$cmaxBound :: Direction2D
maxBound :: Direction2D
Bounded)