Skip to content

Commit 5ea4a97

Browse files
committed
Use ObjectName.
1 parent 54b25ba commit 5ea4a97

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+130
-343
lines changed

OpenGL.cabal

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ description:
1313
and <http://www.opengl.org/registry/>.
1414
homepage: http://www.haskell.org/haskellwiki/Opengl
1515
bug-reports: https://github.com/haskell-opengl/OpenGL/issues
16+
copyright: Copyright (C) 2002-2015 Sven Panne
1617
license: BSD3
1718
license-file: LICENSE
1819
author: Sven Panne
@@ -50,7 +51,6 @@ library
5051
Graphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferObjects
5152
Graphics.Rendering.OpenGL.GL.Hints
5253
Graphics.Rendering.OpenGL.GL.LineSegments
53-
Graphics.Rendering.OpenGL.GL.ObjectName
5454
Graphics.Rendering.OpenGL.GL.PerFragment
5555
Graphics.Rendering.OpenGL.GL.PixelRectangles
5656
Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable
@@ -79,7 +79,6 @@ library
7979
Graphics.Rendering.OpenGL.GL.Shaders.ShaderBinaries
8080
Graphics.Rendering.OpenGL.GL.Shaders.ShaderObjects
8181
Graphics.Rendering.OpenGL.GL.Shaders.Uniform
82-
Graphics.Rendering.OpenGL.GL.StateVar
8382
Graphics.Rendering.OpenGL.GL.StringQueries
8483
Graphics.Rendering.OpenGL.GL.SyncObjects
8584
Graphics.Rendering.OpenGL.GL.Tensor
@@ -148,7 +147,14 @@ library
148147
hs-source-dirs: src
149148
ghc-options: -Wall
150149
build-depends:
151-
base >= 3 && < 5, bytestring, text, OpenGLRaw >= 2.1, GLURaw >= 1.3.0.0
150+
base >= 3 && < 5,
151+
bytestring >= 0.9 && < 0.11,
152+
text >= 0.1 && < 1.3,
153+
transformers >= 0.2 && < 0.5,
154+
ObjectName >= 1.1 && < 1.2,
155+
StateVar >= 1.1 && < 1.2,
156+
OpenGLRaw >= 2.1 && < 2.5,
157+
GLURaw >= 1.3 && < 1.5
152158
default-language: Haskell2010
153159
other-extensions:
154160
CPP

