{-# LANGUAGE MultiParamTypeClasses #-}
module Graphics.XHB.Requests.Internal.Instances.Render () where
import Graphics.XHB.Gen.Render
import Graphics.XHB.Requests.Internal.Classes
import Prelude (fmap)
import Data.Bifunctor (second)
import Graphics.XHB (getReply)

instance RequestWithReply QueryVersion QueryVersionReply where
        requestWithReplyIO (MkQueryVersion a b) conn
          = fmap getReply (queryVersion conn a b)

instance RequestWithReply QueryPictFormats QueryPictFormatsReply
         where
        requestWithReplyIO (MkQueryPictFormats) conn
          = fmap getReply (queryPictFormats conn)

instance RequestWithReply QueryPictIndexValues
         QueryPictIndexValuesReply where
        requestWithReplyIO (MkQueryPictIndexValues a) conn
          = fmap getReply (queryPictIndexValues conn a)

instance Request CreatePicture where
        requestIO req conn = createPicture conn req

instance Request ChangePicture where
        requestIO (MkChangePicture a b) conn = changePicture conn a b

instance Request SetPictureClipRectangles where
        requestIO req conn = setPictureClipRectangles conn req

instance Request FreePicture where
        requestIO (MkFreePicture a) conn = freePicture conn a

instance Request Composite where
        requestIO req conn = composite conn req

instance Request Trapezoids where
        requestIO req conn = trapezoids conn req

instance Request Triangles where
        requestIO req conn = triangles conn req

instance Request TriStrip where
        requestIO req conn = triStrip conn req

instance Request TriFan where
        requestIO req conn = triFan conn req

instance Request CreateGlyphSet where
        requestIO (MkCreateGlyphSet a b) conn = createGlyphSet conn a b

instance Request ReferenceGlyphSet where
        requestIO (MkReferenceGlyphSet a b) conn
          = referenceGlyphSet conn a b

instance Request FreeGlyphSet where
        requestIO (MkFreeGlyphSet a) conn = freeGlyphSet conn a

instance Request AddGlyphs where
        requestIO req conn = addGlyphs conn req

instance Request FreeGlyphs where
        requestIO (MkFreeGlyphs a b) conn = freeGlyphs conn a b

instance Request CompositeGlyphs8 where
        requestIO req conn = compositeGlyphs8 conn req

instance Request CompositeGlyphs16 where
        requestIO req conn = compositeGlyphs16 conn req

instance Request CompositeGlyphs32 where
        requestIO req conn = compositeGlyphs32 conn req

instance Request FillRectangles where
        requestIO req conn = fillRectangles conn req

instance Request CreateCursor where
        requestIO req conn = createCursor conn req

instance Request SetPictureTransform where
        requestIO (MkSetPictureTransform a b) conn
          = setPictureTransform conn a b

instance RequestWithReply QueryFilters QueryFiltersReply where
        requestWithReplyIO (MkQueryFilters a) conn
          = fmap getReply (queryFilters conn a)

instance Request SetPictureFilter where
        requestIO req conn = setPictureFilter conn req

instance Request CreateAnimCursor where
        requestIO (MkCreateAnimCursor a b) conn = createAnimCursor conn a b

instance Request AddTraps where
        requestIO req conn = addTraps conn req

instance Request CreateSolidFill where
        requestIO (MkCreateSolidFill a b) conn = createSolidFill conn a b

instance Request CreateLinearGradient where
        requestIO req conn = createLinearGradient conn req

instance Request CreateRadialGradient where
        requestIO req conn = createRadialGradient conn req

instance Request CreateConicalGradient where
        requestIO req conn = createConicalGradient conn req