-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Datatypes and Aeson instances for parsing LDtk -- -- Please see the README on GitHub at -- https://github.com/isovector/ldtk-types#readme @package ldtk-types @version 1.2.3 module LDtk.Types ldtkOpts :: Options data Color Color :: Word8 -> Word8 -> Word8 -> Color [$sel:c_r:Color] :: Color -> Word8 [$sel:c_g:Color] :: Color -> Word8 [$sel:c_b:Color] :: Color -> Word8 data EntityDef EntityDef :: Color -> Int -> Text -> [Int] -> Float -> Float -> Maybe TilesetRect -> TileRenderMode -> Maybe Int -> Int -> Int -> EntityDef [$sel:color:EntityDef] :: EntityDef -> Color [$sel:height:EntityDef] :: EntityDef -> Int [$sel:identifier:EntityDef] :: EntityDef -> Text [$sel:nineSliceBorders:EntityDef] :: EntityDef -> [Int] [$sel:pivotX:EntityDef] :: EntityDef -> Float [$sel:pivotY:EntityDef] :: EntityDef -> Float [$sel:tileRect:EntityDef] :: EntityDef -> Maybe TilesetRect [$sel:tileRenderMode:EntityDef] :: EntityDef -> TileRenderMode [$sel:tilesetId:EntityDef] :: EntityDef -> Maybe Int [$sel:uid:EntityDef] :: EntityDef -> Int [$sel:width:EntityDef] :: EntityDef -> Int data EmbedAtlas LdtkIcons :: EmbedAtlas data CustomData CustomData :: Text -> Int -> CustomData [$sel:data':CustomData] :: CustomData -> Text [$sel:tileId:CustomData] :: CustomData -> Int data EnumTag EnumTag :: Text -> [Int] -> EnumTag [$sel:enumValueId:EnumTag] :: EnumTag -> Text [$sel:tileIds:EnumTag] :: EnumTag -> [Int] data TilesetDef TilesetDef :: Int -> Int -> [CustomData] -> Maybe EmbedAtlas -> [EnumTag] -> Text -> Int -> Int -> Int -> Maybe FilePath -> Int -> [Text] -> Maybe Int -> Int -> Int -> TilesetDef [$sel:__cHei:TilesetDef] :: TilesetDef -> Int [$sel:__cWid:TilesetDef] :: TilesetDef -> Int [$sel:customData:TilesetDef] :: TilesetDef -> [CustomData] [$sel:embedAtlas:TilesetDef] :: TilesetDef -> Maybe EmbedAtlas [$sel:enumTags:TilesetDef] :: TilesetDef -> [EnumTag] [$sel:identifier:TilesetDef] :: TilesetDef -> Text [$sel:padding:TilesetDef] :: TilesetDef -> Int [$sel:pxHei:TilesetDef] :: TilesetDef -> Int [$sel:pxWid:TilesetDef] :: TilesetDef -> Int [$sel:relPath:TilesetDef] :: TilesetDef -> Maybe FilePath [$sel:spacing:TilesetDef] :: TilesetDef -> Int [$sel:tags:TilesetDef] :: TilesetDef -> [Text] [$sel:tagsSourceEnumUid:TilesetDef] :: TilesetDef -> Maybe Int [$sel:tileGridSize:TilesetDef] :: TilesetDef -> Int [$sel:uid:TilesetDef] :: TilesetDef -> Int data Definitions Definitions :: [EntityDef] -> [EnumDef] -> [EnumDef] -> [LayerDef] -> [TilesetDef] -> Definitions [$sel:entities:Definitions] :: Definitions -> [EntityDef] [$sel:enums:Definitions] :: Definitions -> [EnumDef] [$sel:externalEnums:Definitions] :: Definitions -> [EnumDef] [$sel:layers:Definitions] :: Definitions -> [LayerDef] [$sel:tilesets:Definitions] :: Definitions -> [TilesetDef] data EnumValueDef EnumValueDef :: Maybe (Rect Int) -> Int -> Text -> Maybe Int -> EnumValueDef [$sel:__tileSrcRect:EnumValueDef] :: EnumValueDef -> Maybe (Rect Int) [$sel:color:EnumValueDef] :: EnumValueDef -> Int [$sel:enumid:EnumValueDef] :: EnumValueDef -> Text [$sel:tileId:EnumValueDef] :: EnumValueDef -> Maybe Int data EnumDef EnumDef :: Maybe FilePath -> Maybe Int -> Text -> [Text] -> Int -> [EnumValueDef] -> EnumDef [$sel:externalRelPath:EnumDef] :: EnumDef -> Maybe FilePath [$sel:iconTilesetUid:EnumDef] :: EnumDef -> Maybe Int [$sel:identifier:EnumDef] :: EnumDef -> Text [$sel:tags:EnumDef] :: EnumDef -> [Text] [$sel:uid:EnumDef] :: EnumDef -> Int [$sel:values:EnumDef] :: EnumDef -> [EnumValueDef] data GridValue GridValue :: Color -> Maybe Text -> Int -> GridValue [$sel:color:GridValue] :: GridValue -> Color [$sel:identifier:GridValue] :: GridValue -> Maybe Text [$sel:value:GridValue] :: GridValue -> Int data LayerDef LayerDef :: LayerType -> Maybe Int -> Float -> Int -> Text -> [GridValue] -> Float -> Float -> Bool -> Int -> Int -> Maybe Int -> Int -> LayerDef [$sel:__type:LayerDef] :: LayerDef -> LayerType [$sel:autoSourceLayerDefUid:LayerDef] :: LayerDef -> Maybe Int [$sel:displayOpacity:LayerDef] :: LayerDef -> Float [$sel:gridSize:LayerDef] :: LayerDef -> Int [$sel:identifier:LayerDef] :: LayerDef -> Text [$sel:intGridValues:LayerDef] :: LayerDef -> [GridValue] [$sel:parallaxFactorX:LayerDef] :: LayerDef -> Float [$sel:parallaxFactorY:LayerDef] :: LayerDef -> Float [$sel:parallaxScaling:LayerDef] :: LayerDef -> Bool [$sel:pxOffsetX:LayerDef] :: LayerDef -> Int [$sel:pxOffsetY:LayerDef] :: LayerDef -> Int [$sel:tilesetDefUid:LayerDef] :: LayerDef -> Maybe Int [$sel:uid:LayerDef] :: LayerDef -> Int data LDtkRoot LDtkRoot :: Color -> Definitions -> Bool -> Text -> Text -> [Level] -> Maybe Int -> Maybe Int -> WorldLayout -> [World] -> LDtkRoot [$sel:bgColor:LDtkRoot] :: LDtkRoot -> Color [$sel:defs:LDtkRoot] :: LDtkRoot -> Definitions [$sel:externalLevels:LDtkRoot] :: LDtkRoot -> Bool [$sel:iid:LDtkRoot] :: LDtkRoot -> Text [$sel:jsonVersion:LDtkRoot] :: LDtkRoot -> Text [$sel:levels:LDtkRoot] :: LDtkRoot -> [Level] [$sel:worldGridHeight:LDtkRoot] :: LDtkRoot -> Maybe Int [$sel:worldGridWidth:LDtkRoot] :: LDtkRoot -> Maybe Int [$sel:worldLayout:LDtkRoot] :: LDtkRoot -> WorldLayout [$sel:worlds:LDtkRoot] :: LDtkRoot -> [World] data TileRenderMode Cover :: TileRenderMode FitInside :: TileRenderMode Repeat :: TileRenderMode Stretch :: TileRenderMode FullSizeCropped :: TileRenderMode FillSizeUncropped :: TileRenderMode NineSlice :: TileRenderMode data WorldLayout Free :: WorldLayout GridVania :: WorldLayout LinearHorizontal :: WorldLayout LinearVertical :: WorldLayout data LayerType IntGrid :: LayerType Entities :: LayerType Tiles :: LayerType AutoLayer :: LayerType data World World :: Text -> Text -> [Level] -> Maybe Int -> Maybe Int -> WorldLayout -> World [$sel:identifier:World] :: World -> Text [$sel:iid:World] :: World -> Text [$sel:levels:World] :: World -> [Level] [$sel:worldGridHeight:World] :: World -> Maybe Int [$sel:worldGridWidth:World] :: World -> Maybe Int [$sel:worldLayout:World] :: World -> WorldLayout data Rect a Rect :: a -> a -> a -> a -> Rect a [$sel:r_x:Rect] :: Rect a -> a [$sel:r_y:Rect] :: Rect a -> a [$sel:r_width:Rect] :: Rect a -> a [$sel:r_height:Rect] :: Rect a -> a data BgPos BgPos :: Rect Float -> Pair Float -> Pair Int -> BgPos [$sel:cropRect:BgPos] :: BgPos -> Rect Float [$sel:scale:BgPos] :: BgPos -> Pair Float [$sel:topLeftPx:BgPos] :: BgPos -> Pair Int data Direction North :: Direction South :: Direction East :: Direction West :: Direction data Neighbour Neighbour :: Direction -> Text -> Neighbour [$sel:dir:Neighbour] :: Neighbour -> Direction [$sel:levelIid:Neighbour] :: Neighbour -> Text data Level Level :: Color -> Maybe BgPos -> [Neighbour] -> Maybe Text -> Maybe Text -> [Field] -> Text -> Text -> [Layer] -> Int -> Int -> Int -> Int -> Int -> Int -> Level [$sel:__bgColor:Level] :: Level -> Color [$sel:__bgPos:Level] :: Level -> Maybe BgPos [$sel:__neighbours:Level] :: Level -> [Neighbour] [$sel:bgRelPath:Level] :: Level -> Maybe Text [$sel:externalRelPath:Level] :: Level -> Maybe Text [$sel:fieldInstances:Level] :: Level -> [Field] [$sel:identifier:Level] :: Level -> Text [$sel:iid:Level] :: Level -> Text [$sel:layerInstances:Level] :: Level -> [Layer] [$sel:pxHei:Level] :: Level -> Int [$sel:pxWid:Level] :: Level -> Int [$sel:uid:Level] :: Level -> Int [$sel:worldDepth:Level] :: Level -> Int [$sel:worldX:Level] :: Level -> Int [$sel:worldY:Level] :: Level -> Int data Layer Layer :: Int -> Int -> Int -> Text -> Float -> Int -> Int -> Maybe Int -> Maybe Text -> LayerType -> [Tile] -> [Entity] -> [Tile] -> Text -> [Int] -> Maybe Int -> Maybe Text -> Int -> Maybe Int -> Bool -> Layer [$sel:__cHei:Layer] :: Layer -> Int [$sel:__cWid:Layer] :: Layer -> Int [$sel:__gridSize:Layer] :: Layer -> Int [$sel:__identifier:Layer] :: Layer -> Text [$sel:__opacity:Layer] :: Layer -> Float [$sel:__pxTotalOffsetX:Layer] :: Layer -> Int [$sel:__pxTotalOffsetY:Layer] :: Layer -> Int [$sel:__tilesetDefUid:Layer] :: Layer -> Maybe Int [$sel:__tilesetRelPath:Layer] :: Layer -> Maybe Text [$sel:__type:Layer] :: Layer -> LayerType [$sel:autoLayerTiles:Layer] :: Layer -> [Tile] [$sel:entityInstances:Layer] :: Layer -> [Entity] [$sel:gridTiles:Layer] :: Layer -> [Tile] [$sel:iid:Layer] :: Layer -> Text [$sel:intGridCsv:Layer] :: Layer -> [Int] [$sel:layerDefUid:Layer] :: Layer -> Maybe Int [$sel:tilesetRelPath:Layer] :: Layer -> Maybe Text [$sel:levelId:Layer] :: Layer -> Int [$sel:overrideTilesetUid:Layer] :: Layer -> Maybe Int [$sel:visible:Layer] :: Layer -> Bool data GridPoint GridPoint :: Int -> Int -> GridPoint [$sel:cx:GridPoint] :: GridPoint -> Int [$sel:cy:GridPoint] :: GridPoint -> Int data Pair a Pair :: a -> a -> Pair a [$sel:p_x:Pair] :: Pair a -> a [$sel:p_y:Pair] :: Pair a -> a data Flip NoFlip :: Flip FlipX :: Flip FlipY :: Flip FlipXY :: Flip data EntityReferenceInfos EntityReferenceInfos :: Text -> Text -> Text -> Text -> EntityReferenceInfos [$sel:entityIid:EntityReferenceInfos] :: EntityReferenceInfos -> Text [$sel:layerIid:EntityReferenceInfos] :: EntityReferenceInfos -> Text [$sel:levelIid:EntityReferenceInfos] :: EntityReferenceInfos -> Text [$sel:worldIid:EntityReferenceInfos] :: EntityReferenceInfos -> Text data FieldValue IntegerValue :: Integer -> FieldValue FloatValue :: Float -> FieldValue BooleanValue :: Bool -> FieldValue StringValue :: Text -> FieldValue FilePathValue :: FilePath -> FieldValue ColorValue :: Color -> FieldValue EnumValue :: Text -> FieldValue PointValue :: GridPoint -> FieldValue TileValue :: TilesetRect -> FieldValue EntityRefValue :: EntityReferenceInfos -> FieldValue ArrayValue :: [FieldValue] -> FieldValue data TilesetRect TilesetRect :: Int -> Int -> Int -> Int -> Int -> TilesetRect [$sel:h:TilesetRect] :: TilesetRect -> Int [$sel:tilesetUid:TilesetRect] :: TilesetRect -> Int [$sel:w:TilesetRect] :: TilesetRect -> Int [$sel:x:TilesetRect] :: TilesetRect -> Int [$sel:y:TilesetRect] :: TilesetRect -> Int data Tile Tile :: Flip -> Pair Int -> Pair Int -> Maybe Int -> Tile [$sel:tile_flip:Tile] :: Tile -> Flip [$sel:px:Tile] :: Tile -> Pair Int [$sel:src:Tile] :: Tile -> Pair Int [$sel:t:Tile] :: Tile -> Maybe Int data Entity Entity :: Pair Int -> Text -> Pair Float -> Color -> [Text] -> Maybe TilesetRect -> Int -> [Field] -> Int -> Text -> Pair Int -> Int -> Entity [$sel:__grid:Entity] :: Entity -> Pair Int [$sel:__identifier:Entity] :: Entity -> Text [$sel:__pivot:Entity] :: Entity -> Pair Float [$sel:__smartColor:Entity] :: Entity -> Color [$sel:__tags:Entity] :: Entity -> [Text] [$sel:__tile:Entity] :: Entity -> Maybe TilesetRect [$sel:defUid:Entity] :: Entity -> Int [$sel:fieldInstances:Entity] :: Entity -> [Field] [$sel:height:Entity] :: Entity -> Int [$sel:iid:Entity] :: Entity -> Text [$sel:px:Entity] :: Entity -> Pair Int [$sel:width:Entity] :: Entity -> Int data Field Field :: Text -> Maybe TilesetRect -> Text -> FieldValue -> Int -> Field [$sel:__identifier:Field] :: Field -> Text [$sel:__tile:Field] :: Field -> Maybe TilesetRect [$sel:__type:Field] :: Field -> Text [$sel:__value:Field] :: Field -> FieldValue [$sel:defUid:Field] :: Field -> Int parseFieldValue :: Text -> Value -> Parser FieldValue instance GHC.Generics.Generic LDtk.Types.Color instance GHC.Read.Read LDtk.Types.Color instance GHC.Show.Show LDtk.Types.Color instance GHC.Classes.Ord LDtk.Types.Color instance GHC.Classes.Eq LDtk.Types.Color instance GHC.Generics.Generic LDtk.Types.EmbedAtlas instance GHC.Enum.Bounded LDtk.Types.EmbedAtlas instance GHC.Enum.Enum LDtk.Types.EmbedAtlas instance GHC.Read.Read LDtk.Types.EmbedAtlas instance GHC.Show.Show LDtk.Types.EmbedAtlas instance GHC.Classes.Ord LDtk.Types.EmbedAtlas instance GHC.Classes.Eq LDtk.Types.EmbedAtlas instance GHC.Generics.Generic LDtk.Types.CustomData instance GHC.Read.Read LDtk.Types.CustomData instance GHC.Show.Show LDtk.Types.CustomData instance GHC.Classes.Ord LDtk.Types.CustomData instance GHC.Classes.Eq LDtk.Types.CustomData instance GHC.Generics.Generic LDtk.Types.EnumTag instance GHC.Read.Read LDtk.Types.EnumTag instance GHC.Show.Show LDtk.Types.EnumTag instance GHC.Classes.Ord LDtk.Types.EnumTag instance GHC.Classes.Eq LDtk.Types.EnumTag instance GHC.Generics.Generic LDtk.Types.TilesetDef instance GHC.Read.Read LDtk.Types.TilesetDef instance GHC.Show.Show LDtk.Types.TilesetDef instance GHC.Classes.Ord LDtk.Types.TilesetDef instance GHC.Classes.Eq LDtk.Types.TilesetDef instance GHC.Generics.Generic LDtk.Types.GridValue instance GHC.Read.Read LDtk.Types.GridValue instance GHC.Show.Show LDtk.Types.GridValue instance GHC.Classes.Ord LDtk.Types.GridValue instance GHC.Classes.Eq LDtk.Types.GridValue instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.TileRenderMode instance GHC.Generics.Generic LDtk.Types.TileRenderMode instance GHC.Enum.Bounded LDtk.Types.TileRenderMode instance GHC.Enum.Enum LDtk.Types.TileRenderMode instance GHC.Read.Read LDtk.Types.TileRenderMode instance GHC.Show.Show LDtk.Types.TileRenderMode instance GHC.Classes.Ord LDtk.Types.TileRenderMode instance GHC.Classes.Eq LDtk.Types.TileRenderMode instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.WorldLayout instance GHC.Generics.Generic LDtk.Types.WorldLayout instance GHC.Enum.Bounded LDtk.Types.WorldLayout instance GHC.Enum.Enum LDtk.Types.WorldLayout instance GHC.Read.Read LDtk.Types.WorldLayout instance GHC.Show.Show LDtk.Types.WorldLayout instance GHC.Classes.Ord LDtk.Types.WorldLayout instance GHC.Classes.Eq LDtk.Types.WorldLayout instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.LayerType instance GHC.Generics.Generic LDtk.Types.LayerType instance GHC.Enum.Bounded LDtk.Types.LayerType instance GHC.Enum.Enum LDtk.Types.LayerType instance GHC.Read.Read LDtk.Types.LayerType instance GHC.Show.Show LDtk.Types.LayerType instance GHC.Classes.Ord LDtk.Types.LayerType instance GHC.Classes.Eq LDtk.Types.LayerType instance GHC.Generics.Generic LDtk.Types.LayerDef instance GHC.Read.Read LDtk.Types.LayerDef instance GHC.Show.Show LDtk.Types.LayerDef instance GHC.Classes.Ord LDtk.Types.LayerDef instance GHC.Classes.Eq LDtk.Types.LayerDef instance GHC.Generics.Generic (LDtk.Types.Rect a) instance GHC.Read.Read a => GHC.Read.Read (LDtk.Types.Rect a) instance GHC.Show.Show a => GHC.Show.Show (LDtk.Types.Rect a) instance GHC.Classes.Ord a => GHC.Classes.Ord (LDtk.Types.Rect a) instance GHC.Classes.Eq a => GHC.Classes.Eq (LDtk.Types.Rect a) instance GHC.Generics.Generic LDtk.Types.EnumValueDef instance GHC.Read.Read LDtk.Types.EnumValueDef instance GHC.Show.Show LDtk.Types.EnumValueDef instance GHC.Classes.Ord LDtk.Types.EnumValueDef instance GHC.Classes.Eq LDtk.Types.EnumValueDef instance GHC.Generics.Generic LDtk.Types.EnumDef instance GHC.Read.Read LDtk.Types.EnumDef instance GHC.Show.Show LDtk.Types.EnumDef instance GHC.Classes.Ord LDtk.Types.EnumDef instance GHC.Classes.Eq LDtk.Types.EnumDef instance GHC.Generics.Generic LDtk.Types.Direction instance GHC.Read.Read LDtk.Types.Direction instance GHC.Show.Show LDtk.Types.Direction instance GHC.Classes.Ord LDtk.Types.Direction instance GHC.Classes.Eq LDtk.Types.Direction instance GHC.Generics.Generic LDtk.Types.Neighbour instance GHC.Read.Read LDtk.Types.Neighbour instance GHC.Show.Show LDtk.Types.Neighbour instance GHC.Classes.Ord LDtk.Types.Neighbour instance GHC.Classes.Eq LDtk.Types.Neighbour instance GHC.Generics.Generic LDtk.Types.GridPoint instance GHC.Read.Read LDtk.Types.GridPoint instance GHC.Show.Show LDtk.Types.GridPoint instance GHC.Classes.Ord LDtk.Types.GridPoint instance GHC.Classes.Eq LDtk.Types.GridPoint instance GHC.Generics.Generic (LDtk.Types.Pair a) instance GHC.Read.Read a => GHC.Read.Read (LDtk.Types.Pair a) instance GHC.Show.Show a => GHC.Show.Show (LDtk.Types.Pair a) instance GHC.Classes.Ord a => GHC.Classes.Ord (LDtk.Types.Pair a) instance GHC.Classes.Eq a => GHC.Classes.Eq (LDtk.Types.Pair a) instance GHC.Generics.Generic LDtk.Types.BgPos instance GHC.Read.Read LDtk.Types.BgPos instance GHC.Show.Show LDtk.Types.BgPos instance GHC.Classes.Ord LDtk.Types.BgPos instance GHC.Classes.Eq LDtk.Types.BgPos instance GHC.Generics.Generic LDtk.Types.Flip instance GHC.Enum.Bounded LDtk.Types.Flip instance GHC.Enum.Enum LDtk.Types.Flip instance GHC.Read.Read LDtk.Types.Flip instance GHC.Show.Show LDtk.Types.Flip instance GHC.Classes.Ord LDtk.Types.Flip instance GHC.Classes.Eq LDtk.Types.Flip instance GHC.Generics.Generic LDtk.Types.EntityReferenceInfos instance GHC.Read.Read LDtk.Types.EntityReferenceInfos instance GHC.Show.Show LDtk.Types.EntityReferenceInfos instance GHC.Classes.Ord LDtk.Types.EntityReferenceInfos instance GHC.Classes.Eq LDtk.Types.EntityReferenceInfos instance GHC.Generics.Generic LDtk.Types.TilesetRect instance GHC.Read.Read LDtk.Types.TilesetRect instance GHC.Show.Show LDtk.Types.TilesetRect instance GHC.Classes.Ord LDtk.Types.TilesetRect instance GHC.Classes.Eq LDtk.Types.TilesetRect instance GHC.Generics.Generic LDtk.Types.FieldValue instance GHC.Read.Read LDtk.Types.FieldValue instance GHC.Show.Show LDtk.Types.FieldValue instance GHC.Classes.Ord LDtk.Types.FieldValue instance GHC.Classes.Eq LDtk.Types.FieldValue instance GHC.Generics.Generic LDtk.Types.EntityDef instance GHC.Read.Read LDtk.Types.EntityDef instance GHC.Show.Show LDtk.Types.EntityDef instance GHC.Classes.Ord LDtk.Types.EntityDef instance GHC.Classes.Eq LDtk.Types.EntityDef instance GHC.Generics.Generic LDtk.Types.Definitions instance GHC.Read.Read LDtk.Types.Definitions instance GHC.Show.Show LDtk.Types.Definitions instance GHC.Classes.Ord LDtk.Types.Definitions instance GHC.Classes.Eq LDtk.Types.Definitions instance GHC.Generics.Generic LDtk.Types.Tile instance GHC.Read.Read LDtk.Types.Tile instance GHC.Show.Show LDtk.Types.Tile instance GHC.Classes.Ord LDtk.Types.Tile instance GHC.Classes.Eq LDtk.Types.Tile instance GHC.Generics.Generic LDtk.Types.Field instance GHC.Read.Read LDtk.Types.Field instance GHC.Show.Show LDtk.Types.Field instance GHC.Classes.Ord LDtk.Types.Field instance GHC.Classes.Eq LDtk.Types.Field instance GHC.Generics.Generic LDtk.Types.Entity instance GHC.Read.Read LDtk.Types.Entity instance GHC.Show.Show LDtk.Types.Entity instance GHC.Classes.Ord LDtk.Types.Entity instance GHC.Classes.Eq LDtk.Types.Entity instance GHC.Generics.Generic LDtk.Types.Layer instance GHC.Read.Read LDtk.Types.Layer instance GHC.Show.Show LDtk.Types.Layer instance GHC.Classes.Ord LDtk.Types.Layer instance GHC.Classes.Eq LDtk.Types.Layer instance GHC.Generics.Generic LDtk.Types.Level instance GHC.Read.Read LDtk.Types.Level instance GHC.Show.Show LDtk.Types.Level instance GHC.Classes.Ord LDtk.Types.Level instance GHC.Classes.Eq LDtk.Types.Level instance GHC.Generics.Generic LDtk.Types.World instance GHC.Read.Read LDtk.Types.World instance GHC.Show.Show LDtk.Types.World instance GHC.Classes.Ord LDtk.Types.World instance GHC.Classes.Eq LDtk.Types.World instance GHC.Generics.Generic LDtk.Types.LDtkRoot instance GHC.Read.Read LDtk.Types.LDtkRoot instance GHC.Show.Show LDtk.Types.LDtkRoot instance GHC.Classes.Ord LDtk.Types.LDtkRoot instance GHC.Classes.Eq LDtk.Types.LDtkRoot instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.LDtkRoot instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.World instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Level instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Layer instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Entity instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Field instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Tile instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Definitions instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.EntityDef instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.TilesetRect instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.EntityReferenceInfos instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Flip instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.BgPos instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (LDtk.Types.Pair a) instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.GridPoint instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Neighbour instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Direction instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.EnumDef instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.EnumValueDef instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (LDtk.Types.Rect a) instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.LayerDef instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.GridValue instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.TilesetDef instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.EnumTag instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.CustomData instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.EmbedAtlas instance Data.Aeson.Types.FromJSON.FromJSON LDtk.Types.Color module LDtk loadLDtk :: FilePath -> IO (Either String LDtkRoot) data Field Field :: Text -> Maybe TilesetRect -> Text -> FieldValue -> Int -> Field [$sel:__identifier:Field] :: Field -> Text [$sel:__tile:Field] :: Field -> Maybe TilesetRect [$sel:__type:Field] :: Field -> Text [$sel:__value:Field] :: Field -> FieldValue [$sel:defUid:Field] :: Field -> Int data Entity Entity :: Pair Int -> Text -> Pair Float -> Color -> [Text] -> Maybe TilesetRect -> Int -> [Field] -> Int -> Text -> Pair Int -> Int -> Entity [$sel:__grid:Entity] :: Entity -> Pair Int [$sel:__identifier:Entity] :: Entity -> Text [$sel:__pivot:Entity] :: Entity -> Pair Float [$sel:__smartColor:Entity] :: Entity -> Color [$sel:__tags:Entity] :: Entity -> [Text] [$sel:__tile:Entity] :: Entity -> Maybe TilesetRect [$sel:defUid:Entity] :: Entity -> Int [$sel:fieldInstances:Entity] :: Entity -> [Field] [$sel:height:Entity] :: Entity -> Int [$sel:iid:Entity] :: Entity -> Text [$sel:px:Entity] :: Entity -> Pair Int [$sel:width:Entity] :: Entity -> Int data Tile Tile :: Flip -> Pair Int -> Pair Int -> Maybe Int -> Tile [$sel:tile_flip:Tile] :: Tile -> Flip [$sel:px:Tile] :: Tile -> Pair Int [$sel:src:Tile] :: Tile -> Pair Int [$sel:t:Tile] :: Tile -> Maybe Int data TilesetRect TilesetRect :: Int -> Int -> Int -> Int -> Int -> TilesetRect [$sel:h:TilesetRect] :: TilesetRect -> Int [$sel:tilesetUid:TilesetRect] :: TilesetRect -> Int [$sel:w:TilesetRect] :: TilesetRect -> Int [$sel:x:TilesetRect] :: TilesetRect -> Int [$sel:y:TilesetRect] :: TilesetRect -> Int data FieldValue IntegerValue :: Integer -> FieldValue FloatValue :: Float -> FieldValue BooleanValue :: Bool -> FieldValue StringValue :: Text -> FieldValue FilePathValue :: FilePath -> FieldValue ColorValue :: Color -> FieldValue EnumValue :: Text -> FieldValue PointValue :: GridPoint -> FieldValue TileValue :: TilesetRect -> FieldValue EntityRefValue :: EntityReferenceInfos -> FieldValue ArrayValue :: [FieldValue] -> FieldValue data EntityReferenceInfos EntityReferenceInfos :: Text -> Text -> Text -> Text -> EntityReferenceInfos [$sel:entityIid:EntityReferenceInfos] :: EntityReferenceInfos -> Text [$sel:layerIid:EntityReferenceInfos] :: EntityReferenceInfos -> Text [$sel:levelIid:EntityReferenceInfos] :: EntityReferenceInfos -> Text [$sel:worldIid:EntityReferenceInfos] :: EntityReferenceInfos -> Text data Flip NoFlip :: Flip FlipX :: Flip FlipY :: Flip FlipXY :: Flip data Pair a Pair :: a -> a -> Pair a [$sel:p_x:Pair] :: Pair a -> a [$sel:p_y:Pair] :: Pair a -> a data GridPoint GridPoint :: Int -> Int -> GridPoint [$sel:cx:GridPoint] :: GridPoint -> Int [$sel:cy:GridPoint] :: GridPoint -> Int data Layer Layer :: Int -> Int -> Int -> Text -> Float -> Int -> Int -> Maybe Int -> Maybe Text -> LayerType -> [Tile] -> [Entity] -> [Tile] -> Text -> [Int] -> Maybe Int -> Maybe Text -> Int -> Maybe Int -> Bool -> Layer [$sel:__cHei:Layer] :: Layer -> Int [$sel:__cWid:Layer] :: Layer -> Int [$sel:__gridSize:Layer] :: Layer -> Int [$sel:__identifier:Layer] :: Layer -> Text [$sel:__opacity:Layer] :: Layer -> Float [$sel:__pxTotalOffsetX:Layer] :: Layer -> Int [$sel:__pxTotalOffsetY:Layer] :: Layer -> Int [$sel:__tilesetDefUid:Layer] :: Layer -> Maybe Int [$sel:__tilesetRelPath:Layer] :: Layer -> Maybe Text [$sel:__type:Layer] :: Layer -> LayerType [$sel:autoLayerTiles:Layer] :: Layer -> [Tile] [$sel:entityInstances:Layer] :: Layer -> [Entity] [$sel:gridTiles:Layer] :: Layer -> [Tile] [$sel:iid:Layer] :: Layer -> Text [$sel:intGridCsv:Layer] :: Layer -> [Int] [$sel:layerDefUid:Layer] :: Layer -> Maybe Int [$sel:tilesetRelPath:Layer] :: Layer -> Maybe Text [$sel:levelId:Layer] :: Layer -> Int [$sel:overrideTilesetUid:Layer] :: Layer -> Maybe Int [$sel:visible:Layer] :: Layer -> Bool data Level Level :: Color -> Maybe BgPos -> [Neighbour] -> Maybe Text -> Maybe Text -> [Field] -> Text -> Text -> [Layer] -> Int -> Int -> Int -> Int -> Int -> Int -> Level [$sel:__bgColor:Level] :: Level -> Color [$sel:__bgPos:Level] :: Level -> Maybe BgPos [$sel:__neighbours:Level] :: Level -> [Neighbour] [$sel:bgRelPath:Level] :: Level -> Maybe Text [$sel:externalRelPath:Level] :: Level -> Maybe Text [$sel:fieldInstances:Level] :: Level -> [Field] [$sel:identifier:Level] :: Level -> Text [$sel:iid:Level] :: Level -> Text [$sel:layerInstances:Level] :: Level -> [Layer] [$sel:pxHei:Level] :: Level -> Int [$sel:pxWid:Level] :: Level -> Int [$sel:uid:Level] :: Level -> Int [$sel:worldDepth:Level] :: Level -> Int [$sel:worldX:Level] :: Level -> Int [$sel:worldY:Level] :: Level -> Int data Neighbour Neighbour :: Direction -> Text -> Neighbour [$sel:dir:Neighbour] :: Neighbour -> Direction [$sel:levelIid:Neighbour] :: Neighbour -> Text data Direction North :: Direction South :: Direction East :: Direction West :: Direction data BgPos BgPos :: Rect Float -> Pair Float -> Pair Int -> BgPos [$sel:cropRect:BgPos] :: BgPos -> Rect Float [$sel:scale:BgPos] :: BgPos -> Pair Float [$sel:topLeftPx:BgPos] :: BgPos -> Pair Int data Rect a Rect :: a -> a -> a -> a -> Rect a [$sel:r_x:Rect] :: Rect a -> a [$sel:r_y:Rect] :: Rect a -> a [$sel:r_width:Rect] :: Rect a -> a [$sel:r_height:Rect] :: Rect a -> a data World World :: Text -> Text -> [Level] -> Maybe Int -> Maybe Int -> WorldLayout -> World [$sel:identifier:World] :: World -> Text [$sel:iid:World] :: World -> Text [$sel:levels:World] :: World -> [Level] [$sel:worldGridHeight:World] :: World -> Maybe Int [$sel:worldGridWidth:World] :: World -> Maybe Int [$sel:worldLayout:World] :: World -> WorldLayout data LayerType IntGrid :: LayerType Entities :: LayerType Tiles :: LayerType AutoLayer :: LayerType data WorldLayout Free :: WorldLayout GridVania :: WorldLayout LinearHorizontal :: WorldLayout LinearVertical :: WorldLayout data TileRenderMode Cover :: TileRenderMode FitInside :: TileRenderMode Repeat :: TileRenderMode Stretch :: TileRenderMode FullSizeCropped :: TileRenderMode FillSizeUncropped :: TileRenderMode NineSlice :: TileRenderMode data LDtkRoot LDtkRoot :: Color -> Definitions -> Bool -> Text -> Text -> [Level] -> Maybe Int -> Maybe Int -> WorldLayout -> [World] -> LDtkRoot [$sel:bgColor:LDtkRoot] :: LDtkRoot -> Color [$sel:defs:LDtkRoot] :: LDtkRoot -> Definitions [$sel:externalLevels:LDtkRoot] :: LDtkRoot -> Bool [$sel:iid:LDtkRoot] :: LDtkRoot -> Text [$sel:jsonVersion:LDtkRoot] :: LDtkRoot -> Text [$sel:levels:LDtkRoot] :: LDtkRoot -> [Level] [$sel:worldGridHeight:LDtkRoot] :: LDtkRoot -> Maybe Int [$sel:worldGridWidth:LDtkRoot] :: LDtkRoot -> Maybe Int [$sel:worldLayout:LDtkRoot] :: LDtkRoot -> WorldLayout [$sel:worlds:LDtkRoot] :: LDtkRoot -> [World] data LayerDef LayerDef :: LayerType -> Maybe Int -> Float -> Int -> Text -> [GridValue] -> Float -> Float -> Bool -> Int -> Int -> Maybe Int -> Int -> LayerDef [$sel:__type:LayerDef] :: LayerDef -> LayerType [$sel:autoSourceLayerDefUid:LayerDef] :: LayerDef -> Maybe Int [$sel:displayOpacity:LayerDef] :: LayerDef -> Float [$sel:gridSize:LayerDef] :: LayerDef -> Int [$sel:identifier:LayerDef] :: LayerDef -> Text [$sel:intGridValues:LayerDef] :: LayerDef -> [GridValue] [$sel:parallaxFactorX:LayerDef] :: LayerDef -> Float [$sel:parallaxFactorY:LayerDef] :: LayerDef -> Float [$sel:parallaxScaling:LayerDef] :: LayerDef -> Bool [$sel:pxOffsetX:LayerDef] :: LayerDef -> Int [$sel:pxOffsetY:LayerDef] :: LayerDef -> Int [$sel:tilesetDefUid:LayerDef] :: LayerDef -> Maybe Int [$sel:uid:LayerDef] :: LayerDef -> Int data GridValue GridValue :: Color -> Maybe Text -> Int -> GridValue [$sel:color:GridValue] :: GridValue -> Color [$sel:identifier:GridValue] :: GridValue -> Maybe Text [$sel:value:GridValue] :: GridValue -> Int data EnumDef EnumDef :: Maybe FilePath -> Maybe Int -> Text -> [Text] -> Int -> [EnumValueDef] -> EnumDef [$sel:externalRelPath:EnumDef] :: EnumDef -> Maybe FilePath [$sel:iconTilesetUid:EnumDef] :: EnumDef -> Maybe Int [$sel:identifier:EnumDef] :: EnumDef -> Text [$sel:tags:EnumDef] :: EnumDef -> [Text] [$sel:uid:EnumDef] :: EnumDef -> Int [$sel:values:EnumDef] :: EnumDef -> [EnumValueDef] data EnumValueDef EnumValueDef :: Maybe (Rect Int) -> Int -> Text -> Maybe Int -> EnumValueDef [$sel:__tileSrcRect:EnumValueDef] :: EnumValueDef -> Maybe (Rect Int) [$sel:color:EnumValueDef] :: EnumValueDef -> Int [$sel:enumid:EnumValueDef] :: EnumValueDef -> Text [$sel:tileId:EnumValueDef] :: EnumValueDef -> Maybe Int data Definitions Definitions :: [EntityDef] -> [EnumDef] -> [EnumDef] -> [LayerDef] -> [TilesetDef] -> Definitions [$sel:entities:Definitions] :: Definitions -> [EntityDef] [$sel:enums:Definitions] :: Definitions -> [EnumDef] [$sel:externalEnums:Definitions] :: Definitions -> [EnumDef] [$sel:layers:Definitions] :: Definitions -> [LayerDef] [$sel:tilesets:Definitions] :: Definitions -> [TilesetDef] data TilesetDef TilesetDef :: Int -> Int -> [CustomData] -> Maybe EmbedAtlas -> [EnumTag] -> Text -> Int -> Int -> Int -> Maybe FilePath -> Int -> [Text] -> Maybe Int -> Int -> Int -> TilesetDef [$sel:__cHei:TilesetDef] :: TilesetDef -> Int [$sel:__cWid:TilesetDef] :: TilesetDef -> Int [$sel:customData:TilesetDef] :: TilesetDef -> [CustomData] [$sel:embedAtlas:TilesetDef] :: TilesetDef -> Maybe EmbedAtlas [$sel:enumTags:TilesetDef] :: TilesetDef -> [EnumTag] [$sel:identifier:TilesetDef] :: TilesetDef -> Text [$sel:padding:TilesetDef] :: TilesetDef -> Int [$sel:pxHei:TilesetDef] :: TilesetDef -> Int [$sel:pxWid:TilesetDef] :: TilesetDef -> Int [$sel:relPath:TilesetDef] :: TilesetDef -> Maybe FilePath [$sel:spacing:TilesetDef] :: TilesetDef -> Int [$sel:tags:TilesetDef] :: TilesetDef -> [Text] [$sel:tagsSourceEnumUid:TilesetDef] :: TilesetDef -> Maybe Int [$sel:tileGridSize:TilesetDef] :: TilesetDef -> Int [$sel:uid:TilesetDef] :: TilesetDef -> Int data EnumTag EnumTag :: Text -> [Int] -> EnumTag [$sel:enumValueId:EnumTag] :: EnumTag -> Text [$sel:tileIds:EnumTag] :: EnumTag -> [Int] data CustomData CustomData :: Text -> Int -> CustomData [$sel:data':CustomData] :: CustomData -> Text [$sel:tileId:CustomData] :: CustomData -> Int data EmbedAtlas LdtkIcons :: EmbedAtlas data EntityDef EntityDef :: Color -> Int -> Text -> [Int] -> Float -> Float -> Maybe TilesetRect -> TileRenderMode -> Maybe Int -> Int -> Int -> EntityDef [$sel:color:EntityDef] :: EntityDef -> Color [$sel:height:EntityDef] :: EntityDef -> Int [$sel:identifier:EntityDef] :: EntityDef -> Text [$sel:nineSliceBorders:EntityDef] :: EntityDef -> [Int] [$sel:pivotX:EntityDef] :: EntityDef -> Float [$sel:pivotY:EntityDef] :: EntityDef -> Float [$sel:tileRect:EntityDef] :: EntityDef -> Maybe TilesetRect [$sel:tileRenderMode:EntityDef] :: EntityDef -> TileRenderMode [$sel:tilesetId:EntityDef] :: EntityDef -> Maybe Int [$sel:uid:EntityDef] :: EntityDef -> Int [$sel:width:EntityDef] :: EntityDef -> Int data Color Color :: Word8 -> Word8 -> Word8 -> Color [$sel:c_r:Color] :: Color -> Word8 [$sel:c_g:Color] :: Color -> Word8 [$sel:c_b:Color] :: Color -> Word8