{-# LANGUAGE BlockArguments #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Graphics.Cairo.Drawing.Paths.Relative where import Foreign.Ptr import Foreign.C.Types import Control.Monad.Primitive import Data.CairoContext import Graphics.Cairo.Exception cairoRelMoveTo :: PrimMonad m => CairoT r (PrimState m) -> CDouble -> CDouble -> m () cairoRelMoveTo :: forall (m :: * -> *) r. PrimMonad m => CairoT r (PrimState m) -> CDouble -> CDouble -> m () cairoRelMoveTo CairoT r (PrimState m) cr CDouble dx CDouble dy = do CairoT r (PrimState m) -> (Ptr (CairoT r (PrimState m)) -> IO ()) -> m () forall (m :: * -> *) r a. PrimMonad m => CairoT r (PrimState m) -> (Ptr (CairoT r (PrimState m)) -> IO a) -> m a withCairoT CairoT r (PrimState m) cr \Ptr (CairoT r (PrimState m)) pcr -> Ptr (CairoT r (PrimState m)) -> CDouble -> CDouble -> IO () forall r s. Ptr (CairoT r s) -> CDouble -> CDouble -> IO () c_cairo_rel_move_to Ptr (CairoT r (PrimState m)) pcr CDouble dx CDouble dy IO () -> m () forall (m :: * -> *) a. PrimMonad m => IO a -> m a unsafeIOToPrim (IO () -> m ()) -> IO () -> m () forall a b. (a -> b) -> a -> b $ CairoT r (PrimState m) -> IO () forall r s. CairoT r s -> IO () raiseIfError CairoT r (PrimState m) cr foreign import ccall "cairo_rel_move_to" c_cairo_rel_move_to :: Ptr (CairoT r s) -> CDouble -> CDouble -> IO () cairoRelLineTo :: PrimMonad m => CairoT r (PrimState m) -> CDouble -> CDouble -> m () cairoRelLineTo :: forall (m :: * -> *) r. PrimMonad m => CairoT r (PrimState m) -> CDouble -> CDouble -> m () cairoRelLineTo CairoT r (PrimState m) cr CDouble x CDouble y = do CairoT r (PrimState m) -> (Ptr (CairoT r (PrimState m)) -> IO ()) -> m () forall (m :: * -> *) r a. PrimMonad m => CairoT r (PrimState m) -> (Ptr (CairoT r (PrimState m)) -> IO a) -> m a withCairoT CairoT r (PrimState m) cr \Ptr (CairoT r (PrimState m)) pcr -> Ptr (CairoT r (PrimState m)) -> CDouble -> CDouble -> IO () forall r s. Ptr (CairoT r s) -> CDouble -> CDouble -> IO () c_cairo_rel_line_to Ptr (CairoT r (PrimState m)) pcr CDouble x CDouble y IO () -> m () forall (m :: * -> *) a. PrimMonad m => IO a -> m a unsafeIOToPrim (IO () -> m ()) -> IO () -> m () forall a b. (a -> b) -> a -> b $ CairoT r (PrimState m) -> IO () forall r s. CairoT r s -> IO () raiseIfError CairoT r (PrimState m) cr foreign import ccall "cairo_rel_line_to" c_cairo_rel_line_to :: Ptr (CairoT r s) -> CDouble -> CDouble -> IO () cairoRelCurveTo :: PrimMonad m => CairoT r (PrimState m) -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> m () cairoRelCurveTo :: forall (m :: * -> *) r. PrimMonad m => CairoT r (PrimState m) -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> m () cairoRelCurveTo CairoT r (PrimState m) cr CDouble dx1 CDouble dy1 CDouble dx2 CDouble dy2 CDouble dx3 CDouble dy3 = do CairoT r (PrimState m) -> (Ptr (CairoT r (PrimState m)) -> IO ()) -> m () forall (m :: * -> *) r a. PrimMonad m => CairoT r (PrimState m) -> (Ptr (CairoT r (PrimState m)) -> IO a) -> m a withCairoT CairoT r (PrimState m) cr \Ptr (CairoT r (PrimState m)) pcr -> Ptr (CairoT r (PrimState m)) -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO () forall r s. Ptr (CairoT r s) -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO () c_cairo_rel_curve_to Ptr (CairoT r (PrimState m)) pcr CDouble dx1 CDouble dy1 CDouble dx2 CDouble dy2 CDouble dx3 CDouble dy3 IO () -> m () forall (m :: * -> *) a. PrimMonad m => IO a -> m a unsafeIOToPrim (IO () -> m ()) -> IO () -> m () forall a b. (a -> b) -> a -> b $ CairoT r (PrimState m) -> IO () forall r s. CairoT r s -> IO () raiseIfError CairoT r (PrimState m) cr foreign import ccall "cairo_rel_curve_to" c_cairo_rel_curve_to :: Ptr (CairoT r s) -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()