module Qtc.Enums.Opengl.QGL (
FormatOption, FormatOptions, eDoubleBuffer, fDoubleBuffer, eDepthBuffer, fDepthBuffer, eRgba, fRgba, eAlphaChannel, fAlphaChannel, eAccumBuffer, fAccumBuffer, eStencilBuffer, fStencilBuffer, eStereoBuffers, fStereoBuffers, eDirectRendering, fDirectRendering, eHasOverlay, fHasOverlay, eSampleBuffers, fSampleBuffers, eSingleBuffer, fSingleBuffer, eNoDepthBuffer, fNoDepthBuffer, eColorIndex, fColorIndex, eNoAlphaChannel, fNoAlphaChannel, eNoAccumBuffer, fNoAccumBuffer, eNoStencilBuffer, fNoStencilBuffer, eNoStereoBuffers, fNoStereoBuffers, eIndirectRendering, fIndirectRendering, eNoOverlay, fNoOverlay, eNoSampleBuffers, fNoSampleBuffers
)
where
import Foreign.C.Types
import Qtc.Classes.Base
import Qtc.ClassTypes.Core (QObject, TQObject, qObjectFromPtr)
import Qtc.Core.Base (Qcs, connectSlot, qtc_connectSlot_int, wrapSlotHandler_int)
import Qtc.Enums.Base
import Qtc.Enums.Classes.Core
data CFormatOption a = CFormatOption a
type FormatOption = QEnum(CFormatOption Int)
ieFormatOption :: Int -> FormatOption
ieFormatOption x = QEnum (CFormatOption x)
instance QEnumC (CFormatOption Int) where
qEnum_toInt (QEnum (CFormatOption x)) = x
qEnum_fromInt x = QEnum (CFormatOption x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> FormatOption -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
data CFormatOptions a = CFormatOptions a
type FormatOptions = QFlags(CFormatOptions Int)
ifFormatOptions :: Int -> FormatOptions
ifFormatOptions x = QFlags (CFormatOptions x)
instance QFlagsC (CFormatOptions Int) where
qFlags_toInt (QFlags (CFormatOptions x)) = x
qFlags_fromInt x = QFlags (CFormatOptions x)
withQFlagsResult x
= do
ti <- x
return $ qFlags_fromInt $ fromIntegral ti
withQFlagsListResult x
= do
til <- x
return $ map qFlags_fromInt til
instance Qcs (QObject c -> FormatOptions -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qFlags_fromInt hint)
return ()
eDoubleBuffer :: FormatOption
eDoubleBuffer
= ieFormatOption $ 1
eDepthBuffer :: FormatOption
eDepthBuffer
= ieFormatOption $ 2
eRgba :: FormatOption
eRgba
= ieFormatOption $ 4
eAlphaChannel :: FormatOption
eAlphaChannel
= ieFormatOption $ 8
eAccumBuffer :: FormatOption
eAccumBuffer
= ieFormatOption $ 16
eStencilBuffer :: FormatOption
eStencilBuffer
= ieFormatOption $ 32
eStereoBuffers :: FormatOption
eStereoBuffers
= ieFormatOption $ 64
eDirectRendering :: FormatOption
eDirectRendering
= ieFormatOption $ 128
eHasOverlay :: FormatOption
eHasOverlay
= ieFormatOption $ 256
eSampleBuffers :: FormatOption
eSampleBuffers
= ieFormatOption $ 512
eSingleBuffer :: FormatOption
eSingleBuffer
= ieFormatOption $ 65536
eNoDepthBuffer :: FormatOption
eNoDepthBuffer
= ieFormatOption $ 131072
eColorIndex :: FormatOption
eColorIndex
= ieFormatOption $ 262144
eNoAlphaChannel :: FormatOption
eNoAlphaChannel
= ieFormatOption $ 524288
eNoAccumBuffer :: FormatOption
eNoAccumBuffer
= ieFormatOption $ 1048576
eNoStencilBuffer :: FormatOption
eNoStencilBuffer
= ieFormatOption $ 2097152
eNoStereoBuffers :: FormatOption
eNoStereoBuffers
= ieFormatOption $ 4194304
eIndirectRendering :: FormatOption
eIndirectRendering
= ieFormatOption $ 8388608
eNoOverlay :: FormatOption
eNoOverlay
= ieFormatOption $ 16777216
eNoSampleBuffers :: FormatOption
eNoSampleBuffers
= ieFormatOption $ 33554432
fDoubleBuffer :: FormatOptions
fDoubleBuffer
= ifFormatOptions $ 1
fDepthBuffer :: FormatOptions
fDepthBuffer
= ifFormatOptions $ 2
fRgba :: FormatOptions
fRgba
= ifFormatOptions $ 4
fAlphaChannel :: FormatOptions
fAlphaChannel
= ifFormatOptions $ 8
fAccumBuffer :: FormatOptions
fAccumBuffer
= ifFormatOptions $ 16
fStencilBuffer :: FormatOptions
fStencilBuffer
= ifFormatOptions $ 32
fStereoBuffers :: FormatOptions
fStereoBuffers
= ifFormatOptions $ 64
fDirectRendering :: FormatOptions
fDirectRendering
= ifFormatOptions $ 128
fHasOverlay :: FormatOptions
fHasOverlay
= ifFormatOptions $ 256
fSampleBuffers :: FormatOptions
fSampleBuffers
= ifFormatOptions $ 512
fSingleBuffer :: FormatOptions
fSingleBuffer
= ifFormatOptions $ 65536
fNoDepthBuffer :: FormatOptions
fNoDepthBuffer
= ifFormatOptions $ 131072
fColorIndex :: FormatOptions
fColorIndex
= ifFormatOptions $ 262144
fNoAlphaChannel :: FormatOptions
fNoAlphaChannel
= ifFormatOptions $ 524288
fNoAccumBuffer :: FormatOptions
fNoAccumBuffer
= ifFormatOptions $ 1048576
fNoStencilBuffer :: FormatOptions
fNoStencilBuffer
= ifFormatOptions $ 2097152
fNoStereoBuffers :: FormatOptions
fNoStereoBuffers
= ifFormatOptions $ 4194304
fIndirectRendering :: FormatOptions
fIndirectRendering
= ifFormatOptions $ 8388608
fNoOverlay :: FormatOptions
fNoOverlay
= ifFormatOptions $ 16777216
fNoSampleBuffers :: FormatOptions
fNoSampleBuffers
= ifFormatOptions $ 33554432