module Graphics.Gloss.Data.Quad
        ( Quad(..)
        , allQuads)
where

-- | Represents a Quadrant in the 2D plane.
data Quad
        = NW    -- ^ North West
        | NE    -- ^ North East
        | SW    -- ^ South West
        | SE    -- ^ South East
        deriving (Int -> Quad -> ShowS
[Quad] -> ShowS
Quad -> String
(Int -> Quad -> ShowS)
-> (Quad -> String) -> ([Quad] -> ShowS) -> Show Quad
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Quad] -> ShowS
$cshowList :: [Quad] -> ShowS
show :: Quad -> String
$cshow :: Quad -> String
showsPrec :: Int -> Quad -> ShowS
$cshowsPrec :: Int -> Quad -> ShowS
Show, Quad -> Quad -> Bool
(Quad -> Quad -> Bool) -> (Quad -> Quad -> Bool) -> Eq Quad
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Quad -> Quad -> Bool
$c/= :: Quad -> Quad -> Bool
== :: Quad -> Quad -> Bool
$c== :: Quad -> Quad -> Bool
Eq, Int -> Quad
Quad -> Int
Quad -> [Quad]
Quad -> Quad
Quad -> Quad -> [Quad]
Quad -> Quad -> Quad -> [Quad]
(Quad -> Quad)
-> (Quad -> Quad)
-> (Int -> Quad)
-> (Quad -> Int)
-> (Quad -> [Quad])
-> (Quad -> Quad -> [Quad])
-> (Quad -> Quad -> [Quad])
-> (Quad -> Quad -> Quad -> [Quad])
-> Enum Quad
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 :: Quad -> Quad -> Quad -> [Quad]
$cenumFromThenTo :: Quad -> Quad -> Quad -> [Quad]
enumFromTo :: Quad -> Quad -> [Quad]
$cenumFromTo :: Quad -> Quad -> [Quad]
enumFromThen :: Quad -> Quad -> [Quad]
$cenumFromThen :: Quad -> Quad -> [Quad]
enumFrom :: Quad -> [Quad]
$cenumFrom :: Quad -> [Quad]
fromEnum :: Quad -> Int
$cfromEnum :: Quad -> Int
toEnum :: Int -> Quad
$ctoEnum :: Int -> Quad
pred :: Quad -> Quad
$cpred :: Quad -> Quad
succ :: Quad -> Quad
$csucc :: Quad -> Quad
Enum)

-- | A list of all quadrants. Same as @[NW .. SE]@.
allQuads :: [Quad]
allQuads :: [Quad]
allQuads = [Quad
NW .. Quad
SE]