packages feed

gi-cairo-render-0.0.1: GI/Cairo/Render/Internal/Drawing/Transformations.chs

-----------------------------------------------------------------------------
-- |
-- Module      :  GI.Cairo.Render.Internal.Drawing.Tranformations
-- Copyright   :  (c) Paolo Martini 2005
-- License     :  BSD-style (see cairo/COPYRIGHT)
--
-- Maintainer  :  p.martini@neuralnoise.com
-- Stability   :  experimental
-- Portability :  portable
--
-- Manipulating the current transformation matrix.
-----------------------------------------------------------------------------

#include "gi-cairo-render.h" 

module GI.Cairo.Render.Internal.Drawing.Transformations where

{#import GI.Cairo.Render.Types#}

import Data.GI.Base(wrapBoxed, withManagedPtr) 
import Foreign hiding (rotate)
import Foreign.C

{#context lib="cairo" prefix="cairo"#}

{#fun translate          as translate        { withManagedPtr* `Cairo', `Double', `Double' } -> `()'#}
{#fun scale              as scale            { withManagedPtr* `Cairo', `Double', `Double' } -> `()'#}
{#fun rotate             as rotate           { withManagedPtr* `Cairo', `Double' } -> `()'#}
{#fun transform          as transform        { withManagedPtr* `Cairo', with* `Matrix' } -> `()'#}
{#fun set_matrix         as setMatrix        { withManagedPtr* `Cairo', with* `Matrix' } -> `()'#}
{#fun get_matrix         as getMatrix        { withManagedPtr* `Cairo', alloca- `Matrix' peek*} -> `()'#}
{#fun identity_matrix    as identityMatrix   { withManagedPtr* `Cairo' } -> `()'#}
{#fun user_to_device     as userToDevice     { withManagedPtr* `Cairo', withFloatConv* `Double' peekFloatConv*, withFloatConv* `Double' peekFloatConv* } -> `()'#}
{#fun user_to_device_distance as userToDeviceDistance {  withManagedPtr* `Cairo', withFloatConv* `Double' peekFloatConv*, withFloatConv* `Double' peekFloatConv* } -> `()'#}
{#fun device_to_user     as deviceToUser     { withManagedPtr* `Cairo', withFloatConv* `Double' peekFloatConv*, withFloatConv* `Double' peekFloatConv* } -> `()'#}
{#fun device_to_user_distance as deviceToUserDistance { withManagedPtr* `Cairo', withFloatConv* `Double' peekFloatConv*, withFloatConv* `Double' peekFloatConv* } -> `()'#}