aeson-tiled-0.0.2.1: src/Codec/Tiled/Tileset/Transformations.hs
module Codec.Tiled.Tileset.Transformations
( Transformations(..)
, empty
) where
import GHC.Generics (Generic)
import Codec.Tiled.Aeson (FromJSON(..), ToJSON(..), genericParseJSON, genericToJSON)
data Transformations = Transformations
{ hFlip :: Maybe Bool -- ^ Tiles can be flipped horizontally
, vFlip :: Maybe Bool -- ^ Tiles can be flipped vertically
, rotate :: Maybe Bool -- ^ Tiles can be rotated in 90-degree increments
, preferUntransformed :: Maybe Bool -- ^ Whether untransformed tiles remain preferred, otherwise transformed tiles are used to produce more variations
}
deriving (Eq, Show, Generic)
instance FromJSON Transformations where
parseJSON = genericParseJSON
instance ToJSON Transformations where
toJSON = genericToJSON
empty :: Transformations
empty = Transformations
{ hFlip = Nothing
, vFlip = Nothing
, rotate = Nothing
, preferUntransformed = Nothing
}