module Graphics.Rendering.OpenGL.GL.FramebufferObjects.Queries (
AttachmentObjectType(..), attachmentObjectType, attachmentObject,
attachmentTextureLayer, attachmentTextureLevel,
attachmentTextureTextureTargetCubeMapFace,
attachmentRedSize, attachmentBlueSize, attachmentGreenSize,
attachmentAlphaSize, attachmentDepthSize, attachmentStencilSize,
renderbufferWidth, renderbufferHeight,
renderbufferInternalFormat, renderbufferSamples,
renderbufferRedSize, renderbufferBlueSize, renderbufferGreenSize,
renderbufferAlphaSize, renderbufferDepthSize, renderbufferStencilSize,
) where
import Data.StateVar
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferObjectAttachment
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferTarget
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferObject
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferTarget
import Graphics.Rendering.OpenGL.GL.Texturing.PixelInternalFormat
import Graphics.Rendering.OpenGL.GL.Texturing.Specification(Level)
import Graphics.Rendering.OpenGL.GL.Texturing.TextureObject
import Graphics.Rendering.OpenGL.GL.Texturing.TextureTarget
import Graphics.GL
data GetFramebufferAttachmentPName =
AttachmentObjectType
| AttachmentObjectName
| AttachmentTextureLevel
| AttachmentTextureCubeMapFace
| AttachmentTextureLayer
| AttachmentComponentType
| AttachmentColorEncoding
| AttachmentRedSize
| AttachmentBlueSize
| AttachmentGreenSize
| AttachmentAlphaSize
| AttachmentDepthSize
| AttachmentStencilSize
marshalGetFBAPName :: GetFramebufferAttachmentPName -> GLenum
marshalGetFBAPName :: GetFramebufferAttachmentPName -> GLenum
marshalGetFBAPName GetFramebufferAttachmentPName
x = case GetFramebufferAttachmentPName
x of
GetFramebufferAttachmentPName
AttachmentObjectType -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
GetFramebufferAttachmentPName
AttachmentObjectName -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
GetFramebufferAttachmentPName
AttachmentTextureLevel -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
GetFramebufferAttachmentPName
AttachmentTextureCubeMapFace -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
GetFramebufferAttachmentPName
AttachmentTextureLayer -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
GetFramebufferAttachmentPName
AttachmentComponentType -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
GetFramebufferAttachmentPName
AttachmentColorEncoding -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
GetFramebufferAttachmentPName
AttachmentRedSize -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE
GetFramebufferAttachmentPName
AttachmentBlueSize -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
GetFramebufferAttachmentPName
AttachmentGreenSize -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
GetFramebufferAttachmentPName
AttachmentAlphaSize -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
GetFramebufferAttachmentPName
AttachmentDepthSize -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
GetFramebufferAttachmentPName
AttachmentStencilSize -> GLenum
GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
getFBAPName :: FramebufferAttachment fba => FramebufferTarget -> fba
-> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName :: forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba GLint -> a
f GetFramebufferAttachmentPName
p = forall fba a.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> (GLint -> a) -> GLenum -> IO a
getFBAParameteriv FramebufferTarget
fbt fba
fba GLint -> a
f (GetFramebufferAttachmentPName -> GLenum
marshalGetFBAPName GetFramebufferAttachmentPName
p)
data AttachmentObjectType =
DefaultFramebufferAttachment
| TextureAttachment
| RenderbufferAttachment
deriving ( AttachmentObjectType -> AttachmentObjectType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AttachmentObjectType -> AttachmentObjectType -> Bool
$c/= :: AttachmentObjectType -> AttachmentObjectType -> Bool
== :: AttachmentObjectType -> AttachmentObjectType -> Bool
$c== :: AttachmentObjectType -> AttachmentObjectType -> Bool
Eq, Eq AttachmentObjectType
AttachmentObjectType -> AttachmentObjectType -> Bool
AttachmentObjectType -> AttachmentObjectType -> Ordering
AttachmentObjectType
-> AttachmentObjectType -> AttachmentObjectType
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
min :: AttachmentObjectType
-> AttachmentObjectType -> AttachmentObjectType
$cmin :: AttachmentObjectType
-> AttachmentObjectType -> AttachmentObjectType
max :: AttachmentObjectType
-> AttachmentObjectType -> AttachmentObjectType
$cmax :: AttachmentObjectType
-> AttachmentObjectType -> AttachmentObjectType
>= :: AttachmentObjectType -> AttachmentObjectType -> Bool
$c>= :: AttachmentObjectType -> AttachmentObjectType -> Bool
> :: AttachmentObjectType -> AttachmentObjectType -> Bool
$c> :: AttachmentObjectType -> AttachmentObjectType -> Bool
<= :: AttachmentObjectType -> AttachmentObjectType -> Bool
$c<= :: AttachmentObjectType -> AttachmentObjectType -> Bool
< :: AttachmentObjectType -> AttachmentObjectType -> Bool
$c< :: AttachmentObjectType -> AttachmentObjectType -> Bool
compare :: AttachmentObjectType -> AttachmentObjectType -> Ordering
$ccompare :: AttachmentObjectType -> AttachmentObjectType -> Ordering
Ord, Int -> AttachmentObjectType -> ShowS
[AttachmentObjectType] -> ShowS
AttachmentObjectType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AttachmentObjectType] -> ShowS
$cshowList :: [AttachmentObjectType] -> ShowS
show :: AttachmentObjectType -> String
$cshow :: AttachmentObjectType -> String
showsPrec :: Int -> AttachmentObjectType -> ShowS
$cshowsPrec :: Int -> AttachmentObjectType -> ShowS
Show )
unmarshalAttachmentObjectType :: GLenum -> Maybe AttachmentObjectType
unmarshalAttachmentObjectType :: GLenum -> Maybe AttachmentObjectType
unmarshalAttachmentObjectType GLenum
x
| GLenum
x forall a. Eq a => a -> a -> Bool
== GLenum
GL_FRAMEBUFFER_DEFAULT = forall a. a -> Maybe a
Just AttachmentObjectType
DefaultFramebufferAttachment
| GLenum
x forall a. Eq a => a -> a -> Bool
== GLenum
GL_TEXTURE = forall a. a -> Maybe a
Just AttachmentObjectType
TextureAttachment
| GLenum
x forall a. Eq a => a -> a -> Bool
== GLenum
GL_RENDERBUFFER = forall a. a -> Maybe a
Just AttachmentObjectType
RenderbufferAttachment
| GLenum
x forall a. Eq a => a -> a -> Bool
== GLenum
GL_NONE = forall a. Maybe a
Nothing
| Bool
otherwise = forall a. HasCallStack => String -> a
error forall a b. (a -> b) -> a -> b
$ String
"unmarshalAttachmentObject: unknown value " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show GLenum
x
attachmentObjectType :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar (Maybe AttachmentObjectType)
attachmentObjectType :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> GettableStateVar (Maybe AttachmentObjectType)
attachmentObjectType FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$ forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba
(GLenum -> Maybe AttachmentObjectType
unmarshalAttachmentObjectType forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (Integral a, Num b) => a -> b
fromIntegral) GetFramebufferAttachmentPName
AttachmentObjectType
attachmentObject :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar (Maybe (Either RenderbufferObject TextureObject))
attachmentObject :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget
-> fba
-> GettableStateVar
(Maybe (Either RenderbufferObject TextureObject))
attachmentObject FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar GettableStateVar (Maybe (Either RenderbufferObject TextureObject))
getter
where getter :: GettableStateVar (Maybe (Either RenderbufferObject TextureObject))
getter = do
Maybe AttachmentObjectType
objT <- forall t a (m :: * -> *). (HasGetter t a, MonadIO m) => t -> m a
get forall a b. (a -> b) -> a -> b
$ forall fba.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> GettableStateVar (Maybe AttachmentObjectType)
attachmentObjectType FramebufferTarget
fbt fba
fba
case Maybe AttachmentObjectType
objT of
Maybe AttachmentObjectType
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ forall a. Maybe a
Nothing
(Just AttachmentObjectType
DefaultFramebufferAttachment) -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ forall a. Maybe a
Nothing
(Just AttachmentObjectType
TextureAttachment) -> forall n.
Num n =>
(n -> Either RenderbufferObject TextureObject)
-> GettableStateVar
(Maybe (Either RenderbufferObject TextureObject))
getObjectName (forall a b. b -> Either a b
Right forall b c a. (b -> c) -> (a -> b) -> a -> c
. GLenum -> TextureObject
TextureObject)
(Just AttachmentObjectType
RenderbufferAttachment) -> forall n.
Num n =>
(n -> Either RenderbufferObject TextureObject)
-> GettableStateVar
(Maybe (Either RenderbufferObject TextureObject))
getObjectName (forall a b. a -> Either a b
Left forall b c a. (b -> c) -> (a -> b) -> a -> c
. GLenum -> RenderbufferObject
RenderbufferObject)
getObjectName :: Num n => (n -> Either RenderbufferObject TextureObject) -> IO (Maybe (Either RenderbufferObject TextureObject))
getObjectName :: forall n.
Num n =>
(n -> Either RenderbufferObject TextureObject)
-> GettableStateVar
(Maybe (Either RenderbufferObject TextureObject))
getObjectName n -> Either RenderbufferObject TextureObject
con = forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba (forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. n -> Either RenderbufferObject TextureObject
con forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (Integral a, Num b) => a -> b
fromIntegral) GetFramebufferAttachmentPName
AttachmentObjectName
attachmentTextureLayer :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar GLint
attachmentTextureLayer :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> GettableStateVar GLint
attachmentTextureLayer FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba forall a. a -> a
id GetFramebufferAttachmentPName
AttachmentTextureLayer
attachmentTextureLevel :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar Level
attachmentTextureLevel :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> GettableStateVar GLint
attachmentTextureLevel FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba forall a. a -> a
id GetFramebufferAttachmentPName
AttachmentTextureLevel
attachmentTextureTextureTargetCubeMapFace :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar TextureTargetCubeMapFace
attachmentTextureTextureTargetCubeMapFace :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> GettableStateVar TextureTargetCubeMapFace
attachmentTextureTextureTargetCubeMapFace FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba (GLenum -> TextureTargetCubeMapFace
unmarshalTextureTargetCubeMapFace forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (Integral a, Num b) => a -> b
fromIntegral) GetFramebufferAttachmentPName
AttachmentTextureLevel
attachmentRedSize :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar GLint
attachmentRedSize :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> GettableStateVar GLint
attachmentRedSize FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$ forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba
forall a. a -> a
id GetFramebufferAttachmentPName
AttachmentRedSize
attachmentGreenSize :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar GLint
attachmentGreenSize :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> GettableStateVar GLint
attachmentGreenSize FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$ forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba
forall a. a -> a
id GetFramebufferAttachmentPName
AttachmentGreenSize
attachmentBlueSize :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar GLint
attachmentBlueSize :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> GettableStateVar GLint
attachmentBlueSize FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$ forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba
forall a. a -> a
id GetFramebufferAttachmentPName
AttachmentBlueSize
attachmentAlphaSize :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar GLint
attachmentAlphaSize :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> GettableStateVar GLint
attachmentAlphaSize FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$ forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba
forall a. a -> a
id GetFramebufferAttachmentPName
AttachmentAlphaSize
attachmentDepthSize :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar GLint
attachmentDepthSize :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> GettableStateVar GLint
attachmentDepthSize FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$ forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba
forall a. a -> a
id GetFramebufferAttachmentPName
AttachmentDepthSize
attachmentStencilSize :: FramebufferAttachment fba => FramebufferTarget -> fba
-> GettableStateVar GLint
attachmentStencilSize :: forall fba.
FramebufferAttachment fba =>
FramebufferTarget -> fba -> GettableStateVar GLint
attachmentStencilSize FramebufferTarget
fbt fba
fba = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$ forall fba a.
FramebufferAttachment fba =>
FramebufferTarget
-> fba -> (GLint -> a) -> GetFramebufferAttachmentPName -> IO a
getFBAPName FramebufferTarget
fbt fba
fba
forall a. a -> a
id GetFramebufferAttachmentPName
AttachmentStencilSize
data GetRenderbufferPName =
RenderbufferWidth
| RenderbufferHeight
| RenderbufferInternalFormat
| RenderbufferSamples
| RenderbufferRedSize
| RenderbufferBlueSize
| RenderbufferGreenSize
| RenderbufferAlphaSize
| RenderbufferDepthSize
| RenderbufferStencilSize
marshalGetRBPname :: GetRenderbufferPName -> GLenum
marshalGetRBPname :: GetRenderbufferPName -> GLenum
marshalGetRBPname GetRenderbufferPName
x = case GetRenderbufferPName
x of
GetRenderbufferPName
RenderbufferWidth -> GLenum
GL_RENDERBUFFER_WIDTH
GetRenderbufferPName
RenderbufferHeight -> GLenum
GL_RENDERBUFFER_HEIGHT
GetRenderbufferPName
RenderbufferInternalFormat -> GLenum
GL_RENDERBUFFER_INTERNAL_FORMAT
GetRenderbufferPName
RenderbufferSamples -> GLenum
GL_RENDERBUFFER_SAMPLES
GetRenderbufferPName
RenderbufferRedSize -> GLenum
GL_RENDERBUFFER_RED_SIZE
GetRenderbufferPName
RenderbufferBlueSize -> GLenum
GL_RENDERBUFFER_BLUE_SIZE
GetRenderbufferPName
RenderbufferGreenSize -> GLenum
GL_RENDERBUFFER_GREEN_SIZE
GetRenderbufferPName
RenderbufferAlphaSize -> GLenum
GL_RENDERBUFFER_ALPHA_SIZE
GetRenderbufferPName
RenderbufferDepthSize -> GLenum
GL_RENDERBUFFER_DEPTH_SIZE
GetRenderbufferPName
RenderbufferStencilSize -> GLenum
GL_RENDERBUFFER_STENCIL_SIZE
getRBPName :: RenderbufferTarget -> (GLint -> a) ->
GetRenderbufferPName -> IO a
getRBPName :: forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt GLint -> a
f = forall a. RenderbufferTarget -> (GLint -> a) -> GLenum -> IO a
getRBParameteriv RenderbufferTarget
rbt GLint -> a
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. GetRenderbufferPName -> GLenum
marshalGetRBPname
renderbufferWidth :: RenderbufferTarget -> GettableStateVar GLsizei
renderbufferWidth :: RenderbufferTarget -> GettableStateVar GLint
renderbufferWidth RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt forall a b. (Integral a, Num b) => a -> b
fromIntegral GetRenderbufferPName
RenderbufferWidth
renderbufferHeight :: RenderbufferTarget -> GettableStateVar GLsizei
renderbufferHeight :: RenderbufferTarget -> GettableStateVar GLint
renderbufferHeight RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt forall a b. (Integral a, Num b) => a -> b
fromIntegral GetRenderbufferPName
RenderbufferHeight
renderbufferInternalFormat :: RenderbufferTarget
-> GettableStateVar PixelInternalFormat
renderbufferInternalFormat :: RenderbufferTarget -> GettableStateVar PixelInternalFormat
renderbufferInternalFormat RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt GLint -> PixelInternalFormat
unmarshalPixelInternalFormat GetRenderbufferPName
RenderbufferInternalFormat
renderbufferSamples :: RenderbufferTarget -> GettableStateVar Samples
renderbufferSamples :: RenderbufferTarget -> GettableStateVar Samples
renderbufferSamples RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt (GLint -> Samples
Samples forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (Integral a, Num b) => a -> b
fromIntegral) GetRenderbufferPName
RenderbufferSamples
renderbufferRedSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferRedSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferRedSize RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt forall a. a -> a
id GetRenderbufferPName
RenderbufferRedSize
renderbufferGreenSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferGreenSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferGreenSize RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt forall a. a -> a
id GetRenderbufferPName
RenderbufferGreenSize
renderbufferBlueSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferBlueSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferBlueSize RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt forall a. a -> a
id GetRenderbufferPName
RenderbufferBlueSize
renderbufferAlphaSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferAlphaSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferAlphaSize RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt forall a. a -> a
id GetRenderbufferPName
RenderbufferAlphaSize
renderbufferDepthSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferDepthSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferDepthSize RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt forall a. a -> a
id GetRenderbufferPName
RenderbufferDepthSize
renderbufferStencilSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferStencilSize :: RenderbufferTarget -> GettableStateVar GLint
renderbufferStencilSize RenderbufferTarget
rbt = forall a. IO a -> IO a
makeGettableStateVar forall a b. (a -> b) -> a -> b
$
forall a.
RenderbufferTarget -> (GLint -> a) -> GetRenderbufferPName -> IO a
getRBPName RenderbufferTarget
rbt forall a. a -> a
id GetRenderbufferPName
RenderbufferStencilSize