-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Convert sprite frames to animate files -- -- Convert sprite frames to animate files @package animate-frames @version 0.0.1 module Animate.Frames.Options getOptions :: IO (Maybe Options) printUsage :: IO () data Options Options :: Map String [String] -> String -> String -> String -> Int -> Bool -> Options [optionsAnimations] :: Options -> Map String [String] [optionsSpritesheet] :: Options -> String [optionsImage] :: Options -> String [optionsMetadata] :: Options -> String [optionsFps] :: Options -> Int [optionsYaml] :: Options -> Bool startAnimation :: String -> Bool startSpritesheet :: String -> Bool startMetadata :: String -> Bool startFps :: String -> Bool startYaml :: String -> Bool startImage :: String -> Bool toOptions :: [String] -> Maybe Options data Arg Arg'AnimationStart :: Arg Arg'AnimationName :: String -> Arg Arg'AnimationFrame :: String -> Arg Arg'SpritesheetStart :: Arg Arg'Spritesheet :: String -> Arg Arg'MetadataStart :: Arg Arg'Metadata :: String -> Arg Arg'FpsStart :: Arg Arg'Fps :: Int -> Arg Arg'ImageStart :: Arg Arg'Image :: String -> Arg Arg'Yaml :: Arg data AniArg AniArg'Name :: String -> AniArg AniArg'Frame :: String -> AniArg toAnimations :: [Arg] -> Map String [String] toSpritesheet :: [Arg] -> Maybe String toMetadata :: [Arg] -> Maybe String toImage :: [Arg] -> Maybe String toAniArgs :: [Arg] -> [AniArg] toFps :: [Arg] -> Int toYaml :: [Arg] -> Bool toArgs :: [String] -> Maybe [Arg] collapseEitherArgTokens :: [Either Arg String] -> Maybe [Arg] stepCollapse :: Arg -> [Either Arg String] -> Maybe [Arg] firstPassToken :: String -> Either Arg String secondPassToken :: Arg -> Either Arg String -> Maybe Arg instance GHC.Classes.Eq Animate.Frames.Options.AniArg instance GHC.Show.Show Animate.Frames.Options.AniArg instance GHC.Classes.Eq Animate.Frames.Options.Arg instance GHC.Show.Show Animate.Frames.Options.Arg instance GHC.Classes.Eq Animate.Frames.Options.Options instance GHC.Show.Show Animate.Frames.Options.Options module Animate.Frames type Seconds = Float data Layout Layout :: (Int, Int) -> [Row] -> Map String [(FrameIndex, Seconds)] -> Layout [layoutSize] :: Layout -> (Int, Int) [layoutRows] :: Layout -> [Row] [layoutAnimations] :: Layout -> Map String [(FrameIndex, Seconds)] data CropInfo CropInfo :: Map String [CropFrame] -> Map CropId CropImage -> CropInfo [cInfoAnimations] :: CropInfo -> Map String [CropFrame] [cInfoImages] :: CropInfo -> Map CropId CropImage data Row Row :: [CropImage] -> Int -> Int -> Int -> Row [rowCropImages] :: Row -> [CropImage] [rowTop] :: Row -> Int [rowHeight] :: Row -> Int [rowWidth] :: Row -> Int data RowStep RowStep :: Row -> [Row] -> RowStep [rsCurrent] :: RowStep -> Row [rsFinished] :: RowStep -> [Row] data CropImage CropImage :: ImageId -> ((Int, Int), (Int, Int)) -> (Int, Int) -> (Int, Int) -> CropImage [ciImage] :: CropImage -> ImageId [ciCoords] :: CropImage -> ((Int, Int), (Int, Int)) [ciOrigin] :: CropImage -> (Int, Int) [ciDim] :: CropImage -> (Int, Int) type CropId = Int newtype ImageId ImageId :: MD5Digest -> ImageId data CropFrame CropFrame :: CropId -> Int -> CropFrame [cfCropId] :: CropFrame -> CropId [cfCount] :: CropFrame -> Int data Tree a Node :: a -> (Maybe (Tree a)) -> (Maybe (Tree a)) -> Tree a data Range Range :: Int -> Int -> Range [rMin] :: Range -> Int [rMax] :: Range -> Int data HorzNode HorzNode :: Range -> CropImage -> HorzNode [hnRange] :: HorzNode -> Range [hnCropImage] :: HorzNode -> CropImage data VertNode VertNode :: Range -> Tree HorzNode -> VertNode [vnRange] :: VertNode -> Range [vnHorzTree] :: VertNode -> Tree HorzNode main :: IO () createCropImagesWithCache :: [(String, [(ImageId, a)])] -> Map ImageId (Image PixelRGBA8) -> IO (Map String [CropImage]) validAnimationCount :: Options -> Bool writeCropImage :: Map ImageId (Image PixelRGBA8) -> FilePath -> CropImage -> IO () generateImageFromCropImage :: Map ImageId (Image PixelRGBA8) -> CropImage -> Image PixelRGBA8 readImageOrFail :: FilePath -> IO (ImageId, Image PixelRGBA8) layoutToSpriteSheetInfo :: FilePath -> Layout -> SpriteSheetInfo String Seconds customWriteSpriteSheetInfo :: SpriteSheetInfo a Seconds -> Text linesOfSpriteSheetInfo :: SpriteSheetInfo a Seconds -> [Text] spriteClipToText :: Int -> SpriteClip a -> Text animationToText :: Text -> [(FrameIndex, Seconds)] -> [Text] showFloat :: Float -> Text textShow :: Show a => a -> Text spriteClipsFromRows :: [Row] -> [SpriteClip String] generatePixelFromLayout :: Map ImageId (Image PixelRGBA8) -> Layout -> Int -> Int -> PixelRGBA8 generateImageFromLayout :: Map ImageId (Image PixelRGBA8) -> Layout -> Image PixelRGBA8 layoutCrops :: Int -> Map String [CropImage] -> Layout getLayoutDim :: [Row] -> (Int, Int) sortByIndex :: Ord a => [(a, b)] -> [(a, b)] inRange :: Int -> Range -> Bool lessThanRange :: Int -> Range -> Bool greaterThanRange :: Int -> Range -> Bool lookupNodeWithinRange :: (n -> Range) -> Tree n -> Int -> Maybe n lookupPixelFromTree :: Map ImageId (Image PixelRGBA8) -> Tree VertNode -> Int -> Int -> Maybe PixelRGBA8 pixelFromCropImage :: Map ImageId (Image PixelRGBA8) -> (Int, Int) -> (Int, Int) -> CropImage -> Maybe PixelRGBA8 mkRows :: (Int, Int) -> [CropImage] -> [Row] appendCropImage :: Row -> CropImage -> Row initRow :: Row initRowStep :: RowStep buildVertTree :: [Row] -> Tree VertNode rowToVertNode :: Row -> VertNode buildHorzTree :: Row -> Tree HorzNode listToTree :: [a] -> Tree a cropAnimationsToLayoutAnimations :: Int -> Map String [CropFrame] -> Map String [(FrameIndex, Seconds)] buildCropInfo :: Map String [CropImage] -> CropInfo insertCropImages :: [CropImage] -> Map CropId CropImage -> (Map CropId CropImage, [CropId]) insertCropImagesStep :: (Map CropId CropImage, [CropId]) -> CropImage -> (Map CropId CropImage, [CropId]) collapseIntoFrames :: [CropId] -> [CropFrame] eqImagePixelRGBA8 :: Image PixelRGBA8 -> Image PixelRGBA8 -> Bool insertCropImage :: CropImage -> Map CropId CropImage -> (Map CropId CropImage, CropId) findByElem :: Eq a => Map k a -> a -> Maybe k sumDim :: [CropImage] -> (Int, Int) maxHeight :: [CropImage] -> Int minBoundaries :: [CropImage] -> (Int, Int) mkCropImage :: Map ImageId (Image PixelRGBA8) -> ImageId -> CropImage cropImageDim :: ((Int, Int), (Int, Int)) -> (Int, Int) cropCoordsImage :: (Pixel a, Eq (PixelBaseComponent a), Ord (PixelBaseComponent a)) => Image a -> ((Int, Int), (Int, Int)) firstOpaquePoint :: (Pixel a, Eq (PixelBaseComponent a), Ord (PixelBaseComponent a)) => (Image a -> [(Int, Int)]) -> ((Int, Int) -> Int) -> Image a -> Maybe Int findY0 :: (Pixel a, Eq (PixelBaseComponent a), Ord (PixelBaseComponent a)) => Image a -> Maybe Int findY1 :: (Pixel a, Eq (PixelBaseComponent a), Ord (PixelBaseComponent a)) => Image a -> Maybe Int findX0 :: (Pixel a, Eq (PixelBaseComponent a), Ord (PixelBaseComponent a)) => Image a -> Maybe Int findX1 :: (Pixel a, Eq (PixelBaseComponent a), Ord (PixelBaseComponent a)) => Image a -> Maybe Int topDown :: Image a -> [(Int, Int)] downTop :: Image a -> [(Int, Int)] leftRight :: Image a -> [(Int, Int)] rightLeft :: Image a -> [(Int, Int)] instance GHC.Classes.Eq Animate.Frames.Range instance GHC.Show.Show Animate.Frames.Range instance GHC.Classes.Eq a => GHC.Classes.Eq (Animate.Frames.Tree a) instance GHC.Show.Show a => GHC.Show.Show (Animate.Frames.Tree a) instance GHC.Classes.Eq Animate.Frames.CropFrame instance GHC.Show.Show Animate.Frames.CropFrame instance GHC.Classes.Ord Animate.Frames.ImageId instance GHC.Classes.Eq Animate.Frames.ImageId instance GHC.Show.Show Animate.Frames.ImageId instance GHC.Base.Functor Animate.Frames.Tree instance GHC.Classes.Eq Animate.Frames.CropImage