module Test.Marionette.Rect where

import Data.Aeson.Types (FromJSON, ToJSON)
import GHC.Generics (Generic)
import Prelude

data Rect = Rect
    { Rect -> Float
x :: Float
    , Rect -> Float
y :: Float
    , Rect -> Float
width :: Float
    , Rect -> Float
height :: Float
    }
    deriving stock ((forall x. Rect -> Rep Rect x)
-> (forall x. Rep Rect x -> Rect) -> Generic Rect
forall x. Rep Rect x -> Rect
forall x. Rect -> Rep Rect x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Rect -> Rep Rect x
from :: forall x. Rect -> Rep Rect x
$cto :: forall x. Rep Rect x -> Rect
to :: forall x. Rep Rect x -> Rect
Generic, Int -> Rect -> ShowS
[Rect] -> ShowS
Rect -> String
(Int -> Rect -> ShowS)
-> (Rect -> String) -> ([Rect] -> ShowS) -> Show Rect
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Rect -> ShowS
showsPrec :: Int -> Rect -> ShowS
$cshow :: Rect -> String
show :: Rect -> String
$cshowList :: [Rect] -> ShowS
showList :: [Rect] -> ShowS
Show, Rect -> Rect -> Bool
(Rect -> Rect -> Bool) -> (Rect -> Rect -> Bool) -> Eq Rect
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Rect -> Rect -> Bool
== :: Rect -> Rect -> Bool
$c/= :: Rect -> Rect -> Bool
/= :: Rect -> Rect -> Bool
Eq)
    deriving anyclass (Maybe Rect
Value -> Parser [Rect]
Value -> Parser Rect
(Value -> Parser Rect)
-> (Value -> Parser [Rect]) -> Maybe Rect -> FromJSON Rect
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser Rect
parseJSON :: Value -> Parser Rect
$cparseJSONList :: Value -> Parser [Rect]
parseJSONList :: Value -> Parser [Rect]
$comittedField :: Maybe Rect
omittedField :: Maybe Rect
FromJSON, [Rect] -> Value
[Rect] -> Encoding
Rect -> Bool
Rect -> Value
Rect -> Encoding
(Rect -> Value)
-> (Rect -> Encoding)
-> ([Rect] -> Value)
-> ([Rect] -> Encoding)
-> (Rect -> Bool)
-> ToJSON Rect
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: Rect -> Value
toJSON :: Rect -> Value
$ctoEncoding :: Rect -> Encoding
toEncoding :: Rect -> Encoding
$ctoJSONList :: [Rect] -> Value
toJSONList :: [Rect] -> Value
$ctoEncodingList :: [Rect] -> Encoding
toEncodingList :: [Rect] -> Encoding
$comitField :: Rect -> Bool
omitField :: Rect -> Bool
ToJSON)