-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A format for describing comics. -- -- A format for describing comics. @package comic @version 0.0.1 module Data.Comic.Types type ImageName = Text data Font Font :: {-# UNPACK #-} !FontName -> {-# UNPACK #-} !FontSize -> {-# UNPACK #-} !RGBA -> Font type FontName = Text type FontSize = Int type HintSize = Int type RGBA = (Word8, Word8, Word8, Word8) blackRGBA :: RGBA whiteRGBA :: RGBA data Position Pos :: {-# UNPACK #-} !Int -> {-# UNPACK #-} !Int -> Position [_pX] :: Position -> {-# UNPACK #-} !Int [_pY] :: Position -> {-# UNPACK #-} !Int data RelPosition RPos :: {-# UNPACK #-} !Float -> {-# UNPACK #-} !Float -> RelPosition [_rX] :: RelPosition -> {-# UNPACK #-} !Float [_rY] :: RelPosition -> {-# UNPACK #-} !Float instance Control.DeepSeq.NFData Data.Comic.Types.RelPosition instance GHC.Generics.Generic Data.Comic.Types.RelPosition instance GHC.Classes.Ord Data.Comic.Types.RelPosition instance GHC.Classes.Eq Data.Comic.Types.RelPosition instance GHC.Show.Show Data.Comic.Types.RelPosition instance GHC.Read.Read Data.Comic.Types.RelPosition instance Control.DeepSeq.NFData Data.Comic.Types.Position instance GHC.Generics.Generic Data.Comic.Types.Position instance GHC.Classes.Ord Data.Comic.Types.Position instance GHC.Classes.Eq Data.Comic.Types.Position instance GHC.Show.Show Data.Comic.Types.Position instance GHC.Read.Read Data.Comic.Types.Position instance Control.DeepSeq.NFData Data.Comic.Types.Font instance GHC.Generics.Generic Data.Comic.Types.Font instance GHC.Classes.Ord Data.Comic.Types.Font instance GHC.Classes.Eq Data.Comic.Types.Font instance GHC.Show.Show Data.Comic.Types.Font instance GHC.Read.Read Data.Comic.Types.Font instance Data.Hashable.Class.Hashable Data.Comic.Types.RelPosition instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Types.RelPosition instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Types.RelPosition instance Data.Hashable.Class.Hashable Data.Comic.Types.Position instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Types.Position instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Types.Position instance Data.Hashable.Class.Hashable Data.Comic.Types.Font module Data.Comic.Flip data Segment Segment :: !DiffTime -> SortedList FrameSplice -> Segment -- | This is how long, ideally, the segment would air for. [_sDuration] :: Segment -> !DiffTime -- | The actual stage directions for playing the content. Times are [0, 1] -- of the Duration. We keep sorting for a stable Ord instance. [_sSplice] :: Segment -> SortedList FrameSplice data ScheduledSegment ScheduledSegment :: {-# UNPACK #-} !Segment -> {-# UNPACK #-} !UUID -> !DiffTime -> ScheduledSegment [_ssSegment] :: ScheduledSegment -> {-# UNPACK #-} !Segment [_ssSegID] :: ScheduledSegment -> {-# UNPACK #-} !UUID -- | This is how long in the future this segment should end, from the time -- it is transmited to the client. [_ssPlayTill] :: ScheduledSegment -> !DiffTime data FrameSplice FSBackground :: {-# UNPACK #-} !OnScreen -> {-# UNPACK #-} !Int -> {-# UNPACK #-} !ImageName -> FrameSplice [_fsWhen] :: FrameSplice -> {-# UNPACK #-} !OnScreen [_fsDepth] :: FrameSplice -> {-# UNPACK #-} !Int [_fsBackground] :: FrameSplice -> {-# UNPACK #-} !ImageName FSText :: {-# UNPACK #-} !OnScreen -> {-# UNPACK #-} !Box -> {-# UNPACK #-} !Text -> {-# UNPACK #-} !Font -> !TextType -> !TextLayout -> FrameSplice [_fsWhen] :: FrameSplice -> {-# UNPACK #-} !OnScreen [_fsWhere] :: FrameSplice -> {-# UNPACK #-} !Box [_fsTxt] :: FrameSplice -> {-# UNPACK #-} !Text [_fsFont] :: FrameSplice -> {-# UNPACK #-} !Font [_fsTxtType] :: FrameSplice -> !TextType [_fsTextLayout] :: FrameSplice -> !TextLayout data TextType TxtStatic :: TextType TxtScroll :: TextType TxtSpeech :: TextType TxtBreaking :: TextType data OnScreen OnScreen :: {-# UNPACK #-} !StartTime -> {-# UNPACK #-} !EndTime -> OnScreen [_osStart] :: OnScreen -> {-# UNPACK #-} !StartTime [_osEnd] :: OnScreen -> {-# UNPACK #-} !EndTime data Box Box :: {-# UNPACK #-} !RelPosition -> {-# UNPACK #-} !RelPosition -> Box [_bTl] :: Box -> {-# UNPACK #-} !RelPosition [_bBr] :: Box -> {-# UNPACK #-} !RelPosition data RelPosition RPos :: {-# UNPACK #-} !Float -> {-# UNPACK #-} !Float -> RelPosition [_rX] :: RelPosition -> {-# UNPACK #-} !Float [_rY] :: RelPosition -> {-# UNPACK #-} !Float data Font Font :: {-# UNPACK #-} !FontName -> {-# UNPACK #-} !FontSize -> {-# UNPACK #-} !RGBA -> Font blackRGBA :: RGBA whiteRGBA :: RGBA data TextLayout TextLayout :: !HAlignment -> !VAlignment -> !Bool -> TextLayout [_tlHorizontal] :: TextLayout -> !HAlignment [_tlVertical] :: TextLayout -> !VAlignment [_tlShrink] :: TextLayout -> !Bool data HAlignment HALeft :: HAlignment HACenter :: HAlignment HARight :: HAlignment data VAlignment VATop :: VAlignment VACenter :: VAlignment VABottom :: VAlignment osStart :: Lens' OnScreen StartTime osEnd :: Lens' OnScreen EndTime fsWhen :: Lens' FrameSplice OnScreen fsDepth :: Traversal' FrameSplice Int fsBackground :: Traversal' FrameSplice ImageName fsFont :: Traversal' FrameSplice Font fsTxt :: Traversal' FrameSplice Text fsTxtType :: Traversal' FrameSplice TextType fsTextLayout :: Traversal' FrameSplice TextLayout fsWhere :: Traversal' FrameSplice Box tlHorizontal :: Lens' TextLayout HAlignment tlVertical :: Lens' TextLayout VAlignment tlShrink :: Lens' TextLayout Bool sDuration :: Lens' Segment DiffTime sSplice :: Lens' Segment (SortedList FrameSplice) instance Control.DeepSeq.NFData Data.Comic.Flip.ScheduledSegment instance GHC.Generics.Generic Data.Comic.Flip.ScheduledSegment instance GHC.Classes.Ord Data.Comic.Flip.ScheduledSegment instance GHC.Classes.Eq Data.Comic.Flip.ScheduledSegment instance GHC.Show.Show Data.Comic.Flip.ScheduledSegment instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Flip.ScheduledSegment instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Flip.ScheduledSegment instance GHC.Base.Semigroup Data.Comic.Flip.Segment instance GHC.Base.Monoid Data.Comic.Flip.Segment instance Data.Hashable.Class.Hashable Data.Comic.Flip.Segment instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Flip.Segment instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Flip.Segment instance Control.DeepSeq.NFData Data.Comic.Flip.Segment instance GHC.Generics.Generic Data.Comic.Flip.Segment instance GHC.Classes.Ord Data.Comic.Flip.Segment instance GHC.Classes.Eq Data.Comic.Flip.Segment instance GHC.Show.Show Data.Comic.Flip.Segment instance Data.Hashable.Class.Hashable Data.Comic.Flip.FrameSplice instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Flip.FrameSplice instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Flip.FrameSplice instance Control.DeepSeq.NFData Data.Comic.Flip.FrameSplice instance GHC.Generics.Generic Data.Comic.Flip.FrameSplice instance GHC.Classes.Ord Data.Comic.Flip.FrameSplice instance GHC.Classes.Eq Data.Comic.Flip.FrameSplice instance GHC.Show.Show Data.Comic.Flip.FrameSplice instance GHC.Read.Read Data.Comic.Flip.FrameSplice instance Data.Hashable.Class.Hashable Data.Comic.Flip.TextType instance GHC.Enum.Enum Data.Comic.Flip.TextType instance Control.DeepSeq.NFData Data.Comic.Flip.TextType instance GHC.Generics.Generic Data.Comic.Flip.TextType instance GHC.Classes.Ord Data.Comic.Flip.TextType instance GHC.Classes.Eq Data.Comic.Flip.TextType instance GHC.Show.Show Data.Comic.Flip.TextType instance GHC.Read.Read Data.Comic.Flip.TextType instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Flip.TextType instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Flip.TextType instance Data.Hashable.Class.Hashable Data.Comic.Flip.TextLayout instance Control.DeepSeq.NFData Data.Comic.Flip.TextLayout instance GHC.Generics.Generic Data.Comic.Flip.TextLayout instance GHC.Classes.Ord Data.Comic.Flip.TextLayout instance GHC.Classes.Eq Data.Comic.Flip.TextLayout instance GHC.Show.Show Data.Comic.Flip.TextLayout instance GHC.Read.Read Data.Comic.Flip.TextLayout instance Data.Hashable.Class.Hashable Data.Comic.Flip.VAlignment instance GHC.Enum.Enum Data.Comic.Flip.VAlignment instance Control.DeepSeq.NFData Data.Comic.Flip.VAlignment instance GHC.Generics.Generic Data.Comic.Flip.VAlignment instance GHC.Classes.Ord Data.Comic.Flip.VAlignment instance GHC.Classes.Eq Data.Comic.Flip.VAlignment instance GHC.Show.Show Data.Comic.Flip.VAlignment instance GHC.Read.Read Data.Comic.Flip.VAlignment instance Data.Hashable.Class.Hashable Data.Comic.Flip.HAlignment instance GHC.Enum.Enum Data.Comic.Flip.HAlignment instance Control.DeepSeq.NFData Data.Comic.Flip.HAlignment instance GHC.Generics.Generic Data.Comic.Flip.HAlignment instance GHC.Classes.Ord Data.Comic.Flip.HAlignment instance GHC.Classes.Eq Data.Comic.Flip.HAlignment instance GHC.Show.Show Data.Comic.Flip.HAlignment instance GHC.Read.Read Data.Comic.Flip.HAlignment instance Control.DeepSeq.NFData Data.Comic.Flip.Box instance GHC.Generics.Generic Data.Comic.Flip.Box instance GHC.Classes.Ord Data.Comic.Flip.Box instance GHC.Classes.Eq Data.Comic.Flip.Box instance GHC.Show.Show Data.Comic.Flip.Box instance GHC.Read.Read Data.Comic.Flip.Box instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Flip.VAlignment instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Flip.VAlignment instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Flip.HAlignment instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Flip.HAlignment instance Data.Hashable.Class.Hashable Data.Comic.Flip.Box instance Data.Hashable.Class.Hashable Data.Comic.Flip.OnScreen instance Control.DeepSeq.NFData Data.Comic.Flip.OnScreen instance GHC.Generics.Generic Data.Comic.Flip.OnScreen instance GHC.Classes.Ord Data.Comic.Flip.OnScreen instance GHC.Classes.Eq Data.Comic.Flip.OnScreen instance GHC.Show.Show Data.Comic.Flip.OnScreen instance GHC.Read.Read Data.Comic.Flip.OnScreen module Data.Comic data Hint ZoneHint :: Text -> Hint [_hintTxt] :: Hint -> Text ClickZoneHint :: Maybe (Position, HintSize) -> Text -> Hint [_hintLocal] :: Hint -> Maybe (Position, HintSize) [_hintLink] :: Hint -> Text HoverHint :: Position -> HintSize -> Text -> Hint [_hintPos] :: Hint -> Position [_hintSize] :: Hint -> HintSize [_hintTxt] :: Hint -> Text data Position Pos :: {-# UNPACK #-} !Int -> {-# UNPACK #-} !Int -> Position [_pX] :: Position -> {-# UNPACK #-} !Int [_pY] :: Position -> {-# UNPACK #-} !Int data Font Font :: {-# UNPACK #-} !FontName -> {-# UNPACK #-} !FontSize -> {-# UNPACK #-} !RGBA -> Font type FontName = Text type FontSize = Int type RGBA = (Word8, Word8, Word8, Word8) data Comic Comic :: [Panel] -> Text -> Int -> Comic [_comicPanels] :: Comic -> [Panel] [_comicAlt] :: Comic -> Text [_comicPad] :: Comic -> Int data Panel Panel :: ImageName -> [Hint] -> [((Position, Position), Font, Text)] -> [(Position, ImageName)] -> Panel [_panelBackground] :: Panel -> ImageName [_panelHints] :: Panel -> [Hint] [_panelTexts] :: Panel -> [((Position, Position), Font, Text)] [_panelOverlays] :: Panel -> [(Position, ImageName)] type HintSize = Int type ImageName = Text data ComicDelta CompleteComic :: Comic -> ComicDelta AppendPanels :: [Panel] -> ComicDelta AddTexts :: [((Position, Position), Font, Text)] -> ComicDelta blackRGBA :: RGBA instance GHC.Classes.Eq Data.Comic.ComicDelta instance GHC.Show.Show Data.Comic.ComicDelta instance GHC.Classes.Ord Data.Comic.Comic instance GHC.Classes.Eq Data.Comic.Comic instance GHC.Show.Show Data.Comic.Comic instance GHC.Classes.Ord Data.Comic.Panel instance GHC.Classes.Eq Data.Comic.Panel instance GHC.Show.Show Data.Comic.Panel instance GHC.Classes.Ord Data.Comic.Hint instance GHC.Classes.Eq Data.Comic.Hint instance GHC.Show.Show Data.Comic.Hint instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.ComicDelta instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.ComicDelta instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Comic instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Comic instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Panel instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Panel instance Data.Aeson.Types.ToJSON.ToJSON Data.Comic.Hint instance Data.Aeson.Types.FromJSON.FromJSON Data.Comic.Hint