src/Graphics/Rendering/OpenGL/GL.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module Graphics.Rendering.OpenGL.GL (
1717
-- * OpenGL Fundamentals
1818
module Graphics.Rendering.OpenGL.Raw.Types,
1919
module Graphics.Rendering.OpenGL.GL.FlushFinish,
20-
module Graphics.Rendering.OpenGL.GL.ObjectName,
20+
module Data.ObjectName,
2121

2222
-- * Event Model
2323
module Graphics.Rendering.OpenGL.GL.SyncObjects,
@@ -68,15 +68,16 @@ module Graphics.Rendering.OpenGL.GL (
6868
module Graphics.Rendering.OpenGL.GL.DebugOutput,
6969

7070
-- * State and State Requests
71-
module Graphics.Rendering.OpenGL.GL.StateVar,
71+
module Data.StateVar,
7272
module Graphics.Rendering.OpenGL.GL.Tensor,
7373
module Graphics.Rendering.OpenGL.GL.StringQueries,
7474
module Graphics.Rendering.OpenGL.GL.SavingState
7575
) where
7676

7777
import Graphics.Rendering.OpenGL.Raw.Types
7878
import Graphics.Rendering.OpenGL.GL.FlushFinish
79-
import Graphics.Rendering.OpenGL.GL.ObjectName
79+
import Data.ObjectName
80+
import Data.StateVar
8081

8182
import Graphics.Rendering.OpenGL.GL.SyncObjects
8283
import Graphics.Rendering.OpenGL.GL.QueryObjects
@@ -120,7 +121,6 @@ import Graphics.Rendering.OpenGL.GL.PixellikeObject
120121
import Graphics.Rendering.OpenGL.GL.TransformFeedback
121122
import Graphics.Rendering.OpenGL.GL.DebugOutput
122123

123-
import Graphics.Rendering.OpenGL.GL.StateVar
124124
import Graphics.Rendering.OpenGL.GL.Tensor
125125
import Graphics.Rendering.OpenGL.GL.StringQueries
126126
import Graphics.Rendering.OpenGL.GL.SavingState

src/Graphics/Rendering/OpenGL/GL/Antialiasing.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module Graphics.Rendering.OpenGL.GL.Antialiasing (
1717
sampleBuffers, samples, multisample, subpixelBits
1818
) where
1919

20-
import Graphics.Rendering.OpenGL.GL.StateVar
20+
import Data.StateVar
2121
import Graphics.Rendering.OpenGL.GL.Capability
2222
import Graphics.Rendering.OpenGL.GL.QueryUtils
2323
import Graphics.Rendering.OpenGL.Raw

src/Graphics/Rendering/OpenGL/GL/BeginEnd.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module Graphics.Rendering.OpenGL.GL.BeginEnd (
2222
edgeFlag
2323
) where
2424

25-
import Graphics.Rendering.OpenGL.GL.StateVar
25+
import Data.StateVar
2626
import Graphics.Rendering.OpenGL.GL.EdgeFlag
2727
import Graphics.Rendering.OpenGL.GL.Exception
2828
import Graphics.Rendering.OpenGL.GL.PrimitiveMode

src/Graphics/Rendering/OpenGL/GL/BufferObjects.hs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,18 @@ module Graphics.Rendering.OpenGL.GL.BufferObjects (
4141
indexedBufferStart, indexedBufferSize
4242
) where
4343

44+
import Control.Monad.IO.Class
4445
import Data.Maybe ( fromMaybe )
46+
import Data.ObjectName
47+
import Data.StateVar
4548
import Foreign.Marshal.Array ( allocaArray, peekArray, withArrayLen )
4649
import Foreign.Marshal.Utils ( with )
4750
import Foreign.Ptr ( Ptr, nullPtr )
4851
import Graphics.Rendering.OpenGL.GL.DebugOutput
4952
import Graphics.Rendering.OpenGL.GL.Exception
5053
import Graphics.Rendering.OpenGL.GL.GLboolean
51-
import Graphics.Rendering.OpenGL.GL.ObjectName
5254
import Graphics.Rendering.OpenGL.GL.PeekPoke
5355
import Graphics.Rendering.OpenGL.GL.QueryUtils
54-
import Graphics.Rendering.OpenGL.GL.StateVar
5556
import Graphics.Rendering.OpenGL.GL.VertexArrays
5657
import Graphics.Rendering.OpenGL.GLU.ErrorsInternal
5758
import Graphics.Rendering.OpenGL.Raw
@@ -64,15 +65,15 @@ newtype BufferObject = BufferObject { bufferID :: GLuint }
6465
--------------------------------------------------------------------------------
6566

6667
instance ObjectName BufferObject where
67-
isObjectName = fmap unmarshalGLboolean . glIsBuffer . bufferID
68+
isObjectName = liftIO . fmap unmarshalGLboolean . glIsBuffer . bufferID
6869

6970
deleteObjectNames bufferObjects =
70-
withArrayLen (map bufferID bufferObjects) $
71+
liftIO . withArrayLen (map bufferID bufferObjects) $
7172
glDeleteBuffers . fromIntegral
7273

7374
instance GeneratableObjectName BufferObject where
7475
genObjectNames n =
75-
allocaArray n $ \buf -> do
76+
liftIO . allocaArray n $ \buf -> do
7677
glGenBuffers (fromIntegral n) buf
7778
fmap (map BufferObject) $ peekArray n buf
7879

src/Graphics/Rendering/OpenGL/GL/ByteString.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ module Graphics.Rendering.OpenGL.GL.ByteString (
1919
packUtf8, unpackUtf8
2020
) where
2121

22+
import Data.StateVar
2223
import Foreign.Ptr
23-
import Graphics.Rendering.OpenGL.GL.StateVar
2424
import Graphics.Rendering.OpenGL.Raw
2525
import qualified Data.ByteString as B
2626
import qualified Data.ByteString.Internal as BI

src/Graphics/Rendering/OpenGL/GL/Capability.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ module Graphics.Rendering.OpenGL.GL.Capability (
2121
IndexedEnableCap(..), makeIndexedCapability,
2222
) where
2323

24-
import Graphics.Rendering.OpenGL.GL.StateVar
24+
import Data.StateVar
2525
import Graphics.Rendering.OpenGL.GL.GLboolean
2626
import Graphics.Rendering.OpenGL.GL.QueryUtils
2727
import Graphics.Rendering.OpenGL.GLU.ErrorsInternal

src/Graphics/Rendering/OpenGL/GL/Clipping.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ module Graphics.Rendering.OpenGL.GL.Clipping (
1717
ClipPlaneName(..), clipPlane, maxClipPlanes
1818
) where
1919

20+
import Data.StateVar
2021
import Foreign.Marshal.Alloc
2122
import Foreign.Marshal.Utils
2223
import Foreign.Ptr
2324
import Foreign.Storable
2425
import Graphics.Rendering.OpenGL.GL.Capability
2526
import Graphics.Rendering.OpenGL.GL.CoordTrans
2627
import Graphics.Rendering.OpenGL.GL.QueryUtils
27-
import Graphics.Rendering.OpenGL.GL.StateVar
2828
import Graphics.Rendering.OpenGL.GLU.ErrorsInternal
2929
import Graphics.Rendering.OpenGL.Raw
3030

src/Graphics/Rendering/OpenGL/GL/ColorSum.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module Graphics.Rendering.OpenGL.GL.ColorSum (
1616
colorSum
1717
) where
1818

19-
import Graphics.Rendering.OpenGL.GL.StateVar
19+
import Data.StateVar
2020
import Graphics.Rendering.OpenGL.GL.Capability
2121

2222
--------------------------------------------------------------------------------

src/Graphics/Rendering/OpenGL/GL/Colors.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ module Graphics.Rendering.OpenGL.GL.Colors (
4444
) where
4545

4646
import Control.Monad
47+
import Data.StateVar
4748
import Foreign.Marshal.Alloc
4849
import Foreign.Marshal.Array
4950
import Foreign.Marshal.Utils
5051
import Foreign.Ptr
5152
import Foreign.Storable
52-
import Graphics.Rendering.OpenGL.GL.StateVar
5353
import Graphics.Rendering.OpenGL.GL.Tensor
5454
import Graphics.Rendering.OpenGL.GL.Capability
5555
import Graphics.Rendering.OpenGL.GL.Face

src/Graphics/Rendering/OpenGL/GL/CoordTrans.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ module Graphics.Rendering.OpenGL.GL.CoordTrans (
3636
Plane(..), TextureCoordName(..), TextureGenMode(..), textureGenMode
3737
) where
3838

39+
import Data.StateVar
3940
import Foreign.ForeignPtr
4041
import Foreign.Marshal.Alloc
4142
import Foreign.Marshal.Array
4243
import Foreign.Marshal.Utils
4344
import Foreign.Ptr
4445
import Foreign.Storable
45-
import Graphics.Rendering.OpenGL.GL.StateVar
4646
import Graphics.Rendering.OpenGL.GL.Tensor
4747
import Graphics.Rendering.OpenGL.GL.Capability
4848
import Graphics.Rendering.OpenGL.GL.Exception

src/Graphics/Rendering/OpenGL/GL/DebugOutput.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ module Graphics.Rendering.OpenGL.GL.DebugOutput (
4343
) where
4444

4545
import Control.Monad ( unless, replicateM )
46+
import Data.StateVar
4647
import Foreign.C.String ( peekCStringLen, withCStringLen )
4748
import Foreign.C.Types
4849
import Foreign.Marshal.Alloc ( alloca )
@@ -53,7 +54,6 @@ import Graphics.Rendering.OpenGL.GL.Capability
5354
import Graphics.Rendering.OpenGL.GL.Exception
5455
import Graphics.Rendering.OpenGL.GL.PeekPoke
5556
import Graphics.Rendering.OpenGL.GL.QueryUtils
56-
import Graphics.Rendering.OpenGL.GL.StateVar
5757
import Graphics.Rendering.OpenGL.Raw
5858

5959
--------------------------------------------------------------------------------

src/Graphics/Rendering/OpenGL/GL/DisplayLists.hs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,11 @@ module Graphics.Rendering.OpenGL.GL.DisplayLists (
2222
callList, callLists, listBase
2323
) where
2424

25+
import Control.Monad.IO.Class
26+
import Data.ObjectName
27+
import Data.StateVar
2528
import Foreign.Ptr ( Ptr )
2629
import Graphics.Rendering.OpenGL.GL.DebugOutput
27-
import Graphics.Rendering.OpenGL.GL.ObjectName
28-
import Graphics.Rendering.OpenGL.GL.StateVar
2930
import Graphics.Rendering.OpenGL.GL.DataType
3031
import Graphics.Rendering.OpenGL.GL.Exception
3132
import Graphics.Rendering.OpenGL.GL.GLboolean
@@ -39,8 +40,9 @@ newtype DisplayList = DisplayList { displayListID :: GLuint }
3940
deriving ( Eq, Ord, Show )
4041

4142
instance ObjectName DisplayList where
42-
isObjectName = fmap unmarshalGLboolean . glIsList . displayListID
43-
deleteObjectNames = mapM_ (uncurry glDeleteLists) . combineConsecutive
43+
isObjectName = liftIO . fmap unmarshalGLboolean . glIsList . displayListID
44+
deleteObjectNames =
45+
liftIO . mapM_ (uncurry glDeleteLists) . combineConsecutive
4446

4547
instance CanBeLabeled DisplayList where
4648
objectLabel = objectNameLabel gl_DISPLAY_LIST . displayListID
@@ -57,12 +59,13 @@ combineConsecutive (z:zs) = (displayListID z, len) : combineConsecutive rest
5759
DisplayList x `isFollowedBy` DisplayList y = x + 1 == y
5860

5961
instance GeneratableObjectName DisplayList where
60-
genObjectNames n = do
62+
genObjectNames n = liftIO $ do
6163
first <- glGenLists (fromIntegral n)
6264
if DisplayList first == noDisplayList
6365
then do recordOutOfMemory
6466
return []
65-
else return [ DisplayList l | l <- [ first .. first + fromIntegral n - 1 ] ]
67+
else return [ DisplayList l
68+
| l <- [ first .. first + fromIntegral n - 1 ] ]
6669

6770
--------------------------------------------------------------------------------
6871

src/Graphics/Rendering/OpenGL/GL/Evaluators.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ module Graphics.Rendering.OpenGL.GL.Evaluators (
4646

4747
import Control.Monad
4848
import Data.List
49+
import Data.StateVar
4950
import Foreign.ForeignPtr
5051
import Foreign.Marshal.Array
5152
import Foreign.Marshal.Utils
@@ -57,7 +58,6 @@ import Graphics.Rendering.OpenGL.GL.Domain
5758
import Graphics.Rendering.OpenGL.GL.PeekPoke
5859
import Graphics.Rendering.OpenGL.GL.PolygonMode
5960
import Graphics.Rendering.OpenGL.GL.QueryUtils
60-
import Graphics.Rendering.OpenGL.GL.StateVar
6161
import Graphics.Rendering.OpenGL.GL.VertexArrays
6262
import Graphics.Rendering.OpenGL.Raw
6363

src/Graphics/Rendering/OpenGL/GL/Feedback.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ module Graphics.Rendering.OpenGL.GL.Feedback (
1818
) where
1919

2020
import Control.Monad
21+
import Data.StateVar
2122
import Foreign.Marshal.Array
2223
import Foreign.Ptr
2324
import Foreign.Storable
2425
import Graphics.Rendering.OpenGL.GL.IOState
2526
import Graphics.Rendering.OpenGL.GL.RenderMode
26-
import Graphics.Rendering.OpenGL.GL.StateVar
2727
import Graphics.Rendering.OpenGL.GL.Tensor
2828
import Graphics.Rendering.OpenGL.GL.VertexSpec
2929
import Graphics.Rendering.OpenGL.Raw

src/Graphics/Rendering/OpenGL/GL/Fog.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ module Graphics.Rendering.OpenGL.GL.Fog (
2020
FogDistanceMode(..), fogDistanceMode
2121
) where
2222

23+
import Data.StateVar
2324
import Foreign.Marshal.Utils
2425
import Foreign.Ptr
25-
import Graphics.Rendering.OpenGL.GL.StateVar
2626
import Graphics.Rendering.OpenGL.GL.Capability
2727
import Graphics.Rendering.OpenGL.GL.QueryUtils
2828
import Graphics.Rendering.OpenGL.GL.VertexSpec

src/Graphics/Rendering/OpenGL/GL/Framebuffer.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ module Graphics.Rendering.OpenGL.GL.Framebuffer (
3535
import Control.Monad
3636
import Data.List
3737
import Data.Maybe
38+
import Data.StateVar
3839
import Foreign.Marshal.Array
3940
import Graphics.Rendering.OpenGL.GL.BufferMode
4041
import Graphics.Rendering.OpenGL.GL.Capability
4142
import Graphics.Rendering.OpenGL.GL.Face
4243
import Graphics.Rendering.OpenGL.GL.GLboolean
4344
import Graphics.Rendering.OpenGL.GL.QueryUtils
44-
import Graphics.Rendering.OpenGL.GL.StateVar
4545
import Graphics.Rendering.OpenGL.GL.VertexSpec
4646
import Graphics.Rendering.OpenGL.GLU.ErrorsInternal
4747
import Graphics.Rendering.OpenGL.Raw

src/Graphics/Rendering/OpenGL/GL/FramebufferObjects/FramebufferObject.hs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ module Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferObject (
1717
FramebufferObject(..)
1818
) where
1919

20+
import Control.Monad.IO.Class
21+
import Data.ObjectName
2022
import Foreign.Marshal.Array ( allocaArray, peekArray, withArrayLen )
2123
import Graphics.Rendering.OpenGL.GL.DebugOutput
2224
import Graphics.Rendering.OpenGL.GL.GLboolean
23-
import Graphics.Rendering.OpenGL.GL.ObjectName
2425
import Graphics.Rendering.OpenGL.GL.QueryUtils
2526
import Graphics.Rendering.OpenGL.Raw
2627

@@ -30,15 +31,16 @@ newtype FramebufferObject = FramebufferObject { framebufferID :: GLuint }
3031
deriving ( Eq, Ord, Show )
3132

3233
instance ObjectName FramebufferObject where
33-
isObjectName = fmap unmarshalGLboolean . glIsFramebuffer . framebufferID
34+
isObjectName =
35+
liftIO . fmap unmarshalGLboolean . glIsFramebuffer . framebufferID
3436

3537
deleteObjectNames objs =
36-
withArrayLen (map framebufferID objs) $
38+
liftIO . withArrayLen (map framebufferID objs) $
3739
glDeleteFramebuffers . fromIntegral
3840

3941
instance GeneratableObjectName FramebufferObject where
4042
genObjectNames n =
41-
allocaArray n $ \buf -> do
43+
liftIO . allocaArray n $ \buf -> do
4244
glGenFramebuffers (fromIntegral n) buf
4345
fmap (map FramebufferObject) $ peekArray n buf
4446

src/Graphics/Rendering/OpenGL/GL/FramebufferObjects/FramebufferObjects.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ module Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferObjects (
1616
FramebufferStatus(..), framebufferStatus,
1717
) where
1818

19+
import Data.StateVar
1920
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferObject
2021
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferTarget
2122
import Graphics.Rendering.OpenGL.GL.QueryUtils
22-
import Graphics.Rendering.OpenGL.GL.StateVar
2323
import Graphics.Rendering.OpenGL.Raw
2424

2525
-----------------------------------------------------------------------------

src/Graphics/Rendering/OpenGL/GL/FramebufferObjects/Queries.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ module Graphics.Rendering.OpenGL.GL.FramebufferObjects.Queries (
2525
renderbufferAlphaSize, renderbufferDepthSize, renderbufferStencilSize,
2626
) where
2727

28+
import Data.StateVar
2829
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferObjectAttachment
2930
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferTarget
3031
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferObject
3132
import Graphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferTarget
32-
import Graphics.Rendering.OpenGL.GL.StateVar
3333
import Graphics.Rendering.OpenGL.GL.Texturing.PixelInternalFormat
3434
import Graphics.Rendering.OpenGL.GL.Texturing.Specification(Level)
3535
import Graphics.Rendering.OpenGL.GL.Texturing.TextureObject

0 commit comments

Comments
 (0)