{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_HADDOCK hide #-}
module Graphics.Gloss.Internals.Rendering.Bitmap
( Rectangle(..)
, BitmapData(..)
, BitmapFormat(..), PixelFormat(..), RowOrder(..)
, bitmapPath
, freeBitmapData)
where
import Data.Data
import Foreign
data Rectangle
= Rectangle
{ Rectangle -> (Int, Int)
rectPos :: (Int, Int)
, Rectangle -> (Int, Int)
rectSize :: (Int, Int)
}
deriving (Int -> Rectangle -> ShowS
[Rectangle] -> ShowS
Rectangle -> String
(Int -> Rectangle -> ShowS)
-> (Rectangle -> String)
-> ([Rectangle] -> ShowS)
-> Show Rectangle
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Rectangle -> ShowS
showsPrec :: Int -> Rectangle -> ShowS
$cshow :: Rectangle -> String
show :: Rectangle -> String
$cshowList :: [Rectangle] -> ShowS
showList :: [Rectangle] -> ShowS
Show, ReadPrec [Rectangle]
ReadPrec Rectangle
Int -> ReadS Rectangle
ReadS [Rectangle]
(Int -> ReadS Rectangle)
-> ReadS [Rectangle]
-> ReadPrec Rectangle
-> ReadPrec [Rectangle]
-> Read Rectangle
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS Rectangle
readsPrec :: Int -> ReadS Rectangle
$creadList :: ReadS [Rectangle]
readList :: ReadS [Rectangle]
$creadPrec :: ReadPrec Rectangle
readPrec :: ReadPrec Rectangle
$creadListPrec :: ReadPrec [Rectangle]
readListPrec :: ReadPrec [Rectangle]
Read, Rectangle -> Rectangle -> Bool
(Rectangle -> Rectangle -> Bool)
-> (Rectangle -> Rectangle -> Bool) -> Eq Rectangle
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Rectangle -> Rectangle -> Bool
== :: Rectangle -> Rectangle -> Bool
$c/= :: Rectangle -> Rectangle -> Bool
/= :: Rectangle -> Rectangle -> Bool
Eq, Eq Rectangle
Eq Rectangle =>
(Rectangle -> Rectangle -> Ordering)
-> (Rectangle -> Rectangle -> Bool)
-> (Rectangle -> Rectangle -> Bool)
-> (Rectangle -> Rectangle -> Bool)
-> (Rectangle -> Rectangle -> Bool)
-> (Rectangle -> Rectangle -> Rectangle)
-> (Rectangle -> Rectangle -> Rectangle)
-> Ord Rectangle
Rectangle -> Rectangle -> Bool
Rectangle -> Rectangle -> Ordering
Rectangle -> Rectangle -> Rectangle
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Rectangle -> Rectangle -> Ordering
compare :: Rectangle -> Rectangle -> Ordering
$c< :: Rectangle -> Rectangle -> Bool
< :: Rectangle -> Rectangle -> Bool
$c<= :: Rectangle -> Rectangle -> Bool
<= :: Rectangle -> Rectangle -> Bool
$c> :: Rectangle -> Rectangle -> Bool
> :: Rectangle -> Rectangle -> Bool
$c>= :: Rectangle -> Rectangle -> Bool
>= :: Rectangle -> Rectangle -> Bool
$cmax :: Rectangle -> Rectangle -> Rectangle
max :: Rectangle -> Rectangle -> Rectangle
$cmin :: Rectangle -> Rectangle -> Rectangle
min :: Rectangle -> Rectangle -> Rectangle
Ord, Typeable Rectangle
Typeable Rectangle =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Rectangle -> c Rectangle)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Rectangle)
-> (Rectangle -> Constr)
-> (Rectangle -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Rectangle))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Rectangle))
-> ((forall b. Data b => b -> b) -> Rectangle -> Rectangle)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Rectangle -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Rectangle -> r)
-> (forall u. (forall d. Data d => d -> u) -> Rectangle -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> Rectangle -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle)
-> Data Rectangle
Rectangle -> Constr
Rectangle -> DataType
(forall b. Data b => b -> b) -> Rectangle -> Rectangle
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> Rectangle -> u
forall u. (forall d. Data d => d -> u) -> Rectangle -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Rectangle -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Rectangle -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Rectangle
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Rectangle -> c Rectangle
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Rectangle)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Rectangle)
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Rectangle -> c Rectangle
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Rectangle -> c Rectangle
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Rectangle
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Rectangle
$ctoConstr :: Rectangle -> Constr
toConstr :: Rectangle -> Constr
$cdataTypeOf :: Rectangle -> DataType
dataTypeOf :: Rectangle -> DataType
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Rectangle)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Rectangle)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Rectangle)
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Rectangle)
$cgmapT :: (forall b. Data b => b -> b) -> Rectangle -> Rectangle
gmapT :: (forall b. Data b => b -> b) -> Rectangle -> Rectangle
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Rectangle -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Rectangle -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Rectangle -> r
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Rectangle -> r
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Rectangle -> [u]
gmapQ :: forall u. (forall d. Data d => d -> u) -> Rectangle -> [u]
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Rectangle -> u
gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Rectangle -> u
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Rectangle -> m Rectangle
Data, Typeable)
data BitmapData
= BitmapData
{ BitmapData -> Int
bitmapDataLength :: Int
, BitmapData -> BitmapFormat
bitmapFormat :: BitmapFormat
, BitmapData -> (Int, Int)
bitmapSize :: (Int, Int)
, BitmapData -> Bool
bitmapCacheMe :: Bool
, BitmapData -> ForeignPtr Word8
bitmapPointer :: (ForeignPtr Word8) }
deriving (BitmapData -> BitmapData -> Bool
(BitmapData -> BitmapData -> Bool)
-> (BitmapData -> BitmapData -> Bool) -> Eq BitmapData
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BitmapData -> BitmapData -> Bool
== :: BitmapData -> BitmapData -> Bool
$c/= :: BitmapData -> BitmapData -> Bool
/= :: BitmapData -> BitmapData -> Bool
Eq, Typeable BitmapData
Typeable BitmapData =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BitmapData -> c BitmapData)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BitmapData)
-> (BitmapData -> Constr)
-> (BitmapData -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BitmapData))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c BitmapData))
-> ((forall b. Data b => b -> b) -> BitmapData -> BitmapData)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapData -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapData -> r)
-> (forall u. (forall d. Data d => d -> u) -> BitmapData -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> BitmapData -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData)
-> Data BitmapData
BitmapData -> Constr
BitmapData -> DataType
(forall b. Data b => b -> b) -> BitmapData -> BitmapData
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> BitmapData -> u
forall u. (forall d. Data d => d -> u) -> BitmapData -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapData -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapData -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BitmapData
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BitmapData -> c BitmapData
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BitmapData)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BitmapData)
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BitmapData -> c BitmapData
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BitmapData -> c BitmapData
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BitmapData
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BitmapData
$ctoConstr :: BitmapData -> Constr
toConstr :: BitmapData -> Constr
$cdataTypeOf :: BitmapData -> DataType
dataTypeOf :: BitmapData -> DataType
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BitmapData)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BitmapData)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BitmapData)
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BitmapData)
$cgmapT :: (forall b. Data b => b -> b) -> BitmapData -> BitmapData
gmapT :: (forall b. Data b => b -> b) -> BitmapData -> BitmapData
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapData -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapData -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapData -> r
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapData -> r
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> BitmapData -> [u]
gmapQ :: forall u. (forall d. Data d => d -> u) -> BitmapData -> [u]
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BitmapData -> u
gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BitmapData -> u
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapData -> m BitmapData
Data, Typeable)
data BitmapFormat
= BitmapFormat
{ BitmapFormat -> RowOrder
rowOrder :: RowOrder
, BitmapFormat -> PixelFormat
pixelFormat :: PixelFormat }
deriving (BitmapFormat -> BitmapFormat -> Bool
(BitmapFormat -> BitmapFormat -> Bool)
-> (BitmapFormat -> BitmapFormat -> Bool) -> Eq BitmapFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BitmapFormat -> BitmapFormat -> Bool
== :: BitmapFormat -> BitmapFormat -> Bool
$c/= :: BitmapFormat -> BitmapFormat -> Bool
/= :: BitmapFormat -> BitmapFormat -> Bool
Eq, Typeable BitmapFormat
Typeable BitmapFormat =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BitmapFormat -> c BitmapFormat)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BitmapFormat)
-> (BitmapFormat -> Constr)
-> (BitmapFormat -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BitmapFormat))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c BitmapFormat))
-> ((forall b. Data b => b -> b) -> BitmapFormat -> BitmapFormat)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapFormat -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapFormat -> r)
-> (forall u. (forall d. Data d => d -> u) -> BitmapFormat -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> BitmapFormat -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat)
-> Data BitmapFormat
BitmapFormat -> Constr
BitmapFormat -> DataType
(forall b. Data b => b -> b) -> BitmapFormat -> BitmapFormat
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> BitmapFormat -> u
forall u. (forall d. Data d => d -> u) -> BitmapFormat -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapFormat -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapFormat -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BitmapFormat
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BitmapFormat -> c BitmapFormat
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BitmapFormat)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c BitmapFormat)
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BitmapFormat -> c BitmapFormat
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BitmapFormat -> c BitmapFormat
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BitmapFormat
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BitmapFormat
$ctoConstr :: BitmapFormat -> Constr
toConstr :: BitmapFormat -> Constr
$cdataTypeOf :: BitmapFormat -> DataType
dataTypeOf :: BitmapFormat -> DataType
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BitmapFormat)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BitmapFormat)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c BitmapFormat)
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c BitmapFormat)
$cgmapT :: (forall b. Data b => b -> b) -> BitmapFormat -> BitmapFormat
gmapT :: (forall b. Data b => b -> b) -> BitmapFormat -> BitmapFormat
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapFormat -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapFormat -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapFormat -> r
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BitmapFormat -> r
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> BitmapFormat -> [u]
gmapQ :: forall u. (forall d. Data d => d -> u) -> BitmapFormat -> [u]
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BitmapFormat -> u
gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BitmapFormat -> u
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BitmapFormat -> m BitmapFormat
Data, Typeable, Int -> BitmapFormat -> ShowS
[BitmapFormat] -> ShowS
BitmapFormat -> String
(Int -> BitmapFormat -> ShowS)
-> (BitmapFormat -> String)
-> ([BitmapFormat] -> ShowS)
-> Show BitmapFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BitmapFormat -> ShowS
showsPrec :: Int -> BitmapFormat -> ShowS
$cshow :: BitmapFormat -> String
show :: BitmapFormat -> String
$cshowList :: [BitmapFormat] -> ShowS
showList :: [BitmapFormat] -> ShowS
Show, Eq BitmapFormat
Eq BitmapFormat =>
(BitmapFormat -> BitmapFormat -> Ordering)
-> (BitmapFormat -> BitmapFormat -> Bool)
-> (BitmapFormat -> BitmapFormat -> Bool)
-> (BitmapFormat -> BitmapFormat -> Bool)
-> (BitmapFormat -> BitmapFormat -> Bool)
-> (BitmapFormat -> BitmapFormat -> BitmapFormat)
-> (BitmapFormat -> BitmapFormat -> BitmapFormat)
-> Ord BitmapFormat
BitmapFormat -> BitmapFormat -> Bool
BitmapFormat -> BitmapFormat -> Ordering
BitmapFormat -> BitmapFormat -> BitmapFormat
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: BitmapFormat -> BitmapFormat -> Ordering
compare :: BitmapFormat -> BitmapFormat -> Ordering
$c< :: BitmapFormat -> BitmapFormat -> Bool
< :: BitmapFormat -> BitmapFormat -> Bool
$c<= :: BitmapFormat -> BitmapFormat -> Bool
<= :: BitmapFormat -> BitmapFormat -> Bool
$c> :: BitmapFormat -> BitmapFormat -> Bool
> :: BitmapFormat -> BitmapFormat -> Bool
$c>= :: BitmapFormat -> BitmapFormat -> Bool
>= :: BitmapFormat -> BitmapFormat -> Bool
$cmax :: BitmapFormat -> BitmapFormat -> BitmapFormat
max :: BitmapFormat -> BitmapFormat -> BitmapFormat
$cmin :: BitmapFormat -> BitmapFormat -> BitmapFormat
min :: BitmapFormat -> BitmapFormat -> BitmapFormat
Ord)
data RowOrder
= TopToBottom
| BottomToTop
deriving (RowOrder -> RowOrder -> Bool
(RowOrder -> RowOrder -> Bool)
-> (RowOrder -> RowOrder -> Bool) -> Eq RowOrder
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RowOrder -> RowOrder -> Bool
== :: RowOrder -> RowOrder -> Bool
$c/= :: RowOrder -> RowOrder -> Bool
/= :: RowOrder -> RowOrder -> Bool
Eq, Typeable RowOrder
Typeable RowOrder =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RowOrder -> c RowOrder)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RowOrder)
-> (RowOrder -> Constr)
-> (RowOrder -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RowOrder))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RowOrder))
-> ((forall b. Data b => b -> b) -> RowOrder -> RowOrder)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RowOrder -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RowOrder -> r)
-> (forall u. (forall d. Data d => d -> u) -> RowOrder -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> RowOrder -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder)
-> Data RowOrder
RowOrder -> Constr
RowOrder -> DataType
(forall b. Data b => b -> b) -> RowOrder -> RowOrder
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> RowOrder -> u
forall u. (forall d. Data d => d -> u) -> RowOrder -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RowOrder -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RowOrder -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RowOrder
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RowOrder -> c RowOrder
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RowOrder)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RowOrder)
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RowOrder -> c RowOrder
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RowOrder -> c RowOrder
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RowOrder
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RowOrder
$ctoConstr :: RowOrder -> Constr
toConstr :: RowOrder -> Constr
$cdataTypeOf :: RowOrder -> DataType
dataTypeOf :: RowOrder -> DataType
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RowOrder)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RowOrder)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RowOrder)
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RowOrder)
$cgmapT :: (forall b. Data b => b -> b) -> RowOrder -> RowOrder
gmapT :: (forall b. Data b => b -> b) -> RowOrder -> RowOrder
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RowOrder -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RowOrder -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RowOrder -> r
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RowOrder -> r
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> RowOrder -> [u]
gmapQ :: forall u. (forall d. Data d => d -> u) -> RowOrder -> [u]
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> RowOrder -> u
gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> RowOrder -> u
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RowOrder -> m RowOrder
Data, Typeable, Int -> RowOrder -> ShowS
[RowOrder] -> ShowS
RowOrder -> String
(Int -> RowOrder -> ShowS)
-> (RowOrder -> String) -> ([RowOrder] -> ShowS) -> Show RowOrder
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RowOrder -> ShowS
showsPrec :: Int -> RowOrder -> ShowS
$cshow :: RowOrder -> String
show :: RowOrder -> String
$cshowList :: [RowOrder] -> ShowS
showList :: [RowOrder] -> ShowS
Show, Eq RowOrder
Eq RowOrder =>
(RowOrder -> RowOrder -> Ordering)
-> (RowOrder -> RowOrder -> Bool)
-> (RowOrder -> RowOrder -> Bool)
-> (RowOrder -> RowOrder -> Bool)
-> (RowOrder -> RowOrder -> Bool)
-> (RowOrder -> RowOrder -> RowOrder)
-> (RowOrder -> RowOrder -> RowOrder)
-> Ord RowOrder
RowOrder -> RowOrder -> Bool
RowOrder -> RowOrder -> Ordering
RowOrder -> RowOrder -> RowOrder
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: RowOrder -> RowOrder -> Ordering
compare :: RowOrder -> RowOrder -> Ordering
$c< :: RowOrder -> RowOrder -> Bool
< :: RowOrder -> RowOrder -> Bool
$c<= :: RowOrder -> RowOrder -> Bool
<= :: RowOrder -> RowOrder -> Bool
$c> :: RowOrder -> RowOrder -> Bool
> :: RowOrder -> RowOrder -> Bool
$c>= :: RowOrder -> RowOrder -> Bool
>= :: RowOrder -> RowOrder -> Bool
$cmax :: RowOrder -> RowOrder -> RowOrder
max :: RowOrder -> RowOrder -> RowOrder
$cmin :: RowOrder -> RowOrder -> RowOrder
min :: RowOrder -> RowOrder -> RowOrder
Ord, Int -> RowOrder
RowOrder -> Int
RowOrder -> [RowOrder]
RowOrder -> RowOrder
RowOrder -> RowOrder -> [RowOrder]
RowOrder -> RowOrder -> RowOrder -> [RowOrder]
(RowOrder -> RowOrder)
-> (RowOrder -> RowOrder)
-> (Int -> RowOrder)
-> (RowOrder -> Int)
-> (RowOrder -> [RowOrder])
-> (RowOrder -> RowOrder -> [RowOrder])
-> (RowOrder -> RowOrder -> [RowOrder])
-> (RowOrder -> RowOrder -> RowOrder -> [RowOrder])
-> Enum RowOrder
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: RowOrder -> RowOrder
succ :: RowOrder -> RowOrder
$cpred :: RowOrder -> RowOrder
pred :: RowOrder -> RowOrder
$ctoEnum :: Int -> RowOrder
toEnum :: Int -> RowOrder
$cfromEnum :: RowOrder -> Int
fromEnum :: RowOrder -> Int
$cenumFrom :: RowOrder -> [RowOrder]
enumFrom :: RowOrder -> [RowOrder]
$cenumFromThen :: RowOrder -> RowOrder -> [RowOrder]
enumFromThen :: RowOrder -> RowOrder -> [RowOrder]
$cenumFromTo :: RowOrder -> RowOrder -> [RowOrder]
enumFromTo :: RowOrder -> RowOrder -> [RowOrder]
$cenumFromThenTo :: RowOrder -> RowOrder -> RowOrder -> [RowOrder]
enumFromThenTo :: RowOrder -> RowOrder -> RowOrder -> [RowOrder]
Enum, RowOrder
RowOrder -> RowOrder -> Bounded RowOrder
forall a. a -> a -> Bounded a
$cminBound :: RowOrder
minBound :: RowOrder
$cmaxBound :: RowOrder
maxBound :: RowOrder
Bounded)
data PixelFormat
= PxRGBA | PxABGR
deriving (PixelFormat -> PixelFormat -> Bool
(PixelFormat -> PixelFormat -> Bool)
-> (PixelFormat -> PixelFormat -> Bool) -> Eq PixelFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PixelFormat -> PixelFormat -> Bool
== :: PixelFormat -> PixelFormat -> Bool
$c/= :: PixelFormat -> PixelFormat -> Bool
/= :: PixelFormat -> PixelFormat -> Bool
Eq, Typeable PixelFormat
Typeable PixelFormat =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> PixelFormat -> c PixelFormat)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c PixelFormat)
-> (PixelFormat -> Constr)
-> (PixelFormat -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c PixelFormat))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c PixelFormat))
-> ((forall b. Data b => b -> b) -> PixelFormat -> PixelFormat)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> PixelFormat -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> PixelFormat -> r)
-> (forall u. (forall d. Data d => d -> u) -> PixelFormat -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> PixelFormat -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat)
-> Data PixelFormat
PixelFormat -> Constr
PixelFormat -> DataType
(forall b. Data b => b -> b) -> PixelFormat -> PixelFormat
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> PixelFormat -> u
forall u. (forall d. Data d => d -> u) -> PixelFormat -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> PixelFormat -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> PixelFormat -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c PixelFormat
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> PixelFormat -> c PixelFormat
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c PixelFormat)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c PixelFormat)
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> PixelFormat -> c PixelFormat
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> PixelFormat -> c PixelFormat
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c PixelFormat
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c PixelFormat
$ctoConstr :: PixelFormat -> Constr
toConstr :: PixelFormat -> Constr
$cdataTypeOf :: PixelFormat -> DataType
dataTypeOf :: PixelFormat -> DataType
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c PixelFormat)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c PixelFormat)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c PixelFormat)
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c PixelFormat)
$cgmapT :: (forall b. Data b => b -> b) -> PixelFormat -> PixelFormat
gmapT :: (forall b. Data b => b -> b) -> PixelFormat -> PixelFormat
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> PixelFormat -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> PixelFormat -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> PixelFormat -> r
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> PixelFormat -> r
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> PixelFormat -> [u]
gmapQ :: forall u. (forall d. Data d => d -> u) -> PixelFormat -> [u]
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> PixelFormat -> u
gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> PixelFormat -> u
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> PixelFormat -> m PixelFormat
Data, Typeable, Int -> PixelFormat -> ShowS
[PixelFormat] -> ShowS
PixelFormat -> String
(Int -> PixelFormat -> ShowS)
-> (PixelFormat -> String)
-> ([PixelFormat] -> ShowS)
-> Show PixelFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PixelFormat -> ShowS
showsPrec :: Int -> PixelFormat -> ShowS
$cshow :: PixelFormat -> String
show :: PixelFormat -> String
$cshowList :: [PixelFormat] -> ShowS
showList :: [PixelFormat] -> ShowS
Show, Eq PixelFormat
Eq PixelFormat =>
(PixelFormat -> PixelFormat -> Ordering)
-> (PixelFormat -> PixelFormat -> Bool)
-> (PixelFormat -> PixelFormat -> Bool)
-> (PixelFormat -> PixelFormat -> Bool)
-> (PixelFormat -> PixelFormat -> Bool)
-> (PixelFormat -> PixelFormat -> PixelFormat)
-> (PixelFormat -> PixelFormat -> PixelFormat)
-> Ord PixelFormat
PixelFormat -> PixelFormat -> Bool
PixelFormat -> PixelFormat -> Ordering
PixelFormat -> PixelFormat -> PixelFormat
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PixelFormat -> PixelFormat -> Ordering
compare :: PixelFormat -> PixelFormat -> Ordering
$c< :: PixelFormat -> PixelFormat -> Bool
< :: PixelFormat -> PixelFormat -> Bool
$c<= :: PixelFormat -> PixelFormat -> Bool
<= :: PixelFormat -> PixelFormat -> Bool
$c> :: PixelFormat -> PixelFormat -> Bool
> :: PixelFormat -> PixelFormat -> Bool
$c>= :: PixelFormat -> PixelFormat -> Bool
>= :: PixelFormat -> PixelFormat -> Bool
$cmax :: PixelFormat -> PixelFormat -> PixelFormat
max :: PixelFormat -> PixelFormat -> PixelFormat
$cmin :: PixelFormat -> PixelFormat -> PixelFormat
min :: PixelFormat -> PixelFormat -> PixelFormat
Ord, Int -> PixelFormat
PixelFormat -> Int
PixelFormat -> [PixelFormat]
PixelFormat -> PixelFormat
PixelFormat -> PixelFormat -> [PixelFormat]
PixelFormat -> PixelFormat -> PixelFormat -> [PixelFormat]
(PixelFormat -> PixelFormat)
-> (PixelFormat -> PixelFormat)
-> (Int -> PixelFormat)
-> (PixelFormat -> Int)
-> (PixelFormat -> [PixelFormat])
-> (PixelFormat -> PixelFormat -> [PixelFormat])
-> (PixelFormat -> PixelFormat -> [PixelFormat])
-> (PixelFormat -> PixelFormat -> PixelFormat -> [PixelFormat])
-> Enum PixelFormat
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PixelFormat -> PixelFormat
succ :: PixelFormat -> PixelFormat
$cpred :: PixelFormat -> PixelFormat
pred :: PixelFormat -> PixelFormat
$ctoEnum :: Int -> PixelFormat
toEnum :: Int -> PixelFormat
$cfromEnum :: PixelFormat -> Int
fromEnum :: PixelFormat -> Int
$cenumFrom :: PixelFormat -> [PixelFormat]
enumFrom :: PixelFormat -> [PixelFormat]
$cenumFromThen :: PixelFormat -> PixelFormat -> [PixelFormat]
enumFromThen :: PixelFormat -> PixelFormat -> [PixelFormat]
$cenumFromTo :: PixelFormat -> PixelFormat -> [PixelFormat]
enumFromTo :: PixelFormat -> PixelFormat -> [PixelFormat]
$cenumFromThenTo :: PixelFormat -> PixelFormat -> PixelFormat -> [PixelFormat]
enumFromThenTo :: PixelFormat -> PixelFormat -> PixelFormat -> [PixelFormat]
Enum, PixelFormat
PixelFormat -> PixelFormat -> Bounded PixelFormat
forall a. a -> a -> Bounded a
$cminBound :: PixelFormat
minBound :: PixelFormat
$cmaxBound :: PixelFormat
maxBound :: PixelFormat
Bounded)
instance Show BitmapData where
show :: BitmapData -> String
show BitmapData
_ = String
"BitmapData"
bitmapPath :: Float -> Float -> [(Float, Float)]
bitmapPath :: Float -> Float -> [(Float, Float)]
bitmapPath Float
width Float
height
= [(-Float
width', -Float
height'), (Float
width', -Float
height'), (Float
width', Float
height'), (-Float
width', Float
height')]
where width' :: Float
width' = Float
width Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2
height' :: Float
height' = Float
height Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2
freeBitmapData :: Ptr Word8 -> IO ()
freeBitmapData :: Ptr Word8 -> IO ()
freeBitmapData Ptr Word8
p = Ptr Word8 -> IO ()
forall a. Ptr a -> IO ()
free Ptr Word8
p
{-# INLINE freeBitmapData #-}