{-# OPTIONS_HADDOCK hide #-}
module Graphics.Rendering.OpenGL.GL.PixelData (
PixelData(..), withPixelData
) where
import Foreign.Ptr
import Graphics.Rendering.OpenGL.GL.DataType
import Graphics.Rendering.OpenGL.GL.PixelFormat
import Graphics.GL
data PixelData a = PixelData PixelFormat DataType (Ptr a)
deriving ( PixelData a -> PixelData a -> Bool
(PixelData a -> PixelData a -> Bool)
-> (PixelData a -> PixelData a -> Bool) -> Eq (PixelData a)
forall a. PixelData a -> PixelData a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PixelData a -> PixelData a -> Bool
$c/= :: forall a. PixelData a -> PixelData a -> Bool
== :: PixelData a -> PixelData a -> Bool
$c== :: forall a. PixelData a -> PixelData a -> Bool
Eq, Eq (PixelData a)
Eq (PixelData a) =>
(PixelData a -> PixelData a -> Ordering)
-> (PixelData a -> PixelData a -> Bool)
-> (PixelData a -> PixelData a -> Bool)
-> (PixelData a -> PixelData a -> Bool)
-> (PixelData a -> PixelData a -> Bool)
-> (PixelData a -> PixelData a -> PixelData a)
-> (PixelData a -> PixelData a -> PixelData a)
-> Ord (PixelData a)
PixelData a -> PixelData a -> Bool
PixelData a -> PixelData a -> Ordering
PixelData a -> PixelData a -> PixelData a
forall a. Eq (PixelData a)
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
forall a. PixelData a -> PixelData a -> Bool
forall a. PixelData a -> PixelData a -> Ordering
forall a. PixelData a -> PixelData a -> PixelData a
min :: PixelData a -> PixelData a -> PixelData a
$cmin :: forall a. PixelData a -> PixelData a -> PixelData a
max :: PixelData a -> PixelData a -> PixelData a
$cmax :: forall a. PixelData a -> PixelData a -> PixelData a
>= :: PixelData a -> PixelData a -> Bool
$c>= :: forall a. PixelData a -> PixelData a -> Bool
> :: PixelData a -> PixelData a -> Bool
$c> :: forall a. PixelData a -> PixelData a -> Bool
<= :: PixelData a -> PixelData a -> Bool
$c<= :: forall a. PixelData a -> PixelData a -> Bool
< :: PixelData a -> PixelData a -> Bool
$c< :: forall a. PixelData a -> PixelData a -> Bool
compare :: PixelData a -> PixelData a -> Ordering
$ccompare :: forall a. PixelData a -> PixelData a -> Ordering
$cp1Ord :: forall a. Eq (PixelData a)
Ord, Int -> PixelData a -> ShowS
[PixelData a] -> ShowS
PixelData a -> String
(Int -> PixelData a -> ShowS)
-> (PixelData a -> String)
-> ([PixelData a] -> ShowS)
-> Show (PixelData a)
forall a. Int -> PixelData a -> ShowS
forall a. [PixelData a] -> ShowS
forall a. PixelData a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PixelData a] -> ShowS
$cshowList :: forall a. [PixelData a] -> ShowS
show :: PixelData a -> String
$cshow :: forall a. PixelData a -> String
showsPrec :: Int -> PixelData a -> ShowS
$cshowsPrec :: forall a. Int -> PixelData a -> ShowS
Show )
withPixelData :: PixelData a -> (GLenum -> GLenum -> Ptr a -> b) -> b
withPixelData :: PixelData a -> (GLenum -> GLenum -> Ptr a -> b) -> b
withPixelData (PixelData pixelFormat :: PixelFormat
pixelFormat dataType :: DataType
dataType ptr :: Ptr a
ptr) f :: GLenum -> GLenum -> Ptr a -> b
f =
GLenum -> GLenum -> Ptr a -> b
f (PixelFormat -> GLenum
marshalPixelFormat PixelFormat
pixelFormat) (DataType -> GLenum
marshalDataType DataType
dataType) Ptr a
ptr