;; -*- scheme -*-
; object definitions ...
(define-object Actor
  (in-module "Clutter")
  (parent "GInitiallyUnowned")
  (c-name "ClutterActor")
  (gtype-id "CLUTTER_TYPE_ACTOR")
)

(define-object ActorMeta
  (in-module "Clutter")
  (parent "GInitiallyUnowned")
  (c-name "ClutterActorMeta")
  (gtype-id "CLUTTER_TYPE_ACTOR_META")
)

(define-object Action
  (in-module "Clutter")
  (parent "ClutterActorMeta")
  (c-name "ClutterAction")
  (gtype-id "CLUTTER_TYPE_ACTION")
)

(define-object Alpha
  (in-module "Clutter")
  (parent "GInitiallyUnowned")
  (c-name "ClutterAlpha")
  (gtype-id "CLUTTER_TYPE_ALPHA")
)

(define-object Animatable
  (in-module "Clutter")
  (c-name "ClutterAnimatable")
  (gtype-id "CLUTTER_TYPE_ANIMATABLE")
)

(define-object Animation
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterAnimation")
  (gtype-id "CLUTTER_TYPE_ANIMATION")
)

(define-object Animator
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterAnimator")
  (gtype-id "CLUTTER_TYPE_ANIMATOR")
)

(define-object Backend
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterBackend")
  (gtype-id "CLUTTER_TYPE_BACKEND")
)

(define-object Behaviour
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterBehaviour")
  (gtype-id "CLUTTER_TYPE_BEHAVIOUR")
)

(define-object BehaviourDepth
  (in-module "Clutter")
  (parent "ClutterBehaviour")
  (c-name "ClutterBehaviourDepth")
  (gtype-id "CLUTTER_TYPE_BEHAVIOUR_DEPTH")
)

(define-object BehaviourEllipse
  (in-module "Clutter")
  (parent "ClutterBehaviour")
  (c-name "ClutterBehaviourEllipse")
  (gtype-id "CLUTTER_TYPE_BEHAVIOUR_ELLIPSE")
)

(define-object BehaviourOpacity
  (in-module "Clutter")
  (parent "ClutterBehaviour")
  (c-name "ClutterBehaviourOpacity")
  (gtype-id "CLUTTER_TYPE_BEHAVIOUR_OPACITY")
)

(define-object BehaviourPath
  (in-module "Clutter")
  (parent "ClutterBehaviour")
  (c-name "ClutterBehaviourPath")
  (gtype-id "CLUTTER_TYPE_BEHAVIOUR_PATH")
)

(define-object BehaviourRotate
  (in-module "Clutter")
  (parent "ClutterBehaviour")
  (c-name "ClutterBehaviourRotate")
  (gtype-id "CLUTTER_TYPE_BEHAVIOUR_ROTATE")
)

(define-object BehaviourScale
  (in-module "Clutter")
  (parent "ClutterBehaviour")
  (c-name "ClutterBehaviourScale")
  (gtype-id "CLUTTER_TYPE_BEHAVIOUR_SCALE")
)

(define-object Box
  (in-module "Clutter")
  (parent "ClutterActor")
  (c-name "ClutterBox")
  (gtype-id "CLUTTER_TYPE_BOX")
)

(define-object ChildMeta
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterChildMeta")
  (gtype-id "CLUTTER_TYPE_CHILD_META")
)

(define-object ClickAction
  (in-module "Clutter")
  (parent "ClutterAction")
  (c-name "ClutterClickAction")
  (gtype-id "CLUTTER_TYPE_CLICK_ACTION")
)

(define-object Clone
  (in-module "Clutter")
  (parent "ClutterActor")
  (c-name "ClutterClone")
  (gtype-id "CLUTTER_TYPE_CLONE")
)

(define-object Constraint
  (in-module "Clutter")
  (parent "ClutterActorMeta")
  (c-name "ClutterConstraint")
  (gtype-id "CLUTTER_TYPE_CONSTRAINT")
)

(define-object Container
  (in-module "Clutter")
  (c-name "ClutterContainer")
  (gtype-id "CLUTTER_TYPE_CONTAINER")
)

(define-object DeviceManager
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterDeviceManager")
  (gtype-id "CLUTTER_TYPE_DEVICE_MANAGER")
)

(define-object DragAction
  (in-module "Clutter")
  (parent "ClutterAction")
  (c-name "ClutterDragAction")
  (gtype-id "CLUTTER_TYPE_DRAG_ACTION")
)

(define-object Effect
  (in-module "Clutter")
  (parent "ClutterActorMeta")
  (c-name "ClutterEffect")
  (gtype-id "CLUTTER_TYPE_EFFECT")
)

(define-object Group
  (in-module "Clutter")
  (parent "ClutterActor")
  (c-name "ClutterGroup")
  (gtype-id "CLUTTER_TYPE_GROUP")
)

(define-object Interval
  (in-module "Clutter")
  (parent "GInitiallyUnowned")
  (c-name "ClutterInterval")
  (gtype-id "CLUTTER_TYPE_INTERVAL")
)

(define-object LayoutManager
  (in-module "Clutter")
  (parent "GInitiallyUnowned")
  (c-name "ClutterLayoutManager")
  (gtype-id "CLUTTER_TYPE_LAYOUT_MANAGER")
)

(define-object FlowLayout
  (in-module "Clutter")
  (parent "ClutterLayoutManager")
  (c-name "ClutterFlowLayout")
  (gtype-id "CLUTTER_TYPE_FLOW_LAYOUT")
)

(define-object FixedLayout
  (in-module "Clutter")
  (parent "ClutterLayoutManager")
  (c-name "ClutterFixedLayout")
  (gtype-id "CLUTTER_TYPE_FIXED_LAYOUT")
)

(define-object BoxLayout
  (in-module "Clutter")
  (parent "ClutterLayoutManager")
  (c-name "ClutterBoxLayout")
  (gtype-id "CLUTTER_TYPE_BOX_LAYOUT")
)

(define-object BinLayout
  (in-module "Clutter")
  (parent "ClutterLayoutManager")
  (c-name "ClutterBinLayout")
  (gtype-id "CLUTTER_TYPE_BIN_LAYOUT")
)

(define-object LayoutMeta
  (in-module "Clutter")
  (parent "ClutterChildMeta")
  (c-name "ClutterLayoutMeta")
  (gtype-id "CLUTTER_TYPE_LAYOUT_META")
)

(define-object Media
  (in-module "Clutter")
  (c-name "ClutterMedia")
  (gtype-id "CLUTTER_TYPE_MEDIA")
)

(define-object Model
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterModel")
  (gtype-id "CLUTTER_TYPE_MODEL")
)

(define-object ListModel
  (in-module "Clutter")
  (parent "ClutterModel")
  (c-name "ClutterListModel")
  (gtype-id "CLUTTER_TYPE_LIST_MODEL")
)

(define-object ModelIter
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterModelIter")
  (gtype-id "CLUTTER_TYPE_MODEL_ITER")
)

(define-object OffscreenEffect
  (in-module "Clutter")
  (parent "ClutterEffect")
  (c-name "ClutterOffscreenEffect")
  (gtype-id "CLUTTER_TYPE_OFFSCREEN_EFFECT")
)

(define-object DeformEffect
  (in-module "Clutter")
  (parent "ClutterOffscreenEffect")
  (c-name "ClutterDeformEffect")
  (gtype-id "CLUTTER_TYPE_DEFORM_EFFECT")
)

(define-object Path
  (in-module "Clutter")
  (parent "GInitiallyUnowned")
  (c-name "ClutterPath")
  (gtype-id "CLUTTER_TYPE_PATH")
)

(define-object Rectangle
  (in-module "Clutter")
  (parent "ClutterActor")
  (c-name "ClutterRectangle")
  (gtype-id "CLUTTER_TYPE_RECTANGLE")
)

(define-object Score
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterScore")
  (gtype-id "CLUTTER_TYPE_SCORE")
)

(define-object Script
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterScript")
  (gtype-id "CLUTTER_TYPE_SCRIPT")
)

(define-object Scriptable
  (in-module "Clutter")
  (c-name "ClutterScriptable")
  (gtype-id "CLUTTER_TYPE_SCRIPTABLE")
)

(define-object Shader
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterShader")
  (gtype-id "CLUTTER_TYPE_SHADER")
)

(define-object ShaderEffect
  (in-module "Clutter")
  (parent "ClutterOffscreenEffect")
  (c-name "ClutterShaderEffect")
  (gtype-id "CLUTTER_TYPE_SHADER_EFFECT")
)

(define-object Stage
  (in-module "Clutter")
  (parent "ClutterGroup")
  (c-name "ClutterStage")
  (gtype-id "CLUTTER_TYPE_STAGE")
)

(define-object StageWindow
  (in-module "Clutter")
  (c-name "ClutterStageWindow")
  (gtype-id "CLUTTER_TYPE_STAGE_WINDOW")
)

(define-object State
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterState")
  (gtype-id "CLUTTER_TYPE_STATE")
)

(define-object Text
  (in-module "Clutter")
  (parent "ClutterActor")
  (c-name "ClutterText")
  (gtype-id "CLUTTER_TYPE_TEXT")
)

(define-object Texture
  (in-module "Clutter")
  (parent "ClutterActor")
  (c-name "ClutterTexture")
  (gtype-id "CLUTTER_TYPE_TEXTURE")
)

(define-object CairoTexture
  (in-module "Clutter")
  (parent "ClutterTexture")
  (c-name "ClutterCairoTexture")
  (gtype-id "CLUTTER_TYPE_CAIRO_TEXTURE")
)

(define-object Timeline
  (in-module "Clutter")
  (parent "GObject")
  (c-name "ClutterTimeline")
  (gtype-id "CLUTTER_TYPE_TIMELINE")
)

;; Enumerations and flags ...

(define-flags ActorFlags
  (in-module "Clutter")
  (c-name "ClutterActorFlags")
  (gtype-id "CLUTTER_TYPE_ACTOR_FLAGS")
  (values
    '("mapped" "CLUTTER_ACTOR_MAPPED")
    '("realized" "CLUTTER_ACTOR_REALIZED")
    '("reactive" "CLUTTER_ACTOR_REACTIVE")
    '("visible" "CLUTTER_ACTOR_VISIBLE")
    '("no-layout" "CLUTTER_ACTOR_NO_LAYOUT")
  )
)

(define-flags AllocationFlags
  (in-module "Clutter")
  (c-name "ClutterAllocationFlags")
  (gtype-id "CLUTTER_TYPE_ALLOCATION_FLAGS")
  (values
    '("allocation-none" "CLUTTER_ALLOCATION_NONE")
    '("absolute-origin-changed" "CLUTTER_ABSOLUTE_ORIGIN_CHANGED")
  )
)

(define-flags RedrawFlags
  (in-module "Clutter")
  (c-name "ClutterRedrawFlags")
  (gtype-id "CLUTTER_TYPE_REDRAW_FLAGS")
  (values
    '("box" "CLUTTER_REDRAW_CLIPPED_TO_BOX")
    '("allocation" "CLUTTER_REDRAW_CLIPPED_TO_ALLOCATION")
  )
)

(define-enum AlignAxis
  (in-module "Clutter")
  (c-name "ClutterAlignAxis")
  (gtype-id "CLUTTER_TYPE_ALIGN_AXIS")
  (values
    '("x-axis" "CLUTTER_ALIGN_X_AXIS")
    '("y-axis" "CLUTTER_ALIGN_Y_AXIS")
  )
)

(define-enum Interpolation
  (in-module "Clutter")
  (c-name "ClutterInterpolation")
  (gtype-id "CLUTTER_TYPE_INTERPOLATION")
  (values
    '("linear" "CLUTTER_INTERPOLATION_LINEAR")
    '("cubic" "CLUTTER_INTERPOLATION_CUBIC")
  )
)

(define-enum BindCoordinate
  (in-module "Clutter")
  (c-name "ClutterBindCoordinate")
  (gtype-id "CLUTTER_TYPE_BIND_COORDINATE")
  (values
    '("x" "CLUTTER_BIND_X")
    '("y" "CLUTTER_BIND_Y")
    '("z" "CLUTTER_BIND_Z")
    '("width" "CLUTTER_BIND_WIDTH")
    '("height" "CLUTTER_BIND_HEIGHT")
  )
)

(define-enum BinAlignment
  (in-module "Clutter")
  (c-name "ClutterBinAlignment")
  (gtype-id "CLUTTER_TYPE_BIN_ALIGNMENT")
  (values
    '("fixed" "CLUTTER_BIN_ALIGNMENT_FIXED")
    '("fill" "CLUTTER_BIN_ALIGNMENT_FILL")
    '("start" "CLUTTER_BIN_ALIGNMENT_START")
    '("end" "CLUTTER_BIN_ALIGNMENT_END")
    '("center" "CLUTTER_BIN_ALIGNMENT_CENTER")
  )
)

(define-enum BoxAlignment
  (in-module "Clutter")
  (c-name "ClutterBoxAlignment")
  (gtype-id "CLUTTER_TYPE_BOX_ALIGNMENT")
  (values
    '("start" "CLUTTER_BOX_ALIGNMENT_START")
    '("end" "CLUTTER_BOX_ALIGNMENT_END")
    '("center" "CLUTTER_BOX_ALIGNMENT_CENTER")
  )
)

(define-enum DragAxis
  (in-module "Clutter")
  (c-name "ClutterDragAxis")
  (gtype-id "CLUTTER_TYPE_DRAG_AXIS")
  (values
    '("axis-none" "CLUTTER_DRAG_AXIS_NONE")
    '("x-axis" "CLUTTER_DRAG_X_AXIS")
    '("y-axis" "CLUTTER_DRAG_Y_AXIS")
  )
)

(define-flags ModifierType
  (in-module "Clutter")
  (c-name "ClutterModifierType")
  (gtype-id "CLUTTER_TYPE_MODIFIER_TYPE")
  (values
    '("shift-mask" "CLUTTER_SHIFT_MASK")
    '("lock-mask" "CLUTTER_LOCK_MASK")
    '("control-mask" "CLUTTER_CONTROL_MASK")
    '("mod1-mask" "CLUTTER_MOD1_MASK")
    '("mod2-mask" "CLUTTER_MOD2_MASK")
    '("mod3-mask" "CLUTTER_MOD3_MASK")
    '("mod4-mask" "CLUTTER_MOD4_MASK")
    '("mod5-mask" "CLUTTER_MOD5_MASK")
    '("button1-mask" "CLUTTER_BUTTON1_MASK")
    '("button2-mask" "CLUTTER_BUTTON2_MASK")
    '("button3-mask" "CLUTTER_BUTTON3_MASK")
    '("button4-mask" "CLUTTER_BUTTON4_MASK")
    '("button5-mask" "CLUTTER_BUTTON5_MASK")
    '("super-mask" "CLUTTER_SUPER_MASK")
    '("hyper-mask" "CLUTTER_HYPER_MASK")
    '("meta-mask" "CLUTTER_META_MASK")
    '("release-mask" "CLUTTER_RELEASE_MASK")
    '("modifier-mask" "CLUTTER_MODIFIER_MASK")
  )
)

(define-flags EventFlags
  (in-module "Clutter")
  (c-name "ClutterEventFlags")
  (gtype-id "CLUTTER_TYPE_EVENT_FLAGS")
  (values
    '("none" "CLUTTER_EVENT_NONE")
    '("flag-synthetic" "CLUTTER_EVENT_FLAG_SYNTHETIC")
  )
)

(define-enum EventType
  (in-module "Clutter")
  (c-name "ClutterEventType")
  (gtype-id "CLUTTER_TYPE_EVENT_TYPE")
  (values
    '("nothing" "CLUTTER_NOTHING")
    '("key-press" "CLUTTER_KEY_PRESS")
    '("key-release" "CLUTTER_KEY_RELEASE")
    '("motion" "CLUTTER_MOTION")
    '("enter" "CLUTTER_ENTER")
    '("leave" "CLUTTER_LEAVE")
    '("button-press" "CLUTTER_BUTTON_PRESS")
    '("button-release" "CLUTTER_BUTTON_RELEASE")
    '("scroll" "CLUTTER_SCROLL")
    '("stage-state" "CLUTTER_STAGE_STATE")
    '("destroy-notify" "CLUTTER_DESTROY_NOTIFY")
    '("client-message" "CLUTTER_CLIENT_MESSAGE")
    '("delete" "CLUTTER_DELETE")
  )
)

(define-enum ScrollDirection
  (in-module "Clutter")
  (c-name "ClutterScrollDirection")
  (gtype-id "CLUTTER_TYPE_SCROLL_DIRECTION")
  (values
    '("up" "CLUTTER_SCROLL_UP")
    '("down" "CLUTTER_SCROLL_DOWN")
    '("left" "CLUTTER_SCROLL_LEFT")
    '("right" "CLUTTER_SCROLL_RIGHT")
  )
)

(define-flags StageState
  (in-module "Clutter")
  (c-name "ClutterStageState")
  (gtype-id "CLUTTER_TYPE_STAGE_STATE")
  (values
    '("fullscreen" "CLUTTER_STAGE_STATE_FULLSCREEN")
    '("offscreen" "CLUTTER_STAGE_STATE_OFFSCREEN")
    '("activated" "CLUTTER_STAGE_STATE_ACTIVATED")
  )
)

(define-flags FeatureFlags
  (in-module "Clutter")
  (c-name "ClutterFeatureFlags")
  (gtype-id "CLUTTER_TYPE_FEATURE_FLAGS")
  (values
    '("texture-npot" "CLUTTER_FEATURE_TEXTURE_NPOT")
    '("sync-to-vblank" "CLUTTER_FEATURE_SYNC_TO_VBLANK")
    '("texture-yuv" "CLUTTER_FEATURE_TEXTURE_YUV")
    '("texture-read-pixels" "CLUTTER_FEATURE_TEXTURE_READ_PIXELS")
    '("stage-static" "CLUTTER_FEATURE_STAGE_STATIC")
    '("stage-user-resize" "CLUTTER_FEATURE_STAGE_USER_RESIZE")
    '("stage-cursor" "CLUTTER_FEATURE_STAGE_CURSOR")
    '("shaders-glsl" "CLUTTER_FEATURE_SHADERS_GLSL")
    '("offscreen" "CLUTTER_FEATURE_OFFSCREEN")
    '("stage-multiple" "CLUTTER_FEATURE_STAGE_MULTIPLE")
    '("swap-events" "CLUTTER_FEATURE_SWAP_EVENTS")
  )
)

(define-enum FlowOrientation
  (in-module "Clutter")
  (c-name "ClutterFlowOrientation")
  (gtype-id "CLUTTER_TYPE_FLOW_ORIENTATION")
  (values
    '("horizontal" "CLUTTER_FLOW_HORIZONTAL")
    '("vertical" "CLUTTER_FLOW_VERTICAL")
  )
)

(define-enum InputDeviceType
  (in-module "Clutter")
  (c-name "ClutterInputDeviceType")
  (gtype-id "CLUTTER_TYPE_INPUT_DEVICE_TYPE")
  (values
    '("pointer-device" "CLUTTER_POINTER_DEVICE")
    '("keyboard-device" "CLUTTER_KEYBOARD_DEVICE")
    '("extension-device" "CLUTTER_EXTENSION_DEVICE")
    '("n-device-types" "CLUTTER_N_DEVICE_TYPES")
  )
)

(define-enum InitError
  (in-module "Clutter")
  (c-name "ClutterInitError")
  (gtype-id "CLUTTER_TYPE_INIT_ERROR")
  (values
    '("success" "CLUTTER_INIT_SUCCESS")
    '("error-unknown" "CLUTTER_INIT_ERROR_UNKNOWN")
    '("error-threads" "CLUTTER_INIT_ERROR_THREADS")
    '("error-backend" "CLUTTER_INIT_ERROR_BACKEND")
    '("error-internal" "CLUTTER_INIT_ERROR_INTERNAL")
  )
)

(define-enum PathNodeType
  (in-module "Clutter")
  (c-name "ClutterPathNodeType")
  (gtype-id "CLUTTER_TYPE_PATH_NODE_TYPE")
  (values
    '("move-to" "CLUTTER_PATH_MOVE_TO")
    '("line-to" "CLUTTER_PATH_LINE_TO")
    '("curve-to" "CLUTTER_PATH_CURVE_TO")
    '("close" "CLUTTER_PATH_CLOSE")
    '("rel-move-to" "CLUTTER_PATH_REL_MOVE_TO")
    '("rel-line-to" "CLUTTER_PATH_REL_LINE_TO")
    '("rel-curve-to" "CLUTTER_PATH_REL_CURVE_TO")
  )
)

(define-enum ScriptError
  (in-module "Clutter")
  (c-name "ClutterScriptError")
  (gtype-id "CLUTTER_TYPE_SCRIPT_ERROR")
  (values
    '("type-function" "CLUTTER_SCRIPT_ERROR_INVALID_TYPE_FUNCTION")
    '("property" "CLUTTER_SCRIPT_ERROR_INVALID_PROPERTY")
    '("value" "CLUTTER_SCRIPT_ERROR_INVALID_VALUE")
  )
)

(define-enum ShaderError
  (in-module "Clutter")
  (c-name "ClutterShaderError")
  (gtype-id "CLUTTER_TYPE_SHADER_ERROR")
  (values
    '("no-asm" "CLUTTER_SHADER_ERROR_NO_ASM")
    '("no-glsl" "CLUTTER_SHADER_ERROR_NO_GLSL")
    '("compile" "CLUTTER_SHADER_ERROR_COMPILE")
  )
)

(define-enum PickMode
  (in-module "Clutter")
  (c-name "ClutterPickMode")
  (gtype-id "CLUTTER_TYPE_PICK_MODE")
  (values
    '("none" "CLUTTER_PICK_NONE")
    '("reactive" "CLUTTER_PICK_REACTIVE")
    '("all" "CLUTTER_PICK_ALL")
  )
)

(define-enum TextureError
  (in-module "Clutter")
  (c-name "ClutterTextureError")
  (gtype-id "CLUTTER_TYPE_TEXTURE_ERROR")
  (values
    '("out-of-memory" "CLUTTER_TEXTURE_ERROR_OUT_OF_MEMORY")
    '("no-yuv" "CLUTTER_TEXTURE_ERROR_NO_YUV")
    '("bad-format" "CLUTTER_TEXTURE_ERROR_BAD_FORMAT")
  )
)

(define-flags TextureFlags
  (in-module "Clutter")
  (c-name "ClutterTextureFlags")
  (gtype-id "CLUTTER_TYPE_TEXTURE_FLAGS")
  (values
    '("none" "CLUTTER_TEXTURE_NONE")
    '("rgb-flag-bgr" "CLUTTER_TEXTURE_RGB_FLAG_BGR")
    '("rgb-flag-premult" "CLUTTER_TEXTURE_RGB_FLAG_PREMULT")
    '("yuv-flag-yuv2" "CLUTTER_TEXTURE_YUV_FLAG_YUV2")
  )
)

(define-enum TextureQuality
  (in-module "Clutter")
  (c-name "ClutterTextureQuality")
  (gtype-id "CLUTTER_TYPE_TEXTURE_QUALITY")
  (values
    '("low" "CLUTTER_TEXTURE_QUALITY_LOW")
    '("medium" "CLUTTER_TEXTURE_QUALITY_MEDIUM")
    '("high" "CLUTTER_TEXTURE_QUALITY_HIGH")
  )
)

(define-enum TimelineDirection
  (in-module "Clutter")
  (c-name "ClutterTimelineDirection")
  (gtype-id "CLUTTER_TYPE_TIMELINE_DIRECTION")
  (values
    '("forward" "CLUTTER_TIMELINE_FORWARD")
    '("backward" "CLUTTER_TIMELINE_BACKWARD")
  )
)

(define-enum Gravity
  (in-module "Clutter")
  (c-name "ClutterGravity")
  (gtype-id "CLUTTER_TYPE_GRAVITY")
  (values
    '("none" "CLUTTER_GRAVITY_NONE")
    '("north" "CLUTTER_GRAVITY_NORTH")
    '("north-east" "CLUTTER_GRAVITY_NORTH_EAST")
    '("east" "CLUTTER_GRAVITY_EAST")
    '("south-east" "CLUTTER_GRAVITY_SOUTH_EAST")
    '("south" "CLUTTER_GRAVITY_SOUTH")
    '("south-west" "CLUTTER_GRAVITY_SOUTH_WEST")
    '("west" "CLUTTER_GRAVITY_WEST")
    '("north-west" "CLUTTER_GRAVITY_NORTH_WEST")
    '("center" "CLUTTER_GRAVITY_CENTER")
  )
)

(define-enum RotateAxis
  (in-module "Clutter")
  (c-name "ClutterRotateAxis")
  (gtype-id "CLUTTER_TYPE_ROTATE_AXIS")
  (values
    '("x-axis" "CLUTTER_X_AXIS")
    '("y-axis" "CLUTTER_Y_AXIS")
    '("z-axis" "CLUTTER_Z_AXIS")
  )
)

(define-enum RotateDirection
  (in-module "Clutter")
  (c-name "ClutterRotateDirection")
  (gtype-id "CLUTTER_TYPE_ROTATE_DIRECTION")
  (values
    '("cw" "CLUTTER_ROTATE_CW")
    '("ccw" "CLUTTER_ROTATE_CCW")
  )
)

(define-enum RequestMode
  (in-module "Clutter")
  (c-name "ClutterRequestMode")
  (gtype-id "CLUTTER_TYPE_REQUEST_MODE")
  (values
    '("height-for-width" "CLUTTER_REQUEST_HEIGHT_FOR_WIDTH")
    '("width-for-height" "CLUTTER_REQUEST_WIDTH_FOR_HEIGHT")
  )
)

(define-enum AnimationMode
  (in-module "Clutter")
  (c-name "ClutterAnimationMode")
  (gtype-id "CLUTTER_TYPE_ANIMATION_MODE")
  (values
    '("custom-mode" "CLUTTER_CUSTOM_MODE")
    '("linear" "CLUTTER_LINEAR")
    '("ease-in-quad" "CLUTTER_EASE_IN_QUAD")
    '("ease-out-quad" "CLUTTER_EASE_OUT_QUAD")
    '("ease-in-out-quad" "CLUTTER_EASE_IN_OUT_QUAD")
    '("ease-in-cubic" "CLUTTER_EASE_IN_CUBIC")
    '("ease-out-cubic" "CLUTTER_EASE_OUT_CUBIC")
    '("ease-in-out-cubic" "CLUTTER_EASE_IN_OUT_CUBIC")
    '("ease-in-quart" "CLUTTER_EASE_IN_QUART")
    '("ease-out-quart" "CLUTTER_EASE_OUT_QUART")
    '("ease-in-out-quart" "CLUTTER_EASE_IN_OUT_QUART")
    '("ease-in-quint" "CLUTTER_EASE_IN_QUINT")
    '("ease-out-quint" "CLUTTER_EASE_OUT_QUINT")
    '("ease-in-out-quint" "CLUTTER_EASE_IN_OUT_QUINT")
    '("ease-in-sine" "CLUTTER_EASE_IN_SINE")
    '("ease-out-sine" "CLUTTER_EASE_OUT_SINE")
    '("ease-in-out-sine" "CLUTTER_EASE_IN_OUT_SINE")
    '("ease-in-expo" "CLUTTER_EASE_IN_EXPO")
    '("ease-out-expo" "CLUTTER_EASE_OUT_EXPO")
    '("ease-in-out-expo" "CLUTTER_EASE_IN_OUT_EXPO")
    '("ease-in-circ" "CLUTTER_EASE_IN_CIRC")
    '("ease-out-circ" "CLUTTER_EASE_OUT_CIRC")
    '("ease-in-out-circ" "CLUTTER_EASE_IN_OUT_CIRC")
    '("ease-in-elastic" "CLUTTER_EASE_IN_ELASTIC")
    '("ease-out-elastic" "CLUTTER_EASE_OUT_ELASTIC")
    '("ease-in-out-elastic" "CLUTTER_EASE_IN_OUT_ELASTIC")
    '("ease-in-back" "CLUTTER_EASE_IN_BACK")
    '("ease-out-back" "CLUTTER_EASE_OUT_BACK")
    '("ease-in-out-back" "CLUTTER_EASE_IN_OUT_BACK")
    '("ease-in-bounce" "CLUTTER_EASE_IN_BOUNCE")
    '("ease-out-bounce" "CLUTTER_EASE_OUT_BOUNCE")
    '("ease-in-out-bounce" "CLUTTER_EASE_IN_OUT_BOUNCE")
    '("animation-last" "CLUTTER_ANIMATION_LAST")
  )
)

(define-flags FontFlags
  (in-module "Clutter")
  (c-name "ClutterFontFlags")
  (gtype-id "CLUTTER_TYPE_FONT_FLAGS")
  (values
    '("mipmapping" "CLUTTER_FONT_MIPMAPPING")
    '("hinting" "CLUTTER_FONT_HINTING")
  )
)

(define-enum TextDirection
  (in-module "Clutter")
  (c-name "ClutterTextDirection")
  (gtype-id "CLUTTER_TYPE_TEXT_DIRECTION")
  (values
    '("default" "CLUTTER_TEXT_DIRECTION_DEFAULT")
    '("ltr" "CLUTTER_TEXT_DIRECTION_LTR")
    '("rtl" "CLUTTER_TEXT_DIRECTION_RTL")
  )
)

(define-enum ShaderType
  (in-module "Clutter")
  (c-name "ClutterShaderType")
  (gtype-id "CLUTTER_TYPE_SHADER_TYPE")
  (values
    '("vertex-shader" "CLUTTER_VERTEX_SHADER")
    '("fragment-shader" "CLUTTER_FRAGMENT_SHADER")
  )
)

(define-enum UnitType
  (in-module "Clutter")
  (c-name "ClutterUnitType")
  (gtype-id "CLUTTER_TYPE_UNIT_TYPE")
  (values
    '("pixel" "CLUTTER_UNIT_PIXEL")
    '("em" "CLUTTER_UNIT_EM")
    '("mm" "CLUTTER_UNIT_MM")
    '("point" "CLUTTER_UNIT_POINT")
    '("cm" "CLUTTER_UNIT_CM")
  )
)


;; From clutter-action.h

(define-function clutter_action_get_type
  (c-name "clutter_action_get_type")
  (return-type "GType")
)

(define-method add_action
  (of-object "ClutterActor")
  (c-name "clutter_actor_add_action")
  (return-type "none")
  (parameters
    '("ClutterAction*" "action")
  )
)

(define-method add_action_with_name
  (of-object "ClutterActor")
  (c-name "clutter_actor_add_action_with_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
    '("ClutterAction*" "action")
  )
)

(define-method remove_action
  (of-object "ClutterActor")
  (c-name "clutter_actor_remove_action")
  (return-type "none")
  (parameters
    '("ClutterAction*" "action")
  )
)

(define-method remove_action_by_name
  (of-object "ClutterActor")
  (c-name "clutter_actor_remove_action_by_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method get_action
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_action")
  (return-type "ClutterAction*")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method get_actions
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_actions")
  (return-type "GList*")
)

(define-method clear_actions
  (of-object "ClutterActor")
  (c-name "clutter_actor_clear_actions")
  (return-type "none")
)



;; From clutter-actor.h

(define-function clutter_actor_get_type
  (c-name "clutter_actor_get_type")
  (return-type "GType")
)

(define-method set_flags
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_flags")
  (return-type "none")
  (parameters
    '("ClutterActorFlags" "flags")
  )
)

(define-method unset_flags
  (of-object "ClutterActor")
  (c-name "clutter_actor_unset_flags")
  (return-type "none")
  (parameters
    '("ClutterActorFlags" "flags")
  )
)

(define-method get_flags
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_flags")
  (return-type "ClutterActorFlags")
)

(define-method show
  (of-object "ClutterActor")
  (c-name "clutter_actor_show")
  (return-type "none")
)

(define-method show_all
  (of-object "ClutterActor")
  (c-name "clutter_actor_show_all")
  (return-type "none")
)

(define-method hide
  (of-object "ClutterActor")
  (c-name "clutter_actor_hide")
  (return-type "none")
)

(define-method hide_all
  (of-object "ClutterActor")
  (c-name "clutter_actor_hide_all")
  (return-type "none")
)

(define-method realize
  (of-object "ClutterActor")
  (c-name "clutter_actor_realize")
  (return-type "none")
)

(define-method unrealize
  (of-object "ClutterActor")
  (c-name "clutter_actor_unrealize")
  (return-type "none")
)

(define-method map
  (of-object "ClutterActor")
  (c-name "clutter_actor_map")
  (return-type "none")
)

(define-method unmap
  (of-object "ClutterActor")
  (c-name "clutter_actor_unmap")
  (return-type "none")
)

(define-method paint
  (of-object "ClutterActor")
  (c-name "clutter_actor_paint")
  (return-type "none")
)

(define-method queue_redraw
  (of-object "ClutterActor")
  (c-name "clutter_actor_queue_redraw")
  (return-type "none")
)

(define-method queue_relayout
  (of-object "ClutterActor")
  (c-name "clutter_actor_queue_relayout")
  (return-type "none")
)

(define-method destroy
  (of-object "ClutterActor")
  (c-name "clutter_actor_destroy")
  (return-type "none")
)

(define-method set_request_mode
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_request_mode")
  (return-type "none")
  (parameters
    '("ClutterRequestMode" "mode")
  )
)

(define-method get_request_mode
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_request_mode")
  (return-type "ClutterRequestMode")
)

(define-method get_preferred_width
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_preferred_width")
  (return-type "none")
  (parameters
    '("gfloat" "for_height")
    '("gfloat*" "min_width_p")
    '("gfloat*" "natural_width_p")
  )
)

(define-method get_preferred_height
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_preferred_height")
  (return-type "none")
  (parameters
    '("gfloat" "for_width")
    '("gfloat*" "min_height_p")
    '("gfloat*" "natural_height_p")
  )
)

(define-method get_preferred_size
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_preferred_size")
  (return-type "none")
  (parameters
    '("gfloat*" "min_width_p")
    '("gfloat*" "min_height_p")
    '("gfloat*" "natural_width_p")
    '("gfloat*" "natural_height_p")
  )
)

(define-method allocate
  (of-object "ClutterActor")
  (c-name "clutter_actor_allocate")
  (return-type "none")
  (parameters
    '("const-ClutterActorBox*" "box")
    '("ClutterAllocationFlags" "flags")
  )
)

(define-method allocate_preferred_size
  (of-object "ClutterActor")
  (c-name "clutter_actor_allocate_preferred_size")
  (return-type "none")
  (parameters
    '("ClutterAllocationFlags" "flags")
  )
)

(define-method allocate_available_size
  (of-object "ClutterActor")
  (c-name "clutter_actor_allocate_available_size")
  (return-type "none")
  (parameters
    '("gfloat" "x")
    '("gfloat" "y")
    '("gfloat" "available_width")
    '("gfloat" "available_height")
    '("ClutterAllocationFlags" "flags")
  )
)

(define-method get_allocation_box
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_allocation_box")
  (return-type "none")
  (parameters
    '("ClutterActorBox*" "box")
  )
)

(define-method get_allocation_geometry
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_allocation_geometry")
  (return-type "none")
  (parameters
    '("ClutterGeometry*" "geom")
  )
)

(define-method get_allocation_vertices
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_allocation_vertices")
  (return-type "none")
  (parameters
    '("ClutterActor*" "ancestor")
    '("ClutterVertex[]" "verts")
  )
)

(define-method set_geometry
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_geometry")
  (return-type "none")
  (parameters
    '("const-ClutterGeometry*" "geometry")
  )
)

(define-method get_geometry
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_geometry")
  (return-type "none")
  (parameters
    '("ClutterGeometry*" "geometry")
  )
)

(define-method set_size
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_size")
  (return-type "none")
  (parameters
    '("gfloat" "width")
    '("gfloat" "height")
  )
)

(define-method get_size
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_size")
  (return-type "none")
  (parameters
    '("gfloat*" "width")
    '("gfloat*" "height")
  )
)

(define-method get_transformed_size
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_transformed_size")
  (return-type "none")
  (parameters
    '("gfloat*" "width")
    '("gfloat*" "height")
  )
)

(define-method set_position
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_position")
  (return-type "none")
  (parameters
    '("gfloat" "x")
    '("gfloat" "y")
  )
)

(define-method get_position
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_position")
  (return-type "none")
  (parameters
    '("gfloat*" "x")
    '("gfloat*" "y")
  )
)

(define-method get_transformed_position
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_transformed_position")
  (return-type "none")
  (parameters
    '("gfloat*" "x")
    '("gfloat*" "y")
  )
)

(define-method get_fixed_position_set
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_fixed_position_set")
  (return-type "gboolean")
)

(define-method set_fixed_position_set
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_fixed_position_set")
  (return-type "none")
  (parameters
    '("gboolean" "is_set")
  )
)

(define-method get_width
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_width")
  (return-type "gfloat")
)

(define-method get_height
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_height")
  (return-type "gfloat")
)

(define-method set_width
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_width")
  (return-type "none")
  (parameters
    '("gfloat" "width")
  )
)

(define-method set_height
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_height")
  (return-type "none")
  (parameters
    '("gfloat" "height")
  )
)

(define-method get_x
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_x")
  (return-type "gfloat")
)

(define-method get_y
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_y")
  (return-type "gfloat")
)

(define-method set_x
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_x")
  (return-type "none")
  (parameters
    '("gfloat" "x")
  )
)

(define-method set_y
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_y")
  (return-type "none")
  (parameters
    '("gfloat" "y")
  )
)

(define-method set_rotation
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_rotation")
  (return-type "none")
  (parameters
    '("ClutterRotateAxis" "axis")
    '("gdouble" "angle")
    '("gfloat" "x")
    '("gfloat" "y")
    '("gfloat" "z")
  )
)

(define-method set_z_rotation_from_gravity
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_z_rotation_from_gravity")
  (return-type "none")
  (parameters
    '("gdouble" "angle")
    '("ClutterGravity" "gravity")
  )
)

(define-method get_rotation
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_rotation")
  (return-type "gdouble")
  (parameters
    '("ClutterRotateAxis" "axis")
    '("gfloat*" "x")
    '("gfloat*" "y")
    '("gfloat*" "z")
  )
)

(define-method get_z_rotation_gravity
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_z_rotation_gravity")
  (return-type "ClutterGravity")
)

(define-method set_opacity
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_opacity")
  (return-type "none")
  (parameters
    '("guint8" "opacity")
  )
)

(define-method get_opacity
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_opacity")
  (return-type "guint8")
)

(define-method get_paint_opacity
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_paint_opacity")
  (return-type "guint8")
)

(define-method get_paint_visibility
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_paint_visibility")
  (return-type "gboolean")
)

(define-method set_name
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method get_name
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_name")
  (return-type "const-gchar*")
)

(define-method get_gid
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_gid")
  (return-type "guint32")
)

(define-method set_clip
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_clip")
  (return-type "none")
  (parameters
    '("gfloat" "xoff")
    '("gfloat" "yoff")
    '("gfloat" "width")
    '("gfloat" "height")
  )
)

(define-method remove_clip
  (of-object "ClutterActor")
  (c-name "clutter_actor_remove_clip")
  (return-type "none")
)

(define-method has_clip
  (of-object "ClutterActor")
  (c-name "clutter_actor_has_clip")
  (return-type "gboolean")
)

(define-method get_clip
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_clip")
  (return-type "none")
  (parameters
    '("gfloat*" "xoff")
    '("gfloat*" "yoff")
    '("gfloat*" "width")
    '("gfloat*" "height")
  )
)

(define-method set_clip_to_allocation
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_clip_to_allocation")
  (return-type "none")
  (parameters
    '("gboolean" "clip_set")
  )
)

(define-method get_clip_to_allocation
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_clip_to_allocation")
  (return-type "gboolean")
)

(define-method set_parent
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_parent")
  (return-type "none")
  (parameters
    '("ClutterActor*" "parent")
  )
)

(define-method get_parent
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_parent")
  (return-type "ClutterActor*")
)

(define-method reparent
  (of-object "ClutterActor")
  (c-name "clutter_actor_reparent")
  (return-type "none")
  (parameters
    '("ClutterActor*" "new_parent")
  )
)

(define-method unparent
  (of-object "ClutterActor")
  (c-name "clutter_actor_unparent")
  (return-type "none")
)

(define-method contains
  (of-object "ClutterActor")
  (c-name "clutter_actor_contains")
  (return-type "gboolean")
  (parameters
    '("ClutterActor*" "descendant")
  )
)

(define-method get_stage
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_stage")
  (return-type "ClutterActor*")
)

(define-method raise
  (of-object "ClutterActor")
  (c-name "clutter_actor_raise")
  (return-type "none")
  (parameters
    '("ClutterActor*" "below")
  )
)

(define-method lower
  (of-object "ClutterActor")
  (c-name "clutter_actor_lower")
  (return-type "none")
  (parameters
    '("ClutterActor*" "above")
  )
)

(define-method raise_top
  (of-object "ClutterActor")
  (c-name "clutter_actor_raise_top")
  (return-type "none")
)

(define-method lower_bottom
  (of-object "ClutterActor")
  (c-name "clutter_actor_lower_bottom")
  (return-type "none")
)

(define-method set_depth
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_depth")
  (return-type "none")
  (parameters
    '("gfloat" "depth")
  )
)

(define-method get_depth
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_depth")
  (return-type "gfloat")
)

(define-method set_scale
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_scale")
  (return-type "none")
  (parameters
    '("gdouble" "scale_x")
    '("gdouble" "scale_y")
  )
)

(define-method set_scale_full
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_scale_full")
  (return-type "none")
  (parameters
    '("gdouble" "scale_x")
    '("gdouble" "scale_y")
    '("gfloat" "center_x")
    '("gfloat" "center_y")
  )
)

(define-method set_scale_with_gravity
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_scale_with_gravity")
  (return-type "none")
  (parameters
    '("gdouble" "scale_x")
    '("gdouble" "scale_y")
    '("ClutterGravity" "gravity")
  )
)

(define-method get_scale
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_scale")
  (return-type "none")
  (parameters
    '("gdouble*" "scale_x")
    '("gdouble*" "scale_y")
  )
)

(define-method get_scale_center
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_scale_center")
  (return-type "none")
  (parameters
    '("gfloat*" "center_x")
    '("gfloat*" "center_y")
  )
)

(define-method get_scale_gravity
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_scale_gravity")
  (return-type "ClutterGravity")
)

(define-method move_by
  (of-object "ClutterActor")
  (c-name "clutter_actor_move_by")
  (return-type "none")
  (parameters
    '("gfloat" "dx")
    '("gfloat" "dy")
  )
)

(define-method set_reactive
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_reactive")
  (return-type "none")
  (parameters
    '("gboolean" "reactive")
  )
)

(define-method get_reactive
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_reactive")
  (return-type "gboolean")
)

(define-method event
  (of-object "ClutterActor")
  (c-name "clutter_actor_event")
  (return-type "gboolean")
  (parameters
    '("ClutterEvent*" "event")
    '("gboolean" "capture")
  )
)

(define-function clutter_get_actor_by_gid
  (c-name "clutter_get_actor_by_gid")
  (return-type "ClutterActor*")
  (parameters
    '("guint32" "id")
  )
)

(define-method set_shader
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_shader")
  (return-type "gboolean")
  (parameters
    '("ClutterShader*" "shader")
  )
)

(define-method get_shader
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_shader")
  (return-type "ClutterShader*")
)

(define-method set_shader_param
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_shader_param")
  (return-type "none")
  (parameters
    '("const-gchar*" "param")
    '("const-GValue*" "value")
  )
)

(define-method set_shader_param_int
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_shader_param_int")
  (return-type "none")
  (parameters
    '("const-gchar*" "param")
    '("gint" "value")
  )
)

(define-method set_shader_param_float
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_shader_param_float")
  (return-type "none")
  (parameters
    '("const-gchar*" "param")
    '("gfloat" "value")
  )
)

(define-method set_anchor_point
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_anchor_point")
  (return-type "none")
  (parameters
    '("gfloat" "anchor_x")
    '("gfloat" "anchor_y")
  )
)

(define-method move_anchor_point
  (of-object "ClutterActor")
  (c-name "clutter_actor_move_anchor_point")
  (return-type "none")
  (parameters
    '("gfloat" "anchor_x")
    '("gfloat" "anchor_y")
  )
)

(define-method get_anchor_point
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_anchor_point")
  (return-type "none")
  (parameters
    '("gfloat*" "anchor_x")
    '("gfloat*" "anchor_y")
  )
)

(define-method get_anchor_point_gravity
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_anchor_point_gravity")
  (return-type "ClutterGravity")
)

(define-method set_anchor_point_from_gravity
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_anchor_point_from_gravity")
  (return-type "none")
  (parameters
    '("ClutterGravity" "gravity")
  )
)

(define-method move_anchor_point_from_gravity
  (of-object "ClutterActor")
  (c-name "clutter_actor_move_anchor_point_from_gravity")
  (return-type "none")
  (parameters
    '("ClutterGravity" "gravity")
  )
)

(define-method transform_stage_point
  (of-object "ClutterActor")
  (c-name "clutter_actor_transform_stage_point")
  (return-type "gboolean")
  (parameters
    '("gfloat" "x")
    '("gfloat" "y")
    '("gfloat*" "x_out")
    '("gfloat*" "y_out")
  )
)

(define-method is_rotated
  (of-object "ClutterActor")
  (c-name "clutter_actor_is_rotated")
  (return-type "gboolean")
)

(define-method is_scaled
  (of-object "ClutterActor")
  (c-name "clutter_actor_is_scaled")
  (return-type "gboolean")
)

(define-method should_pick_paint
  (of-object "ClutterActor")
  (c-name "clutter_actor_should_pick_paint")
  (return-type "gboolean")
)

(define-method get_abs_allocation_vertices
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_abs_allocation_vertices")
  (return-type "none")
  (parameters
    '("ClutterVertex[]" "verts")
  )
)

(define-method apply_transform_to_point
  (of-object "ClutterActor")
  (c-name "clutter_actor_apply_transform_to_point")
  (return-type "none")
  (parameters
    '("const-ClutterVertex*" "point")
    '("ClutterVertex*" "vertex")
  )
)

(define-method apply_relative_transform_to_point
  (of-object "ClutterActor")
  (c-name "clutter_actor_apply_relative_transform_to_point")
  (return-type "none")
  (parameters
    '("ClutterActor*" "ancestor")
    '("const-ClutterVertex*" "point")
    '("ClutterVertex*" "vertex")
  )
)

(define-method grab_key_focus
  (of-object "ClutterActor")
  (c-name "clutter_actor_grab_key_focus")
  (return-type "none")
)

(define-method get_pango_context
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_pango_context")
  (return-type "PangoContext*")
)

(define-method create_pango_context
  (of-object "ClutterActor")
  (c-name "clutter_actor_create_pango_context")
  (return-type "PangoContext*")
)

(define-method create_pango_layout
  (of-object "ClutterActor")
  (c-name "clutter_actor_create_pango_layout")
  (return-type "PangoLayout*")
  (parameters
    '("const-gchar*" "text")
  )
)

(define-method get_transformation_matrix
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_transformation_matrix")
  (return-type "none")
  (parameters
    '("CoglMatrix*" "matrix")
  )
)

(define-method is_in_clone_paint
  (of-object "ClutterActor")
  (c-name "clutter_actor_is_in_clone_paint")
  (return-type "gboolean")
)

(define-method has_pointer
  (of-object "ClutterActor")
  (c-name "clutter_actor_has_pointer")
  (return-type "gboolean")
)

(define-method set_text_direction
  (of-object "ClutterActor")
  (c-name "clutter_actor_set_text_direction")
  (return-type "none")
  (parameters
    '("ClutterTextDirection" "text_dir")
  )
)

(define-method get_text_direction
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_text_direction")
  (return-type "ClutterTextDirection")
)

(define-method push_internal
  (of-object "ClutterActor")
  (c-name "clutter_actor_push_internal")
  (return-type "none")
)

(define-method pop_internal
  (of-object "ClutterActor")
  (c-name "clutter_actor_pop_internal")
  (return-type "none")
)

(define-method has_allocation
  (of-object "ClutterActor")
  (c-name "clutter_actor_has_allocation")
  (return-type "gboolean")
)

(define-method get_accessible
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_accessible")
  (return-type "AtkObject*")
)



;; From clutter-actor-meta.h

(define-function clutter_actor_meta_get_type
  (c-name "clutter_actor_meta_get_type")
  (return-type "GType")
)

(define-method set_name
  (of-object "ClutterActorMeta")
  (c-name "clutter_actor_meta_set_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method get_name
  (of-object "ClutterActorMeta")
  (c-name "clutter_actor_meta_get_name")
  (return-type "const-gchar*")
)

(define-method set_enabled
  (of-object "ClutterActorMeta")
  (c-name "clutter_actor_meta_set_enabled")
  (return-type "none")
  (parameters
    '("gboolean" "is_enabled")
  )
)

(define-method get_enabled
  (of-object "ClutterActorMeta")
  (c-name "clutter_actor_meta_get_enabled")
  (return-type "gboolean")
)

(define-method get_actor
  (of-object "ClutterActorMeta")
  (c-name "clutter_actor_meta_get_actor")
  (return-type "ClutterActor*")
)



;; From clutter-align-constraint.h

(define-function clutter_align_constraint_get_type
  (c-name "clutter_align_constraint_get_type")
  (return-type "GType")
)

(define-function clutter_align_constraint_new
  (c-name "clutter_align_constraint_new")
  (is-constructor-of "ClutterAlignConstraint")
  (return-type "ClutterConstraint*")
  (parameters
    '("ClutterActor*" "source")
    '("ClutterAlignAxis" "axis")
    '("gfloat" "factor")
  )
)

(define-method set_source
  (of-object "ClutterAlignConstraint")
  (c-name "clutter_align_constraint_set_source")
  (return-type "none")
  (parameters
    '("ClutterActor*" "source")
  )
)

(define-method get_source
  (of-object "ClutterAlignConstraint")
  (c-name "clutter_align_constraint_get_source")
  (return-type "ClutterActor*")
)

(define-method set_align_axis
  (of-object "ClutterAlignConstraint")
  (c-name "clutter_align_constraint_set_align_axis")
  (return-type "none")
  (parameters
    '("ClutterAlignAxis" "axis")
  )
)

(define-method get_align_axis
  (of-object "ClutterAlignConstraint")
  (c-name "clutter_align_constraint_get_align_axis")
  (return-type "ClutterAlignAxis")
)

(define-method set_factor
  (of-object "ClutterAlignConstraint")
  (c-name "clutter_align_constraint_set_factor")
  (return-type "none")
  (parameters
    '("gfloat" "factor")
  )
)

(define-method get_factor
  (of-object "ClutterAlignConstraint")
  (c-name "clutter_align_constraint_get_factor")
  (return-type "gfloat")
)



;; From clutter-alpha.h

(define-function clutter_alpha_get_type
  (c-name "clutter_alpha_get_type")
  (return-type "GType")
)

(define-function clutter_alpha_new
  (c-name "clutter_alpha_new")
  (is-constructor-of "ClutterAlpha")
  (return-type "ClutterAlpha*")
)

(define-function clutter_alpha_new_full
  (c-name "clutter_alpha_new_full")
  (return-type "ClutterAlpha*")
  (parameters
    '("ClutterTimeline*" "timeline")
    '("gulong" "mode")
  )
)

(define-function clutter_alpha_new_with_func
  (c-name "clutter_alpha_new_with_func")
  (return-type "ClutterAlpha*")
  (parameters
    '("ClutterTimeline*" "timeline")
    '("ClutterAlphaFunc" "func")
    '("gpointer" "data")
    '("GDestroyNotify" "destroy")
  )
)

(define-method get_alpha
  (of-object "ClutterAlpha")
  (c-name "clutter_alpha_get_alpha")
  (return-type "gdouble")
)

(define-method set_func
  (of-object "ClutterAlpha")
  (c-name "clutter_alpha_set_func")
  (return-type "none")
  (parameters
    '("ClutterAlphaFunc" "func")
    '("gpointer" "data")
    '("GDestroyNotify" "destroy")
  )
)

(define-method set_closure
  (of-object "ClutterAlpha")
  (c-name "clutter_alpha_set_closure")
  (return-type "none")
  (parameters
    '("GClosure*" "closure")
  )
)

(define-method set_timeline
  (of-object "ClutterAlpha")
  (c-name "clutter_alpha_set_timeline")
  (return-type "none")
  (parameters
    '("ClutterTimeline*" "timeline")
  )
)

(define-method get_timeline
  (of-object "ClutterAlpha")
  (c-name "clutter_alpha_get_timeline")
  (return-type "ClutterTimeline*")
)

(define-method set_mode
  (of-object "ClutterAlpha")
  (c-name "clutter_alpha_set_mode")
  (return-type "none")
  (parameters
    '("gulong" "mode")
  )
)

(define-method get_mode
  (of-object "ClutterAlpha")
  (c-name "clutter_alpha_get_mode")
  (return-type "gulong")
)

(define-function clutter_alpha_register_func
  (c-name "clutter_alpha_register_func")
  (return-type "gulong")
  (parameters
    '("ClutterAlphaFunc" "func")
    '("gpointer" "data")
  )
)

(define-function clutter_alpha_register_closure
  (c-name "clutter_alpha_register_closure")
  (return-type "gulong")
  (parameters
    '("GClosure*" "closure")
  )
)



;; From clutter-animatable.h

(define-function clutter_animatable_get_type
  (c-name "clutter_animatable_get_type")
  (return-type "GType")
)

(define-method animate_property
  (of-object "ClutterAnimatable")
  (c-name "clutter_animatable_animate_property")
  (return-type "gboolean")
  (parameters
    '("ClutterAnimation*" "animation")
    '("const-gchar*" "property_name")
    '("const-GValue*" "initial_value")
    '("const-GValue*" "final_value")
    '("gdouble" "progress")
    '("GValue*" "value")
  )
)

(define-method find_property
  (of-object "ClutterAnimatable")
  (c-name "clutter_animatable_find_property")
  (return-type "GParamSpec*")
  (parameters
    '("const-gchar*" "property_name")
  )
)

(define-method get_initial_state
  (of-object "ClutterAnimatable")
  (c-name "clutter_animatable_get_initial_state")
  (return-type "none")
  (parameters
    '("const-gchar*" "property_name")
    '("GValue*" "value")
  )
)

(define-method set_final_state
  (of-object "ClutterAnimatable")
  (c-name "clutter_animatable_set_final_state")
  (return-type "none")
  (parameters
    '("const-gchar*" "property_name")
    '("const-GValue*" "value")
  )
)



;; From clutter-animation.h

(define-function clutter_animation_get_type
  (c-name "clutter_animation_get_type")
  (return-type "GType")
)

(define-function clutter_animation_new
  (c-name "clutter_animation_new")
  (is-constructor-of "ClutterAnimation")
  (return-type "ClutterAnimation*")
)

(define-method set_object
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_set_object")
  (return-type "none")
  (parameters
    '("GObject*" "object")
  )
)

(define-method get_object
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_get_object")
  (return-type "GObject*")
)

(define-method set_mode
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_set_mode")
  (return-type "none")
  (parameters
    '("gulong" "mode")
  )
)

(define-method get_mode
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_get_mode")
  (return-type "gulong")
)

(define-method set_duration
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_set_duration")
  (return-type "none")
  (parameters
    '("guint" "msecs")
  )
)

(define-method get_duration
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_get_duration")
  (return-type "guint")
)

(define-method set_loop
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_set_loop")
  (return-type "none")
  (parameters
    '("gboolean" "loop")
  )
)

(define-method get_loop
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_get_loop")
  (return-type "gboolean")
)

(define-method set_timeline
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_set_timeline")
  (return-type "none")
  (parameters
    '("ClutterTimeline*" "timeline")
  )
)

(define-method get_timeline
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_get_timeline")
  (return-type "ClutterTimeline*")
)

(define-method set_alpha
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_set_alpha")
  (return-type "none")
  (parameters
    '("ClutterAlpha*" "alpha")
  )
)

(define-method get_alpha
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_get_alpha")
  (return-type "ClutterAlpha*")
)

(define-method bind
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_bind")
  (return-type "ClutterAnimation*")
  (parameters
    '("const-gchar*" "property_name")
    '("const-GValue*" "final")
  )
)

(define-method bind_interval
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_bind_interval")
  (return-type "ClutterAnimation*")
  (parameters
    '("const-gchar*" "property_name")
    '("ClutterInterval*" "interval")
  )
)

(define-method has_property
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_has_property")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "property_name")
  )
)

(define-method update
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_update")
  (return-type "ClutterAnimation*")
  (parameters
    '("const-gchar*" "property_name")
    '("const-GValue*" "final")
  )
)

(define-method update_interval
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_update_interval")
  (return-type "none")
  (parameters
    '("const-gchar*" "property_name")
    '("ClutterInterval*" "interval")
  )
)

(define-method unbind_property
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_unbind_property")
  (return-type "none")
  (parameters
    '("const-gchar*" "property_name")
  )
)

(define-method get_interval
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_get_interval")
  (return-type "ClutterInterval*")
  (parameters
    '("const-gchar*" "property_name")
  )
)

(define-method completed
  (of-object "ClutterAnimation")
  (c-name "clutter_animation_completed")
  (return-type "none")
)

(define-method animate
  (of-object "ClutterActor")
  (c-name "clutter_actor_animate")
  (return-type "ClutterAnimation*")
  (parameters
    '("gulong" "mode")
    '("guint" "duration")
    '("const-gchar*" "first_property_name")
  )
  (varargs #t)
)

(define-method animate_with_timeline
  (of-object "ClutterActor")
  (c-name "clutter_actor_animate_with_timeline")
  (return-type "ClutterAnimation*")
  (parameters
    '("gulong" "mode")
    '("ClutterTimeline*" "timeline")
    '("const-gchar*" "first_property_name")
  )
  (varargs #t)
)

(define-method animate_with_alpha
  (of-object "ClutterActor")
  (c-name "clutter_actor_animate_with_alpha")
  (return-type "ClutterAnimation*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("const-gchar*" "first_property_name")
  )
  (varargs #t)
)

(define-method animatev
  (of-object "ClutterActor")
  (c-name "clutter_actor_animatev")
  (return-type "ClutterAnimation*")
  (parameters
    '("gulong" "mode")
    '("guint" "duration")
    '("gint" "n_properties")
    '("const-gchar*-const[]" "properties")
    '("const-GValue*" "values")
  )
)

(define-method animate_with_timelinev
  (of-object "ClutterActor")
  (c-name "clutter_actor_animate_with_timelinev")
  (return-type "ClutterAnimation*")
  (parameters
    '("gulong" "mode")
    '("ClutterTimeline*" "timeline")
    '("gint" "n_properties")
    '("const-gchar*-const[]" "properties")
    '("const-GValue*" "values")
  )
)

(define-method animate_with_alphav
  (of-object "ClutterActor")
  (c-name "clutter_actor_animate_with_alphav")
  (return-type "ClutterAnimation*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("gint" "n_properties")
    '("const-gchar*-const[]" "properties")
    '("const-GValue*" "values")
  )
)

(define-method get_animation
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_animation")
  (return-type "ClutterAnimation*")
)



;; From clutter-animator.h

(define-function clutter_animator_get_type
  (c-name "clutter_animator_get_type")
  (return-type "GType")
)

(define-function clutter_animator_new
  (c-name "clutter_animator_new")
  (is-constructor-of "ClutterAnimator")
  (return-type "ClutterAnimator*")
)

(define-method set_key
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_set_key")
  (return-type "ClutterAnimator*")
  (parameters
    '("GObject*" "object")
    '("const-gchar*" "property_name")
    '("guint" "mode")
    '("gdouble" "progress")
    '("const-GValue*" "value")
  )
)

(define-method set
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_set")
  (return-type "none")
  (parameters
    '("gpointer" "first_object")
    '("const-gchar*" "first_property_name")
    '("guint" "first_mode")
    '("gdouble" "first_progress")
  )
  (varargs #t)
)

(define-method get_keys
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_get_keys")
  (return-type "GList*")
  (parameters
    '("GObject*" "object")
    '("const-gchar*" "property_name")
    '("gdouble" "progress")
  )
)

(define-method remove_key
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_remove_key")
  (return-type "none")
  (parameters
    '("GObject*" "object")
    '("const-gchar*" "property_name")
    '("gdouble" "progress")
  )
)

(define-method start
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_start")
  (return-type "ClutterTimeline*")
)

(define-method compute_value
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_compute_value")
  (return-type "gboolean")
  (parameters
    '("GObject*" "object")
    '("const-gchar*" "property_name")
    '("gdouble" "progress")
    '("GValue*" "value")
  )
)

(define-method get_timeline
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_get_timeline")
  (return-type "ClutterTimeline*")
)

(define-method set_timeline
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_set_timeline")
  (return-type "none")
  (parameters
    '("ClutterTimeline*" "timeline")
  )
)

(define-method get_duration
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_get_duration")
  (return-type "guint")
)

(define-method set_duration
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_set_duration")
  (return-type "none")
  (parameters
    '("guint" "duration")
  )
)

(define-method property_get_ease_in
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_property_get_ease_in")
  (return-type "gboolean")
  (parameters
    '("GObject*" "object")
    '("const-gchar*" "property_name")
  )
)

(define-method property_set_ease_in
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_property_set_ease_in")
  (return-type "none")
  (parameters
    '("GObject*" "object")
    '("const-gchar*" "property_name")
    '("gboolean" "ease_in")
  )
)

(define-method property_get_interpolation
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_property_get_interpolation")
  (return-type "ClutterInterpolation")
  (parameters
    '("GObject*" "object")
    '("const-gchar*" "property_name")
  )
)

(define-method property_set_interpolation
  (of-object "ClutterAnimator")
  (c-name "clutter_animator_property_set_interpolation")
  (return-type "none")
  (parameters
    '("GObject*" "object")
    '("const-gchar*" "property_name")
    '("ClutterInterpolation" "interpolation")
  )
)

(define-function clutter_animator_key_get_type
  (c-name "clutter_animator_key_get_type")
  (return-type "GType")
)

(define-method get_object
  (of-object "ClutterAnimatorKey")
  (c-name "clutter_animator_key_get_object")
  (return-type "GObject*")
)

(define-method get_property_name
  (of-object "ClutterAnimatorKey")
  (c-name "clutter_animator_key_get_property_name")
  (return-type "const-gchar*")
)

(define-method get_property_type
  (of-object "ClutterAnimatorKey")
  (c-name "clutter_animator_key_get_property_type")
  (return-type "GType")
)

(define-method get_mode
  (of-object "ClutterAnimatorKey")
  (c-name "clutter_animator_key_get_mode")
  (return-type "gulong")
)

(define-method get_progress
  (of-object "ClutterAnimatorKey")
  (c-name "clutter_animator_key_get_progress")
  (return-type "gdouble")
)

(define-method get_value
  (of-object "ClutterAnimatorKey")
  (c-name "clutter_animator_key_get_value")
  (return-type "gboolean")
  (parameters
    '("GValue*" "value")
  )
)



;; From clutter-backend.h

(define-function clutter_backend_get_type
  (c-name "clutter_backend_get_type")
  (return-type "GType")
)

(define-function clutter_get_default_backend
  (c-name "clutter_get_default_backend")
  (return-type "ClutterBackend*")
)

(define-method set_resolution
  (of-object "ClutterBackend")
  (c-name "clutter_backend_set_resolution")
  (return-type "none")
  (parameters
    '("gdouble" "dpi")
  )
)

(define-method set_double_click_time
  (of-object "ClutterBackend")
  (c-name "clutter_backend_set_double_click_time")
  (return-type "none")
  (parameters
    '("guint" "msec")
  )
)

(define-method get_double_click_time
  (of-object "ClutterBackend")
  (c-name "clutter_backend_get_double_click_time")
  (return-type "guint")
)

(define-method set_double_click_distance
  (of-object "ClutterBackend")
  (c-name "clutter_backend_set_double_click_distance")
  (return-type "none")
  (parameters
    '("guint" "distance")
  )
)

(define-method get_double_click_distance
  (of-object "ClutterBackend")
  (c-name "clutter_backend_get_double_click_distance")
  (return-type "guint")
)

(define-method set_font_name
  (of-object "ClutterBackend")
  (c-name "clutter_backend_set_font_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "font_name")
  )
)

(define-method get_font_name
  (of-object "ClutterBackend")
  (c-name "clutter_backend_get_font_name")
  (return-type "const-gchar*")
)

(define-method get_resolution
  (of-object "ClutterBackend")
  (c-name "clutter_backend_get_resolution")
  (return-type "gdouble")
)

(define-method set_font_options
  (of-object "ClutterBackend")
  (c-name "clutter_backend_set_font_options")
  (return-type "none")
  (parameters
    '("const-cairo_font_options_t*" "options")
  )
)

(define-method get_font_options
  (of-object "ClutterBackend")
  (c-name "clutter_backend_get_font_options")
  (return-type "const-cairo_font_options_t*")
)



;; From clutter-behaviour-depth.h

(define-function clutter_behaviour_depth_get_type
  (c-name "clutter_behaviour_depth_get_type")
  (return-type "GType")
)

(define-function clutter_behaviour_depth_new
  (c-name "clutter_behaviour_depth_new")
  (is-constructor-of "ClutterBehaviourDepth")
  (return-type "ClutterBehaviour*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("gint" "depth_start")
    '("gint" "depth_end")
  )
)

(define-method set_bounds
  (of-object "ClutterBehaviourDepth")
  (c-name "clutter_behaviour_depth_set_bounds")
  (return-type "none")
  (parameters
    '("gint" "depth_start")
    '("gint" "depth_end")
  )
)

(define-method get_bounds
  (of-object "ClutterBehaviourDepth")
  (c-name "clutter_behaviour_depth_get_bounds")
  (return-type "none")
  (parameters
    '("gint*" "depth_start")
    '("gint*" "depth_end")
  )
)



;; From clutter-behaviour-ellipse.h

(define-function clutter_behaviour_ellipse_get_type
  (c-name "clutter_behaviour_ellipse_get_type")
  (return-type "GType")
)

(define-function clutter_behaviour_ellipse_new
  (c-name "clutter_behaviour_ellipse_new")
  (is-constructor-of "ClutterBehaviourEllipse")
  (return-type "ClutterBehaviour*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("gint" "x")
    '("gint" "y")
    '("gint" "width")
    '("gint" "height")
    '("ClutterRotateDirection" "direction")
    '("gdouble" "start")
    '("gdouble" "end")
  )
)

(define-method set_center
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_set_center")
  (return-type "none")
  (parameters
    '("gint" "x")
    '("gint" "y")
  )
)

(define-method get_center
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_get_center")
  (return-type "none")
  (parameters
    '("gint*" "x")
    '("gint*" "y")
  )
)

(define-method set_width
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_set_width")
  (return-type "none")
  (parameters
    '("gint" "width")
  )
)

(define-method get_width
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_get_width")
  (return-type "gint")
)

(define-method set_height
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_set_height")
  (return-type "none")
  (parameters
    '("gint" "height")
  )
)

(define-method get_height
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_get_height")
  (return-type "gint")
)

(define-method set_angle_start
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_set_angle_start")
  (return-type "none")
  (parameters
    '("gdouble" "angle_start")
  )
)

(define-method get_angle_start
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_get_angle_start")
  (return-type "gdouble")
)

(define-method set_angle_end
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_set_angle_end")
  (return-type "none")
  (parameters
    '("gdouble" "angle_end")
  )
)

(define-method get_angle_end
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_get_angle_end")
  (return-type "gdouble")
)

(define-method set_angle_tilt
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_set_angle_tilt")
  (return-type "none")
  (parameters
    '("ClutterRotateAxis" "axis")
    '("gdouble" "angle_tilt")
  )
)

(define-method get_angle_tilt
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_get_angle_tilt")
  (return-type "gdouble")
  (parameters
    '("ClutterRotateAxis" "axis")
  )
)

(define-method set_tilt
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_set_tilt")
  (return-type "none")
  (parameters
    '("gdouble" "angle_tilt_x")
    '("gdouble" "angle_tilt_y")
    '("gdouble" "angle_tilt_z")
  )
)

(define-method get_tilt
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_get_tilt")
  (return-type "none")
  (parameters
    '("gdouble*" "angle_tilt_x")
    '("gdouble*" "angle_tilt_y")
    '("gdouble*" "angle_tilt_z")
  )
)

(define-method get_direction
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_get_direction")
  (return-type "ClutterRotateDirection")
)

(define-method set_direction
  (of-object "ClutterBehaviourEllipse")
  (c-name "clutter_behaviour_ellipse_set_direction")
  (return-type "none")
  (parameters
    '("ClutterRotateDirection" "direction")
  )
)



;; From clutter-behaviour.h

(define-function clutter_behaviour_get_type
  (c-name "clutter_behaviour_get_type")
  (return-type "GType")
)

(define-method apply
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_apply")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method remove
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_remove")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method remove_all
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_remove_all")
  (return-type "none")
)

(define-method actors_foreach
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_actors_foreach")
  (return-type "none")
  (parameters
    '("ClutterBehaviourForeachFunc" "func")
    '("gpointer" "data")
  )
)

(define-method get_n_actors
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_get_n_actors")
  (return-type "gint")
)

(define-method get_nth_actor
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_get_nth_actor")
  (return-type "ClutterActor*")
  (parameters
    '("gint" "index_")
  )
)

(define-method get_actors
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_get_actors")
  (return-type "GSList*")
)

(define-method get_alpha
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_get_alpha")
  (return-type "ClutterAlpha*")
)

(define-method set_alpha
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_set_alpha")
  (return-type "none")
  (parameters
    '("ClutterAlpha*" "alpha")
  )
)

(define-method is_applied
  (of-object "ClutterBehaviour")
  (c-name "clutter_behaviour_is_applied")
  (return-type "gboolean")
  (parameters
    '("ClutterActor*" "actor")
  )
)



;; From clutter-behaviour-opacity.h

(define-function clutter_behaviour_opacity_get_type
  (c-name "clutter_behaviour_opacity_get_type")
  (return-type "GType")
)

(define-function clutter_behaviour_opacity_new
  (c-name "clutter_behaviour_opacity_new")
  (is-constructor-of "ClutterBehaviourOpacity")
  (return-type "ClutterBehaviour*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("guint8" "opacity_start")
    '("guint8" "opacity_end")
  )
)

(define-method set_bounds
  (of-object "ClutterBehaviourOpacity")
  (c-name "clutter_behaviour_opacity_set_bounds")
  (return-type "none")
  (parameters
    '("guint8" "opacity_start")
    '("guint8" "opacity_end")
  )
)

(define-method get_bounds
  (of-object "ClutterBehaviourOpacity")
  (c-name "clutter_behaviour_opacity_get_bounds")
  (return-type "none")
  (parameters
    '("guint8*" "opacity_start")
    '("guint8*" "opacity_end")
  )
)



;; From clutter-behaviour-path.h

(define-function clutter_behaviour_path_get_type
  (c-name "clutter_behaviour_path_get_type")
  (return-type "GType")
)

(define-function clutter_behaviour_path_new
  (c-name "clutter_behaviour_path_new")
  (is-constructor-of "ClutterBehaviourPath")
  (return-type "ClutterBehaviour*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("ClutterPath*" "path")
  )
)

(define-function clutter_behaviour_path_new_with_description
  (c-name "clutter_behaviour_path_new_with_description")
  (return-type "ClutterBehaviour*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("const-gchar*" "desc")
  )
)

(define-function clutter_behaviour_path_new_with_knots
  (c-name "clutter_behaviour_path_new_with_knots")
  (return-type "ClutterBehaviour*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("const-ClutterKnot*" "knots")
    '("guint" "n_knots")
  )
)

(define-method set_path
  (of-object "ClutterBehaviourPath")
  (c-name "clutter_behaviour_path_set_path")
  (return-type "none")
  (parameters
    '("ClutterPath*" "path")
  )
)

(define-method get_path
  (of-object "ClutterBehaviourPath")
  (c-name "clutter_behaviour_path_get_path")
  (return-type "ClutterPath*")
)



;; From clutter-behaviour-rotate.h

(define-function clutter_behaviour_rotate_get_type
  (c-name "clutter_behaviour_rotate_get_type")
  (return-type "GType")
)

(define-function clutter_behaviour_rotate_new
  (c-name "clutter_behaviour_rotate_new")
  (is-constructor-of "ClutterBehaviourRotate")
  (return-type "ClutterBehaviour*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("ClutterRotateAxis" "axis")
    '("ClutterRotateDirection" "direction")
    '("gdouble" "angle_start")
    '("gdouble" "angle_end")
  )
)

(define-method get_center
  (of-object "ClutterBehaviourRotate")
  (c-name "clutter_behaviour_rotate_get_center")
  (return-type "none")
  (parameters
    '("gint*" "x")
    '("gint*" "y")
    '("gint*" "z")
  )
)

(define-method set_center
  (of-object "ClutterBehaviourRotate")
  (c-name "clutter_behaviour_rotate_set_center")
  (return-type "none")
  (parameters
    '("gint" "x")
    '("gint" "y")
    '("gint" "z")
  )
)

(define-method get_axis
  (of-object "ClutterBehaviourRotate")
  (c-name "clutter_behaviour_rotate_get_axis")
  (return-type "ClutterRotateAxis")
)

(define-method set_axis
  (of-object "ClutterBehaviourRotate")
  (c-name "clutter_behaviour_rotate_set_axis")
  (return-type "none")
  (parameters
    '("ClutterRotateAxis" "axis")
  )
)

(define-method get_direction
  (of-object "ClutterBehaviourRotate")
  (c-name "clutter_behaviour_rotate_get_direction")
  (return-type "ClutterRotateDirection")
)

(define-method set_direction
  (of-object "ClutterBehaviourRotate")
  (c-name "clutter_behaviour_rotate_set_direction")
  (return-type "none")
  (parameters
    '("ClutterRotateDirection" "direction")
  )
)

(define-method get_bounds
  (of-object "ClutterBehaviourRotate")
  (c-name "clutter_behaviour_rotate_get_bounds")
  (return-type "none")
  (parameters
    '("gdouble*" "angle_start")
    '("gdouble*" "angle_end")
  )
)

(define-method set_bounds
  (of-object "ClutterBehaviourRotate")
  (c-name "clutter_behaviour_rotate_set_bounds")
  (return-type "none")
  (parameters
    '("gdouble" "angle_start")
    '("gdouble" "angle_end")
  )
)



;; From clutter-behaviour-scale.h

(define-function clutter_behaviour_scale_get_type
  (c-name "clutter_behaviour_scale_get_type")
  (return-type "GType")
)

(define-function clutter_behaviour_scale_new
  (c-name "clutter_behaviour_scale_new")
  (is-constructor-of "ClutterBehaviourScale")
  (return-type "ClutterBehaviour*")
  (parameters
    '("ClutterAlpha*" "alpha")
    '("gdouble" "x_scale_start")
    '("gdouble" "y_scale_start")
    '("gdouble" "x_scale_end")
    '("gdouble" "y_scale_end")
  )
)

(define-method set_bounds
  (of-object "ClutterBehaviourScale")
  (c-name "clutter_behaviour_scale_set_bounds")
  (return-type "none")
  (parameters
    '("gdouble" "x_scale_start")
    '("gdouble" "y_scale_start")
    '("gdouble" "x_scale_end")
    '("gdouble" "y_scale_end")
  )
)

(define-method get_bounds
  (of-object "ClutterBehaviourScale")
  (c-name "clutter_behaviour_scale_get_bounds")
  (return-type "none")
  (parameters
    '("gdouble*" "x_scale_start")
    '("gdouble*" "y_scale_start")
    '("gdouble*" "x_scale_end")
    '("gdouble*" "y_scale_end")
  )
)



;; From clutter-bind-constraint.h

(define-function clutter_bind_constraint_get_type
  (c-name "clutter_bind_constraint_get_type")
  (return-type "GType")
)

(define-function clutter_bind_constraint_new
  (c-name "clutter_bind_constraint_new")
  (is-constructor-of "ClutterBindConstraint")
  (return-type "ClutterConstraint*")
  (parameters
    '("ClutterActor*" "source")
    '("ClutterBindCoordinate" "coordinate")
    '("gfloat" "offset")
  )
)

(define-method set_source
  (of-object "ClutterBindConstraint")
  (c-name "clutter_bind_constraint_set_source")
  (return-type "none")
  (parameters
    '("ClutterActor*" "source")
  )
)

(define-method get_source
  (of-object "ClutterBindConstraint")
  (c-name "clutter_bind_constraint_get_source")
  (return-type "ClutterActor*")
)

(define-method set_coordinate
  (of-object "ClutterBindConstraint")
  (c-name "clutter_bind_constraint_set_coordinate")
  (return-type "none")
  (parameters
    '("ClutterBindCoordinate" "coordinate")
  )
)

(define-method get_coordinate
  (of-object "ClutterBindConstraint")
  (c-name "clutter_bind_constraint_get_coordinate")
  (return-type "ClutterBindCoordinate")
)

(define-method set_offset
  (of-object "ClutterBindConstraint")
  (c-name "clutter_bind_constraint_set_offset")
  (return-type "none")
  (parameters
    '("gfloat" "offset")
  )
)

(define-method get_offset
  (of-object "ClutterBindConstraint")
  (c-name "clutter_bind_constraint_get_offset")
  (return-type "gfloat")
)



;; From clutter-binding-pool.h

(define-function clutter_binding_pool_get_type
  (c-name "clutter_binding_pool_get_type")
  (return-type "GType")
)

(define-function clutter_binding_pool_new
  (c-name "clutter_binding_pool_new")
  (is-constructor-of "ClutterBindingPool")
  (return-type "ClutterBindingPool*")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-function clutter_binding_pool_get_for_class
  (c-name "clutter_binding_pool_get_for_class")
  (return-type "ClutterBindingPool*")
  (parameters
    '("gpointer" "klass")
  )
)

(define-function clutter_binding_pool_find
  (c-name "clutter_binding_pool_find")
  (return-type "ClutterBindingPool*")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method install_action
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_install_action")
  (return-type "none")
  (parameters
    '("const-gchar*" "action_name")
    '("guint" "key_val")
    '("ClutterModifierType" "modifiers")
    '("GCallback" "callback")
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)

(define-method install_closure
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_install_closure")
  (return-type "none")
  (parameters
    '("const-gchar*" "action_name")
    '("guint" "key_val")
    '("ClutterModifierType" "modifiers")
    '("GClosure*" "closure")
  )
)

(define-method override_action
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_override_action")
  (return-type "none")
  (parameters
    '("guint" "key_val")
    '("ClutterModifierType" "modifiers")
    '("GCallback" "callback")
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)

(define-method override_closure
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_override_closure")
  (return-type "none")
  (parameters
    '("guint" "key_val")
    '("ClutterModifierType" "modifiers")
    '("GClosure*" "closure")
  )
)

(define-method find_action
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_find_action")
  (return-type "const-gchar*")
  (parameters
    '("guint" "key_val")
    '("ClutterModifierType" "modifiers")
  )
)

(define-method remove_action
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_remove_action")
  (return-type "none")
  (parameters
    '("guint" "key_val")
    '("ClutterModifierType" "modifiers")
  )
)

(define-method activate
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_activate")
  (return-type "gboolean")
  (parameters
    '("guint" "key_val")
    '("ClutterModifierType" "modifiers")
    '("GObject*" "gobject")
  )
)

(define-method block_action
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_block_action")
  (return-type "none")
  (parameters
    '("const-gchar*" "action_name")
  )
)

(define-method unblock_action
  (of-object "ClutterBindingPool")
  (c-name "clutter_binding_pool_unblock_action")
  (return-type "none")
  (parameters
    '("const-gchar*" "action_name")
  )
)



;; From clutter-bin-layout.h

(define-function clutter_bin_layout_get_type
  (c-name "clutter_bin_layout_get_type")
  (return-type "GType")
)

(define-function clutter_bin_layout_new
  (c-name "clutter_bin_layout_new")
  (is-constructor-of "ClutterBinLayout")
  (return-type "ClutterLayoutManager*")
  (parameters
    '("ClutterBinAlignment" "x_align")
    '("ClutterBinAlignment" "y_align")
  )
)

(define-method set_alignment
  (of-object "ClutterBinLayout")
  (c-name "clutter_bin_layout_set_alignment")
  (return-type "none")
  (parameters
    '("ClutterActor*" "child")
    '("ClutterBinAlignment" "x_align")
    '("ClutterBinAlignment" "y_align")
  )
)

(define-method get_alignment
  (of-object "ClutterBinLayout")
  (c-name "clutter_bin_layout_get_alignment")
  (return-type "none")
  (parameters
    '("ClutterActor*" "child")
    '("ClutterBinAlignment*" "x_align")
    '("ClutterBinAlignment*" "y_align")
  )
)

(define-method add
  (of-object "ClutterBinLayout")
  (c-name "clutter_bin_layout_add")
  (return-type "none")
  (parameters
    '("ClutterActor*" "child")
    '("ClutterBinAlignment" "x_align")
    '("ClutterBinAlignment" "y_align")
  )
)



;; From clutter-blur-effect.h

(define-function clutter_blur_effect_get_type
  (c-name "clutter_blur_effect_get_type")
  (return-type "GType")
)

(define-function clutter_blur_effect_new
  (c-name "clutter_blur_effect_new")
  (is-constructor-of "ClutterBlurEffect")
  (return-type "ClutterEffect*")
)



;; From clutter-box.h

(define-function clutter_box_get_type
  (c-name "clutter_box_get_type")
  (return-type "GType")
)

(define-function clutter_box_new
  (c-name "clutter_box_new")
  (is-constructor-of "ClutterBox")
  (return-type "ClutterActor*")
  (parameters
    '("ClutterLayoutManager*" "manager")
  )
)

(define-method set_layout_manager
  (of-object "ClutterBox")
  (c-name "clutter_box_set_layout_manager")
  (return-type "none")
  (parameters
    '("ClutterLayoutManager*" "manager")
  )
)

(define-method get_layout_manager
  (of-object "ClutterBox")
  (c-name "clutter_box_get_layout_manager")
  (return-type "ClutterLayoutManager*")
)

(define-method set_color
  (of-object "ClutterBox")
  (c-name "clutter_box_set_color")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "color")
  )
)

(define-method get_color
  (of-object "ClutterBox")
  (c-name "clutter_box_get_color")
  (return-type "none")
  (parameters
    '("ClutterColor*" "color")
  )
)

(define-method pack
  (of-object "ClutterBox")
  (c-name "clutter_box_pack")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("const-gchar*" "first_property")
  )
  (varargs #t)
)

(define-method packv
  (of-object "ClutterBox")
  (c-name "clutter_box_packv")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("guint" "n_properties")
    '("const-gchar*-const[]" "properties")
    '("const-GValue*" "values")
  )
)

(define-method pack_after
  (of-object "ClutterBox")
  (c-name "clutter_box_pack_after")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("ClutterActor*" "sibling")
    '("const-gchar*" "first_property")
  )
  (varargs #t)
)

(define-method pack_before
  (of-object "ClutterBox")
  (c-name "clutter_box_pack_before")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("ClutterActor*" "sibling")
    '("const-gchar*" "first_property")
  )
  (varargs #t)
)

(define-method pack_at
  (of-object "ClutterBox")
  (c-name "clutter_box_pack_at")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("gint" "position")
    '("const-gchar*" "first_property")
  )
  (varargs #t)
)



;; From clutter-box-layout.h

(define-function clutter_box_layout_get_type
  (c-name "clutter_box_layout_get_type")
  (return-type "GType")
)

(define-function clutter_box_layout_new
  (c-name "clutter_box_layout_new")
  (is-constructor-of "ClutterBoxLayout")
  (return-type "ClutterLayoutManager*")
)

(define-method set_spacing
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_spacing")
  (return-type "none")
  (parameters
    '("guint" "spacing")
  )
)

(define-method get_spacing
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_spacing")
  (return-type "guint")
)

(define-method set_vertical
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_vertical")
  (return-type "none")
  (parameters
    '("gboolean" "vertical")
  )
)

(define-method get_vertical
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_vertical")
  (return-type "gboolean")
)

(define-method set_homogeneous
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_homogeneous")
  (return-type "none")
  (parameters
    '("gboolean" "homogeneous")
  )
)

(define-method get_homogeneous
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_homogeneous")
  (return-type "gboolean")
)

(define-method set_pack_start
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_pack_start")
  (return-type "none")
  (parameters
    '("gboolean" "pack_start")
  )
)

(define-method get_pack_start
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_pack_start")
  (return-type "gboolean")
)

(define-method pack
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_pack")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("gboolean" "expand")
    '("gboolean" "x_fill")
    '("gboolean" "y_fill")
    '("ClutterBoxAlignment" "x_align")
    '("ClutterBoxAlignment" "y_align")
  )
)

(define-method set_alignment
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_alignment")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("ClutterBoxAlignment" "x_align")
    '("ClutterBoxAlignment" "y_align")
  )
)

(define-method get_alignment
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_alignment")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("ClutterBoxAlignment*" "x_align")
    '("ClutterBoxAlignment*" "y_align")
  )
)

(define-method set_fill
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_fill")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("gboolean" "x_fill")
    '("gboolean" "y_fill")
  )
)

(define-method get_fill
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_fill")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("gboolean*" "x_fill")
    '("gboolean*" "y_fill")
  )
)

(define-method set_expand
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_expand")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("gboolean" "expand")
  )
)

(define-method get_expand
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_expand")
  (return-type "gboolean")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method set_use_animations
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_use_animations")
  (return-type "none")
  (parameters
    '("gboolean" "animate")
  )
)

(define-method get_use_animations
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_use_animations")
  (return-type "gboolean")
)

(define-method set_easing_mode
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_easing_mode")
  (return-type "none")
  (parameters
    '("gulong" "mode")
  )
)

(define-method get_easing_mode
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_easing_mode")
  (return-type "gulong")
)

(define-method set_easing_duration
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_set_easing_duration")
  (return-type "none")
  (parameters
    '("guint" "msecs")
  )
)

(define-method get_easing_duration
  (of-object "ClutterBoxLayout")
  (c-name "clutter_box_layout_get_easing_duration")
  (return-type "guint")
)



;; From clutter-cairo-texture.h

(define-function clutter_cairo_texture_get_type
  (c-name "clutter_cairo_texture_get_type")
  (return-type "GType")
)

(define-function clutter_cairo_texture_new
  (c-name "clutter_cairo_texture_new")
  (is-constructor-of "ClutterCairoTexture")
  (return-type "ClutterActor*")
  (parameters
    '("guint" "width")
    '("guint" "height")
  )
)

(define-method create_region
  (of-object "ClutterCairoTexture")
  (c-name "clutter_cairo_texture_create_region")
  (return-type "cairo_t*")
  (parameters
    '("gint" "x_offset")
    '("gint" "y_offset")
    '("gint" "width")
    '("gint" "height")
  )
)

(define-method create
  (of-object "ClutterCairoTexture")
  (c-name "clutter_cairo_texture_create")
  (return-type "cairo_t*")
)

(define-method set_surface_size
  (of-object "ClutterCairoTexture")
  (c-name "clutter_cairo_texture_set_surface_size")
  (return-type "none")
  (parameters
    '("guint" "width")
    '("guint" "height")
  )
)

(define-method get_surface_size
  (of-object "ClutterCairoTexture")
  (c-name "clutter_cairo_texture_get_surface_size")
  (return-type "none")
  (parameters
    '("guint*" "width")
    '("guint*" "height")
  )
)

(define-method clear
  (of-object "ClutterCairoTexture")
  (c-name "clutter_cairo_texture_clear")
  (return-type "none")
)

(define-function clutter_cairo_set_source_color
  (c-name "clutter_cairo_set_source_color")
  (return-type "none")
  (parameters
    '("cairo_t*" "cr")
    '("const-ClutterColor*" "color")
  )
)



;; From clutter-child-meta.h

(define-function clutter_child_meta_get_type
  (c-name "clutter_child_meta_get_type")
  (return-type "GType")
)

(define-method get_container
  (of-object "ClutterChildMeta")
  (c-name "clutter_child_meta_get_container")
  (return-type "ClutterContainer*")
)

(define-method get_actor
  (of-object "ClutterChildMeta")
  (c-name "clutter_child_meta_get_actor")
  (return-type "ClutterActor*")
)



;; From clutter-click-action.h

(define-function clutter_click_action_get_type
  (c-name "clutter_click_action_get_type")
  (return-type "GType")
)

(define-function clutter_click_action_new
  (c-name "clutter_click_action_new")
  (is-constructor-of "ClutterClickAction")
  (return-type "ClutterAction*")
)



;; From clutter-clone.h

(define-function clutter_clone_get_type
  (c-name "clutter_clone_get_type")
  (return-type "GType")
)

(define-function clutter_clone_new
  (c-name "clutter_clone_new")
  (is-constructor-of "ClutterClone")
  (return-type "ClutterActor*")
  (parameters
    '("ClutterActor*" "source")
  )
)

(define-method set_source
  (of-object "ClutterClone")
  (c-name "clutter_clone_set_source")
  (return-type "none")
  (parameters
    '("ClutterActor*" "source")
  )
)

(define-method get_source
  (of-object "ClutterClone")
  (c-name "clutter_clone_get_source")
  (return-type "ClutterActor*")
)



;; From clutter-color.h

(define-function clutter_color_get_type
  (c-name "clutter_color_get_type")
  (return-type "GType")
)

(define-function clutter_color_new
  (c-name "clutter_color_new")
  (is-constructor-of "ClutterColor")
  (return-type "ClutterColor*")
  (parameters
    '("guint8" "red")
    '("guint8" "green")
    '("guint8" "blue")
    '("guint8" "alpha")
  )
)

(define-method copy
  (of-object "ClutterColor")
  (c-name "clutter_color_copy")
  (return-type "ClutterColor*")
)

(define-method free
  (of-object "ClutterColor")
  (c-name "clutter_color_free")
  (return-type "none")
)

(define-method add
  (of-object "ClutterColor")
  (c-name "clutter_color_add")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "b")
    '("ClutterColor*" "result")
  )
)

(define-method subtract
  (of-object "ClutterColor")
  (c-name "clutter_color_subtract")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "b")
    '("ClutterColor*" "result")
  )
)

(define-method lighten
  (of-object "ClutterColor")
  (c-name "clutter_color_lighten")
  (return-type "none")
  (parameters
    '("ClutterColor*" "result")
  )
)

(define-method darken
  (of-object "ClutterColor")
  (c-name "clutter_color_darken")
  (return-type "none")
  (parameters
    '("ClutterColor*" "result")
  )
)

(define-method shade
  (of-object "ClutterColor")
  (c-name "clutter_color_shade")
  (return-type "none")
  (parameters
    '("gdouble" "factor")
    '("ClutterColor*" "result")
  )
)

(define-method to_string
  (of-object "ClutterColor")
  (c-name "clutter_color_to_string")
  (return-type "gchar*")
)

(define-method from_string
  (of-object "ClutterColor")
  (c-name "clutter_color_from_string")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method to_hls
  (of-object "ClutterColor")
  (c-name "clutter_color_to_hls")
  (return-type "none")
  (parameters
    '("gfloat*" "hue")
    '("gfloat*" "luminance")
    '("gfloat*" "saturation")
  )
)

(define-method from_hls
  (of-object "ClutterColor")
  (c-name "clutter_color_from_hls")
  (return-type "none")
  (parameters
    '("gfloat" "hue")
    '("gfloat" "luminance")
    '("gfloat" "saturation")
  )
)

(define-method to_pixel
  (of-object "ClutterColor")
  (c-name "clutter_color_to_pixel")
  (return-type "guint32")
)

(define-method from_pixel
  (of-object "ClutterColor")
  (c-name "clutter_color_from_pixel")
  (return-type "none")
  (parameters
    '("guint32" "pixel")
  )
)

(define-function clutter_color_hash
  (c-name "clutter_color_hash")
  (return-type "guint")
  (parameters
    '("gconstpointer" "v")
  )
)

(define-function clutter_color_equal
  (c-name "clutter_color_equal")
  (return-type "gboolean")
  (parameters
    '("gconstpointer" "v1")
    '("gconstpointer" "v2")
  )
)

(define-function clutter_value_set_color
  (c-name "clutter_value_set_color")
  (return-type "none")
  (parameters
    '("GValue*" "value")
    '("const-ClutterColor*" "color")
  )
)

(define-function clutter_value_get_color
  (c-name "clutter_value_get_color")
  (return-type "const-ClutterColor*")
  (parameters
    '("const-GValue*" "value")
  )
)

(define-function clutter_param_color_get_type
  (c-name "clutter_param_color_get_type")
  (return-type "GType")
)

(define-function clutter_param_spec_color
  (c-name "clutter_param_spec_color")
  (return-type "GParamSpec*")
  (parameters
    '("const-gchar*" "name")
    '("const-gchar*" "nick")
    '("const-gchar*" "blurb")
    '("const-ClutterColor*" "default_value")
    '("GParamFlags" "flags")
  )
)



;; From clutter-colorize-effect.h

(define-function clutter_colorize_effect_get_type
  (c-name "clutter_colorize_effect_get_type")
  (return-type "GType")
)

(define-method ize_effect_new
  (of-object "ClutterColor")
  (c-name "clutter_colorize_effect_new")
  (return-type "ClutterEffect*")
)

(define-method set_tint
  (of-object "ClutterColorizeEffect")
  (c-name "clutter_colorize_effect_set_tint")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "tint")
  )
)

(define-method get_tint
  (of-object "ClutterColorizeEffect")
  (c-name "clutter_colorize_effect_get_tint")
  (return-type "none")
  (parameters
    '("ClutterColor*" "tint")
  )
)



;; From clutter-constraint.h

(define-function clutter_constraint_get_type
  (c-name "clutter_constraint_get_type")
  (return-type "GType")
)

(define-method add_constraint
  (of-object "ClutterActor")
  (c-name "clutter_actor_add_constraint")
  (return-type "none")
  (parameters
    '("ClutterConstraint*" "constraint")
  )
)

(define-method add_constraint_with_name
  (of-object "ClutterActor")
  (c-name "clutter_actor_add_constraint_with_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
    '("ClutterConstraint*" "constraint")
  )
)

(define-method remove_constraint
  (of-object "ClutterActor")
  (c-name "clutter_actor_remove_constraint")
  (return-type "none")
  (parameters
    '("ClutterConstraint*" "constraint")
  )
)

(define-method remove_constraint_by_name
  (of-object "ClutterActor")
  (c-name "clutter_actor_remove_constraint_by_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method get_constraints
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_constraints")
  (return-type "GList*")
)

(define-method get_constraint
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_constraint")
  (return-type "ClutterConstraint*")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method clear_constraints
  (of-object "ClutterActor")
  (c-name "clutter_actor_clear_constraints")
  (return-type "none")
)



;; From clutter-container.h

(define-function clutter_container_get_type
  (c-name "clutter_container_get_type")
  (return-type "GType")
)

(define-method add
  (of-object "ClutterContainer")
  (c-name "clutter_container_add")
  (return-type "none")
  (parameters
    '("ClutterActor*" "first_actor")
  )
  (varargs #t)
)

(define-method add_actor
  (of-object "ClutterContainer")
  (c-name "clutter_container_add_actor")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method add_valist
  (of-object "ClutterContainer")
  (c-name "clutter_container_add_valist")
  (return-type "none")
  (parameters
    '("ClutterActor*" "first_actor")
    '("va_list" "var_args")
  )
)

(define-method remove
  (of-object "ClutterContainer")
  (c-name "clutter_container_remove")
  (return-type "none")
  (parameters
    '("ClutterActor*" "first_actor")
  )
  (varargs #t)
)

(define-method remove_actor
  (of-object "ClutterContainer")
  (c-name "clutter_container_remove_actor")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method remove_valist
  (of-object "ClutterContainer")
  (c-name "clutter_container_remove_valist")
  (return-type "none")
  (parameters
    '("ClutterActor*" "first_actor")
    '("va_list" "var_args")
  )
)

(define-method get_children
  (of-object "ClutterContainer")
  (c-name "clutter_container_get_children")
  (return-type "GList*")
)

(define-method foreach
  (of-object "ClutterContainer")
  (c-name "clutter_container_foreach")
  (return-type "none")
  (parameters
    '("ClutterCallback" "callback")
    '("gpointer" "user_data")
  )
)

(define-method foreach_with_internals
  (of-object "ClutterContainer")
  (c-name "clutter_container_foreach_with_internals")
  (return-type "none")
  (parameters
    '("ClutterCallback" "callback")
    '("gpointer" "user_data")
  )
)

(define-method find_child_by_name
  (of-object "ClutterContainer")
  (c-name "clutter_container_find_child_by_name")
  (return-type "ClutterActor*")
  (parameters
    '("const-gchar*" "child_name")
  )
)

(define-method raise_child
  (of-object "ClutterContainer")
  (c-name "clutter_container_raise_child")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("ClutterActor*" "sibling")
  )
)

(define-method lower_child
  (of-object "ClutterContainer")
  (c-name "clutter_container_lower_child")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("ClutterActor*" "sibling")
  )
)

(define-method sort_depth_order
  (of-object "ClutterContainer")
  (c-name "clutter_container_sort_depth_order")
  (return-type "none")
)

(define-function clutter_container_class_find_child_property
  (c-name "clutter_container_class_find_child_property")
  (return-type "GParamSpec*")
  (parameters
    '("GObjectClass*" "klass")
    '("const-gchar*" "property_name")
  )
)

(define-function clutter_container_class_list_child_properties
  (c-name "clutter_container_class_list_child_properties")
  (return-type "GParamSpec**")
  (parameters
    '("GObjectClass*" "klass")
    '("guint*" "n_properties")
  )
)

(define-method create_child_meta
  (of-object "ClutterContainer")
  (c-name "clutter_container_create_child_meta")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method destroy_child_meta
  (of-object "ClutterContainer")
  (c-name "clutter_container_destroy_child_meta")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method get_child_meta
  (of-object "ClutterContainer")
  (c-name "clutter_container_get_child_meta")
  (return-type "ClutterChildMeta*")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method child_set_property
  (of-object "ClutterContainer")
  (c-name "clutter_container_child_set_property")
  (return-type "none")
  (parameters
    '("ClutterActor*" "child")
    '("const-gchar*" "property")
    '("const-GValue*" "value")
  )
)

(define-method child_get_property
  (of-object "ClutterContainer")
  (c-name "clutter_container_child_get_property")
  (return-type "none")
  (parameters
    '("ClutterActor*" "child")
    '("const-gchar*" "property")
    '("GValue*" "value")
  )
)

(define-method child_set
  (of-object "ClutterContainer")
  (c-name "clutter_container_child_set")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("const-gchar*" "first_prop")
  )
  (varargs #t)
)

(define-method child_get
  (of-object "ClutterContainer")
  (c-name "clutter_container_child_get")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("const-gchar*" "first_prop")
  )
  (varargs #t)
)



;; From clutter-deform-effect.h

(define-function clutter_deform_effect_get_type
  (c-name "clutter_deform_effect_get_type")
  (return-type "GType")
)

(define-method set_back_material
  (of-object "ClutterDeformEffect")
  (c-name "clutter_deform_effect_set_back_material")
  (return-type "none")
  (parameters
    '("CoglHandle" "material")
  )
)

(define-method get_back_material
  (of-object "ClutterDeformEffect")
  (c-name "clutter_deform_effect_get_back_material")
  (return-type "CoglHandle")
)

(define-method set_n_tiles
  (of-object "ClutterDeformEffect")
  (c-name "clutter_deform_effect_set_n_tiles")
  (return-type "none")
  (parameters
    '("guint" "x_tiles")
    '("guint" "y_tiles")
  )
)

(define-method get_n_tiles
  (of-object "ClutterDeformEffect")
  (c-name "clutter_deform_effect_get_n_tiles")
  (return-type "none")
  (parameters
    '("guint*" "x_tiles")
    '("guint*" "y_tiles")
  )
)

(define-method invalidate
  (of-object "ClutterDeformEffect")
  (c-name "clutter_deform_effect_invalidate")
  (return-type "none")
)



;; From clutter-deprecated.h



;; From clutter-desaturate-effect.h

(define-function clutter_desaturate_effect_get_type
  (c-name "clutter_desaturate_effect_get_type")
  (return-type "GType")
)

(define-function clutter_desaturate_effect_new
  (c-name "clutter_desaturate_effect_new")
  (is-constructor-of "ClutterDesaturateEffect")
  (return-type "ClutterEffect*")
  (parameters
    '("gdouble" "factor")
  )
)

(define-method set_factor
  (of-object "ClutterDesaturateEffect")
  (c-name "clutter_desaturate_effect_set_factor")
  (return-type "none")
  (parameters
    '("gdouble" "factor")
  )
)

(define-method get_factor
  (of-object "ClutterDesaturateEffect")
  (c-name "clutter_desaturate_effect_get_factor")
  (return-type "gdouble")
)



;; From clutter-device-manager.h

(define-function clutter_device_manager_get_type
  (c-name "clutter_device_manager_get_type")
  (return-type "GType")
)

(define-function clutter_device_manager_get_default
  (c-name "clutter_device_manager_get_default")
  (return-type "ClutterDeviceManager*")
)

(define-method list_devices
  (of-object "ClutterDeviceManager")
  (c-name "clutter_device_manager_list_devices")
  (return-type "GSList*")
)

(define-method peek_devices
  (of-object "ClutterDeviceManager")
  (c-name "clutter_device_manager_peek_devices")
  (return-type "const-GSList*")
)

(define-method get_device
  (of-object "ClutterDeviceManager")
  (c-name "clutter_device_manager_get_device")
  (return-type "ClutterInputDevice*")
  (parameters
    '("gint" "device_id")
  )
)

(define-method get_core_device
  (of-object "ClutterDeviceManager")
  (c-name "clutter_device_manager_get_core_device")
  (return-type "ClutterInputDevice*")
  (parameters
    '("ClutterInputDeviceType" "device_type")
  )
)



;; From clutter-drag-action.h

(define-function clutter_drag_action_get_type
  (c-name "clutter_drag_action_get_type")
  (return-type "GType")
)

(define-function clutter_drag_action_new
  (c-name "clutter_drag_action_new")
  (is-constructor-of "ClutterDragAction")
  (return-type "ClutterAction*")
)

(define-method set_drag_threshold
  (of-object "ClutterDragAction")
  (c-name "clutter_drag_action_set_drag_threshold")
  (return-type "none")
  (parameters
    '("guint" "threshold")
  )
)

(define-method get_drag_threshold
  (of-object "ClutterDragAction")
  (c-name "clutter_drag_action_get_drag_threshold")
  (return-type "guint")
)

(define-method set_drag_handle
  (of-object "ClutterDragAction")
  (c-name "clutter_drag_action_set_drag_handle")
  (return-type "none")
  (parameters
    '("ClutterActor*" "handle")
  )
)

(define-method get_drag_handle
  (of-object "ClutterDragAction")
  (c-name "clutter_drag_action_get_drag_handle")
  (return-type "ClutterActor*")
)

(define-method set_drag_axis
  (of-object "ClutterDragAction")
  (c-name "clutter_drag_action_set_drag_axis")
  (return-type "none")
  (parameters
    '("ClutterDragAxis" "axis")
  )
)

(define-method get_drag_axis
  (of-object "ClutterDragAction")
  (c-name "clutter_drag_action_get_drag_axis")
  (return-type "ClutterDragAxis")
)

(define-method get_press_coords
  (of-object "ClutterDragAction")
  (c-name "clutter_drag_action_get_press_coords")
  (return-type "none")
  (parameters
    '("gfloat*" "press_x")
    '("gfloat*" "press_y")
  )
)

(define-method get_motion_coords
  (of-object "ClutterDragAction")
  (c-name "clutter_drag_action_get_motion_coords")
  (return-type "none")
  (parameters
    '("gfloat*" "motion_x")
    '("gfloat*" "motion_y")
  )
)



;; From clutter-effect.h

(define-function clutter_effect_get_type
  (c-name "clutter_effect_get_type")
  (return-type "GType")
)

(define-method add_effect
  (of-object "ClutterActor")
  (c-name "clutter_actor_add_effect")
  (return-type "none")
  (parameters
    '("ClutterEffect*" "effect")
  )
)

(define-method add_effect_with_name
  (of-object "ClutterActor")
  (c-name "clutter_actor_add_effect_with_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
    '("ClutterEffect*" "effect")
  )
)

(define-method remove_effect
  (of-object "ClutterActor")
  (c-name "clutter_actor_remove_effect")
  (return-type "none")
  (parameters
    '("ClutterEffect*" "effect")
  )
)

(define-method remove_effect_by_name
  (of-object "ClutterActor")
  (c-name "clutter_actor_remove_effect_by_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method get_effects
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_effects")
  (return-type "GList*")
)

(define-method get_effect
  (of-object "ClutterActor")
  (c-name "clutter_actor_get_effect")
  (return-type "ClutterEffect*")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method clear_effects
  (of-object "ClutterActor")
  (c-name "clutter_actor_clear_effects")
  (return-type "none")
)



;; From clutter-enum-types.h

(define-function clutter_actor_flags_get_type
  (c-name "clutter_actor_flags_get_type")
  (return-type "GType")
)

(define-function clutter_allocation_flags_get_type
  (c-name "clutter_allocation_flags_get_type")
  (return-type "GType")
)

(define-function clutter_redraw_flags_get_type
  (c-name "clutter_redraw_flags_get_type")
  (return-type "GType")
)

(define-function clutter_align_axis_get_type
  (c-name "clutter_align_axis_get_type")
  (return-type "GType")
)

(define-function clutter_interpolation_get_type
  (c-name "clutter_interpolation_get_type")
  (return-type "GType")
)

(define-function clutter_bind_coordinate_get_type
  (c-name "clutter_bind_coordinate_get_type")
  (return-type "GType")
)

(define-function clutter_bin_alignment_get_type
  (c-name "clutter_bin_alignment_get_type")
  (return-type "GType")
)

(define-function clutter_box_alignment_get_type
  (c-name "clutter_box_alignment_get_type")
  (return-type "GType")
)

(define-function clutter_drag_axis_get_type
  (c-name "clutter_drag_axis_get_type")
  (return-type "GType")
)

(define-function clutter_modifier_type_get_type
  (c-name "clutter_modifier_type_get_type")
  (return-type "GType")
)

(define-function clutter_event_flags_get_type
  (c-name "clutter_event_flags_get_type")
  (return-type "GType")
)

(define-function clutter_event_type_get_type
  (c-name "clutter_event_type_get_type")
  (return-type "GType")
)

(define-function clutter_scroll_direction_get_type
  (c-name "clutter_scroll_direction_get_type")
  (return-type "GType")
)

(define-function clutter_stage_state_get_type
  (c-name "clutter_stage_state_get_type")
  (return-type "GType")
)

(define-function clutter_feature_flags_get_type
  (c-name "clutter_feature_flags_get_type")
  (return-type "GType")
)

(define-function clutter_flow_orientation_get_type
  (c-name "clutter_flow_orientation_get_type")
  (return-type "GType")
)

(define-function clutter_input_device_type_get_type
  (c-name "clutter_input_device_type_get_type")
  (return-type "GType")
)

(define-function clutter_init_error_get_type
  (c-name "clutter_init_error_get_type")
  (return-type "GType")
)

(define-function clutter_path_node_type_get_type
  (c-name "clutter_path_node_type_get_type")
  (return-type "GType")
)

(define-function clutter_script_error_get_type
  (c-name "clutter_script_error_get_type")
  (return-type "GType")
)

(define-function clutter_shader_error_get_type
  (c-name "clutter_shader_error_get_type")
  (return-type "GType")
)

(define-function clutter_pick_mode_get_type
  (c-name "clutter_pick_mode_get_type")
  (return-type "GType")
)

(define-function clutter_texture_error_get_type
  (c-name "clutter_texture_error_get_type")
  (return-type "GType")
)

(define-function clutter_texture_flags_get_type
  (c-name "clutter_texture_flags_get_type")
  (return-type "GType")
)

(define-function clutter_texture_quality_get_type
  (c-name "clutter_texture_quality_get_type")
  (return-type "GType")
)

(define-function clutter_timeline_direction_get_type
  (c-name "clutter_timeline_direction_get_type")
  (return-type "GType")
)

(define-function clutter_gravity_get_type
  (c-name "clutter_gravity_get_type")
  (return-type "GType")
)

(define-function clutter_rotate_axis_get_type
  (c-name "clutter_rotate_axis_get_type")
  (return-type "GType")
)

(define-function clutter_rotate_direction_get_type
  (c-name "clutter_rotate_direction_get_type")
  (return-type "GType")
)

(define-function clutter_request_mode_get_type
  (c-name "clutter_request_mode_get_type")
  (return-type "GType")
)

(define-function clutter_animation_mode_get_type
  (c-name "clutter_animation_mode_get_type")
  (return-type "GType")
)

(define-function clutter_font_flags_get_type
  (c-name "clutter_font_flags_get_type")
  (return-type "GType")
)

(define-function clutter_text_direction_get_type
  (c-name "clutter_text_direction_get_type")
  (return-type "GType")
)

(define-function clutter_shader_type_get_type
  (c-name "clutter_shader_type_get_type")
  (return-type "GType")
)

(define-function clutter_unit_type_get_type
  (c-name "clutter_unit_type_get_type")
  (return-type "GType")
)



;; From clutter-event.h

(define-function clutter_event_get_type
  (c-name "clutter_event_get_type")
  (return-type "GType")
)

(define-function clutter_events_pending
  (c-name "clutter_events_pending")
  (return-type "gboolean")
)

(define-function clutter_event_get
  (c-name "clutter_event_get")
  (return-type "ClutterEvent*")
)

(define-function clutter_event_peek
  (c-name "clutter_event_peek")
  (return-type "ClutterEvent*")
)

(define-method put
  (of-object "ClutterEvent")
  (c-name "clutter_event_put")
  (return-type "none")
)

(define-function clutter_event_new
  (c-name "clutter_event_new")
  (is-constructor-of "ClutterEvent")
  (return-type "ClutterEvent*")
  (parameters
    '("ClutterEventType" "type")
  )
)

(define-method copy
  (of-object "ClutterEvent")
  (c-name "clutter_event_copy")
  (return-type "ClutterEvent*")
)

(define-method free
  (of-object "ClutterEvent")
  (c-name "clutter_event_free")
  (return-type "none")
)

(define-method type
  (of-object "ClutterEvent")
  (c-name "clutter_event_type")
  (return-type "ClutterEventType")
)

(define-method get_flags
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_flags")
  (return-type "ClutterEventFlags")
)

(define-method get_time
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_time")
  (return-type "guint32")
)

(define-method get_state
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_state")
  (return-type "ClutterModifierType")
)

(define-method get_device_id
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_device_id")
  (return-type "gint")
)

(define-method get_device_type
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_device_type")
  (return-type "ClutterInputDeviceType")
)

(define-method get_device
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_device")
  (return-type "ClutterInputDevice*")
)

(define-method get_source
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_source")
  (return-type "ClutterActor*")
)

(define-method get_stage
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_stage")
  (return-type "ClutterStage*")
)

(define-method get_coords
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_coords")
  (return-type "none")
  (parameters
    '("gfloat*" "x")
    '("gfloat*" "y")
  )
)

(define-method get_key_symbol
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_key_symbol")
  (return-type "guint")
)

(define-method get_key_code
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_key_code")
  (return-type "guint16")
)

(define-method get_key_unicode
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_key_unicode")
  (return-type "guint32")
)

(define-method get_button
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_button")
  (return-type "guint32")
)

(define-method get_click_count
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_click_count")
  (return-type "guint")
)

(define-method get_related
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_related")
  (return-type "ClutterActor*")
)

(define-method get_scroll_direction
  (of-object "ClutterEvent")
  (c-name "clutter_event_get_scroll_direction")
  (return-type "ClutterScrollDirection")
)

(define-function clutter_keysym_to_unicode
  (c-name "clutter_keysym_to_unicode")
  (return-type "guint32")
  (parameters
    '("guint" "keyval")
  )
)

(define-function clutter_get_current_event_time
  (c-name "clutter_get_current_event_time")
  (return-type "guint32")
)

(define-function clutter_get_current_event
  (c-name "clutter_get_current_event")
  (return-type "const-ClutterEvent*")
)



;; From clutter-feature.h

(define-function clutter_feature_available
  (c-name "clutter_feature_available")
  (return-type "gboolean")
  (parameters
    '("ClutterFeatureFlags" "feature")
  )
)

(define-function clutter_feature_get_all
  (c-name "clutter_feature_get_all")
  (return-type "ClutterFeatureFlags")
)



;; From clutter-fixed.h

(define-function clutter_param_fixed_get_type
  (c-name "clutter_param_fixed_get_type")
  (return-type "GType")
)

(define-function clutter_value_set_fixed
  (c-name "clutter_value_set_fixed")
  (return-type "none")
  (parameters
    '("GValue*" "value")
    '("CoglFixed" "fixed_")
  )
)

(define-function clutter_value_get_fixed
  (c-name "clutter_value_get_fixed")
  (return-type "CoglFixed")
  (parameters
    '("const-GValue*" "value")
  )
)

(define-function clutter_param_spec_fixed
  (c-name "clutter_param_spec_fixed")
  (return-type "GParamSpec*")
  (parameters
    '("const-gchar*" "name")
    '("const-gchar*" "nick")
    '("const-gchar*" "blurb")
    '("CoglFixed" "minimum")
    '("CoglFixed" "maximum")
    '("CoglFixed" "default_value")
    '("GParamFlags" "flags")
  )
)



;; From clutter-fixed-layout.h

(define-function clutter_fixed_layout_get_type
  (c-name "clutter_fixed_layout_get_type")
  (return-type "GType")
)

(define-function clutter_fixed_layout_new
  (c-name "clutter_fixed_layout_new")
  (is-constructor-of "ClutterFixedLayout")
  (return-type "ClutterLayoutManager*")
)



;; From clutter-flow-layout.h

(define-function clutter_flow_layout_get_type
  (c-name "clutter_flow_layout_get_type")
  (return-type "GType")
)

(define-function clutter_flow_layout_new
  (c-name "clutter_flow_layout_new")
  (is-constructor-of "ClutterFlowLayout")
  (return-type "ClutterLayoutManager*")
  (parameters
    '("ClutterFlowOrientation" "orientation")
  )
)

(define-method set_orientation
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_set_orientation")
  (return-type "none")
  (parameters
    '("ClutterFlowOrientation" "orientation")
  )
)

(define-method get_orientation
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_get_orientation")
  (return-type "ClutterFlowOrientation")
)

(define-method set_homogeneous
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_set_homogeneous")
  (return-type "none")
  (parameters
    '("gboolean" "homogeneous")
  )
)

(define-method get_homogeneous
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_get_homogeneous")
  (return-type "gboolean")
)

(define-method set_column_spacing
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_set_column_spacing")
  (return-type "none")
  (parameters
    '("gfloat" "spacing")
  )
)

(define-method get_column_spacing
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_get_column_spacing")
  (return-type "gfloat")
)

(define-method set_row_spacing
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_set_row_spacing")
  (return-type "none")
  (parameters
    '("gfloat" "spacing")
  )
)

(define-method get_row_spacing
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_get_row_spacing")
  (return-type "gfloat")
)

(define-method set_column_width
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_set_column_width")
  (return-type "none")
  (parameters
    '("gfloat" "min_width")
    '("gfloat" "max_width")
  )
)

(define-method get_column_width
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_get_column_width")
  (return-type "none")
  (parameters
    '("gfloat*" "min_width")
    '("gfloat*" "max_width")
  )
)

(define-method set_row_height
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_set_row_height")
  (return-type "none")
  (parameters
    '("gfloat" "min_height")
    '("gfloat" "max_height")
  )
)

(define-method get_row_height
  (of-object "ClutterFlowLayout")
  (c-name "clutter_flow_layout_get_row_height")
  (return-type "none")
  (parameters
    '("gfloat*" "min_height")
    '("gfloat*" "max_height")
  )
)



;; From clutter-frame-source.h

(define-function clutter_frame_source_add
  (c-name "clutter_frame_source_add")
  (return-type "guint")
  (parameters
    '("guint" "fps")
    '("GSourceFunc" "func")
    '("gpointer" "data")
  )
)

(define-function clutter_frame_source_add_full
  (c-name "clutter_frame_source_add_full")
  (return-type "guint")
  (parameters
    '("gint" "priority")
    '("guint" "fps")
    '("GSourceFunc" "func")
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)



;; From clutter-group.h

(define-function clutter_group_get_type
  (c-name "clutter_group_get_type")
  (return-type "GType")
)

(define-function clutter_group_new
  (c-name "clutter_group_new")
  (is-constructor-of "ClutterGroup")
  (return-type "ClutterActor*")
)

(define-method get_nth_child
  (of-object "ClutterGroup")
  (c-name "clutter_group_get_nth_child")
  (return-type "ClutterActor*")
  (parameters
    '("gint" "index_")
  )
)

(define-method get_n_children
  (of-object "ClutterGroup")
  (c-name "clutter_group_get_n_children")
  (return-type "gint")
)

(define-method remove_all
  (of-object "ClutterGroup")
  (c-name "clutter_group_remove_all")
  (return-type "none")
)



;; From clutter.h



;; From clutter-input-device.h

(define-function clutter_input_device_get_type
  (c-name "clutter_input_device_get_type")
  (return-type "GType")
)

(define-method get_device_type
  (of-object "ClutterInputDevice")
  (c-name "clutter_input_device_get_device_type")
  (return-type "ClutterInputDeviceType")
)

(define-method get_device_id
  (of-object "ClutterInputDevice")
  (c-name "clutter_input_device_get_device_id")
  (return-type "gint")
)

(define-method get_device_coords
  (of-object "ClutterInputDevice")
  (c-name "clutter_input_device_get_device_coords")
  (return-type "none")
  (parameters
    '("gint*" "x")
    '("gint*" "y")
  )
)

(define-method get_pointer_actor
  (of-object "ClutterInputDevice")
  (c-name "clutter_input_device_get_pointer_actor")
  (return-type "ClutterActor*")
)

(define-method get_pointer_stage
  (of-object "ClutterInputDevice")
  (c-name "clutter_input_device_get_pointer_stage")
  (return-type "ClutterStage*")
)

(define-method get_device_name
  (of-object "ClutterInputDevice")
  (c-name "clutter_input_device_get_device_name")
  (return-type "const-gchar*")
)

(define-method update_from_event
  (of-object "ClutterInputDevice")
  (c-name "clutter_input_device_update_from_event")
  (return-type "none")
  (parameters
    '("ClutterEvent*" "event")
    '("gboolean" "update_stage")
  )
)



;; From clutter-interval.h

(define-function clutter_interval_get_type
  (c-name "clutter_interval_get_type")
  (return-type "GType")
)

(define-function clutter_interval_new
  (c-name "clutter_interval_new")
  (is-constructor-of "ClutterInterval")
  (return-type "ClutterInterval*")
  (parameters
    '("GType" "gtype")
  )
  (varargs #t)
)

(define-function clutter_interval_new_with_values
  (c-name "clutter_interval_new_with_values")
  (return-type "ClutterInterval*")
  (parameters
    '("GType" "gtype")
    '("const-GValue*" "initial")
    '("const-GValue*" "final")
  )
)

(define-method clone
  (of-object "ClutterInterval")
  (c-name "clutter_interval_clone")
  (return-type "ClutterInterval*")
)

(define-method get_value_type
  (of-object "ClutterInterval")
  (c-name "clutter_interval_get_value_type")
  (return-type "GType")
)

(define-method set_initial_value
  (of-object "ClutterInterval")
  (c-name "clutter_interval_set_initial_value")
  (return-type "none")
  (parameters
    '("const-GValue*" "value")
  )
)

(define-method get_initial_value
  (of-object "ClutterInterval")
  (c-name "clutter_interval_get_initial_value")
  (return-type "none")
  (parameters
    '("GValue*" "value")
  )
)

(define-method peek_initial_value
  (of-object "ClutterInterval")
  (c-name "clutter_interval_peek_initial_value")
  (return-type "GValue*")
)

(define-method set_final_value
  (of-object "ClutterInterval")
  (c-name "clutter_interval_set_final_value")
  (return-type "none")
  (parameters
    '("const-GValue*" "value")
  )
)

(define-method get_final_value
  (of-object "ClutterInterval")
  (c-name "clutter_interval_get_final_value")
  (return-type "none")
  (parameters
    '("GValue*" "value")
  )
)

(define-method peek_final_value
  (of-object "ClutterInterval")
  (c-name "clutter_interval_peek_final_value")
  (return-type "GValue*")
)

(define-method set_interval
  (of-object "ClutterInterval")
  (c-name "clutter_interval_set_interval")
  (return-type "none")
  (parameters
  )
  (varargs #t)
)

(define-method get_interval
  (of-object "ClutterInterval")
  (c-name "clutter_interval_get_interval")
  (return-type "none")
  (parameters
  )
  (varargs #t)
)

(define-method validate
  (of-object "ClutterInterval")
  (c-name "clutter_interval_validate")
  (return-type "gboolean")
  (parameters
    '("GParamSpec*" "pspec")
  )
)

(define-method compute_value
  (of-object "ClutterInterval")
  (c-name "clutter_interval_compute_value")
  (return-type "gboolean")
  (parameters
    '("gdouble" "factor")
    '("GValue*" "value")
  )
)

(define-method compute
  (of-object "ClutterInterval")
  (c-name "clutter_interval_compute")
  (return-type "const-GValue*")
  (parameters
    '("gdouble" "factor")
  )
)

(define-function clutter_interval_register_progress_func
  (c-name "clutter_interval_register_progress_func")
  (return-type "none")
  (parameters
    '("GType" "value_type")
    '("ClutterProgressFunc" "func")
  )
)



;; From clutter-json.h



;; From clutter-keysyms.h



;; From clutter-layout-manager.h

(define-function clutter_layout_manager_get_type
  (c-name "clutter_layout_manager_get_type")
  (return-type "GType")
)

(define-method get_preferred_width
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_get_preferred_width")
  (return-type "none")
  (parameters
    '("ClutterContainer*" "container")
    '("gfloat" "for_height")
    '("gfloat*" "min_width_p")
    '("gfloat*" "nat_width_p")
  )
)

(define-method get_preferred_height
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_get_preferred_height")
  (return-type "none")
  (parameters
    '("ClutterContainer*" "container")
    '("gfloat" "for_width")
    '("gfloat*" "min_height_p")
    '("gfloat*" "nat_height_p")
  )
)

(define-method allocate
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_allocate")
  (return-type "none")
  (parameters
    '("ClutterContainer*" "container")
    '("const-ClutterActorBox*" "allocation")
    '("ClutterAllocationFlags" "flags")
  )
)

(define-method set_container
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_set_container")
  (return-type "none")
  (parameters
    '("ClutterContainer*" "container")
  )
)

(define-method layout_changed
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_layout_changed")
  (return-type "none")
)

(define-method find_child_property
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_find_child_property")
  (return-type "GParamSpec*")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method list_child_properties
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_list_child_properties")
  (return-type "GParamSpec**")
  (parameters
    '("guint*" "n_pspecs")
  )
)

(define-method get_child_meta
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_get_child_meta")
  (return-type "ClutterLayoutMeta*")
  (parameters
    '("ClutterContainer*" "container")
    '("ClutterActor*" "actor")
  )
)

(define-method child_set
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_child_set")
  (return-type "none")
  (parameters
    '("ClutterContainer*" "container")
    '("ClutterActor*" "actor")
    '("const-gchar*" "first_property")
  )
  (varargs #t)
)

(define-method child_get
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_child_get")
  (return-type "none")
  (parameters
    '("ClutterContainer*" "container")
    '("ClutterActor*" "actor")
    '("const-gchar*" "first_property")
  )
  (varargs #t)
)

(define-method child_set_property
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_child_set_property")
  (return-type "none")
  (parameters
    '("ClutterContainer*" "container")
    '("ClutterActor*" "actor")
    '("const-gchar*" "property_name")
    '("const-GValue*" "value")
  )
)

(define-method child_get_property
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_child_get_property")
  (return-type "none")
  (parameters
    '("ClutterContainer*" "container")
    '("ClutterActor*" "actor")
    '("const-gchar*" "property_name")
    '("GValue*" "value")
  )
)

(define-method begin_animation
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_begin_animation")
  (return-type "ClutterAlpha*")
  (parameters
    '("guint" "duration")
    '("gulong" "mode")
  )
)

(define-method end_animation
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_end_animation")
  (return-type "none")
)

(define-method get_animation_progress
  (of-object "ClutterLayoutManager")
  (c-name "clutter_layout_manager_get_animation_progress")
  (return-type "gdouble")
)



;; From clutter-layout-meta.h

(define-function clutter_layout_meta_get_type
  (c-name "clutter_layout_meta_get_type")
  (return-type "GType")
)

(define-method get_manager
  (of-object "ClutterLayoutMeta")
  (c-name "clutter_layout_meta_get_manager")
  (return-type "ClutterLayoutManager*")
)



;; From clutter-list-model.h

(define-function clutter_list_model_get_type
  (c-name "clutter_list_model_get_type")
  (return-type "GType")
)

(define-function clutter_list_model_new
  (c-name "clutter_list_model_new")
  (is-constructor-of "ClutterListModel")
  (return-type "ClutterModel*")
  (parameters
    '("guint" "n_columns")
  )
  (varargs #t)
)

(define-function clutter_list_model_newv
  (c-name "clutter_list_model_newv")
  (return-type "ClutterModel*")
  (parameters
    '("guint" "n_columns")
    '("GType*" "types")
    '("const-gchar*-const[]" "names")
  )
)



;; From clutter-main.h

(define-function clutter_init_error_quark
  (c-name "clutter_init_error_quark")
  (return-type "GQuark")
)

(define-function clutter_base_init
  (c-name "clutter_base_init")
  (return-type "none")
)

(define-function clutter_init
  (c-name "clutter_init")
  (return-type "ClutterInitError")
  (parameters
    '("int*" "argc")
    '("char***" "argv")
  )
)

(define-function clutter_init_with_args
  (c-name "clutter_init_with_args")
  (return-type "ClutterInitError")
  (parameters
    '("int*" "argc")
    '("char***" "argv")
    '("const-char*" "parameter_string")
    '("GOptionEntry*" "entries")
    '("const-char*" "translation_domain")
    '("GError**" "error")
  )
)

(define-function clutter_get_option_group
  (c-name "clutter_get_option_group")
  (return-type "GOptionGroup*")
)

(define-function clutter_get_option_group_without_init
  (c-name "clutter_get_option_group_without_init")
  (return-type "GOptionGroup*")
)

(define-function clutter_main
  (c-name "clutter_main")
  (return-type "none")
)

(define-function clutter_main_quit
  (c-name "clutter_main_quit")
  (return-type "none")
)

(define-function clutter_main_level
  (c-name "clutter_main_level")
  (return-type "gint")
)

(define-function clutter_redraw
  (c-name "clutter_redraw")
  (return-type "none")
  (parameters
    '("ClutterStage*" "stage")
  )
)

(define-function clutter_do_event
  (c-name "clutter_do_event")
  (return-type "none")
  (parameters
    '("ClutterEvent*" "event")
  )
)

(define-function clutter_get_debug_enabled
  (c-name "clutter_get_debug_enabled")
  (return-type "gboolean")
)

(define-function clutter_get_show_fps
  (c-name "clutter_get_show_fps")
  (return-type "gboolean")
)

(define-function clutter_get_timestamp
  (c-name "clutter_get_timestamp")
  (return-type "gulong")
)

(define-function clutter_get_accessibility_enabled
  (c-name "clutter_get_accessibility_enabled")
  (return-type "gboolean")
)

(define-function clutter_threads_init
  (c-name "clutter_threads_init")
  (return-type "none")
)

(define-function clutter_threads_enter
  (c-name "clutter_threads_enter")
  (return-type "none")
)

(define-function clutter_threads_leave
  (c-name "clutter_threads_leave")
  (return-type "none")
)

(define-function clutter_threads_set_lock_functions
  (c-name "clutter_threads_set_lock_functions")
  (return-type "none")
  (parameters
    '("GCallback" "enter_fn")
    '("GCallback" "leave_fn")
  )
)

(define-function clutter_threads_add_idle
  (c-name "clutter_threads_add_idle")
  (return-type "guint")
  (parameters
    '("GSourceFunc" "func")
    '("gpointer" "data")
  )
)

(define-function clutter_threads_add_idle_full
  (c-name "clutter_threads_add_idle_full")
  (return-type "guint")
  (parameters
    '("gint" "priority")
    '("GSourceFunc" "func")
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)

(define-function clutter_threads_add_timeout
  (c-name "clutter_threads_add_timeout")
  (return-type "guint")
  (parameters
    '("guint" "interval")
    '("GSourceFunc" "func")
    '("gpointer" "data")
  )
)

(define-function clutter_threads_add_timeout_full
  (c-name "clutter_threads_add_timeout_full")
  (return-type "guint")
  (parameters
    '("gint" "priority")
    '("guint" "interval")
    '("GSourceFunc" "func")
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)

(define-function clutter_threads_add_frame_source
  (c-name "clutter_threads_add_frame_source")
  (return-type "guint")
  (parameters
    '("guint" "fps")
    '("GSourceFunc" "func")
    '("gpointer" "data")
  )
)

(define-function clutter_threads_add_frame_source_full
  (c-name "clutter_threads_add_frame_source_full")
  (return-type "guint")
  (parameters
    '("gint" "priority")
    '("guint" "fps")
    '("GSourceFunc" "func")
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)

(define-function clutter_threads_add_repaint_func
  (c-name "clutter_threads_add_repaint_func")
  (return-type "guint")
  (parameters
    '("GSourceFunc" "func")
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)

(define-function clutter_threads_remove_repaint_func
  (c-name "clutter_threads_remove_repaint_func")
  (return-type "none")
  (parameters
    '("guint" "handle_id")
  )
)

(define-function clutter_set_motion_events_enabled
  (c-name "clutter_set_motion_events_enabled")
  (return-type "none")
  (parameters
    '("gboolean" "enable")
  )
)

(define-function clutter_get_motion_events_enabled
  (c-name "clutter_get_motion_events_enabled")
  (return-type "gboolean")
)

(define-function clutter_set_default_frame_rate
  (c-name "clutter_set_default_frame_rate")
  (return-type "none")
  (parameters
    '("guint" "frames_per_sec")
  )
)

(define-function clutter_get_default_frame_rate
  (c-name "clutter_get_default_frame_rate")
  (return-type "guint")
)

(define-function clutter_grab_pointer
  (c-name "clutter_grab_pointer")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-function clutter_ungrab_pointer
  (c-name "clutter_ungrab_pointer")
  (return-type "none")
)

(define-function clutter_get_pointer_grab
  (c-name "clutter_get_pointer_grab")
  (return-type "ClutterActor*")
)

(define-function clutter_grab_keyboard
  (c-name "clutter_grab_keyboard")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-function clutter_ungrab_keyboard
  (c-name "clutter_ungrab_keyboard")
  (return-type "none")
)

(define-function clutter_get_keyboard_grab
  (c-name "clutter_get_keyboard_grab")
  (return-type "ClutterActor*")
)

(define-function clutter_clear_glyph_cache
  (c-name "clutter_clear_glyph_cache")
  (return-type "none")
)

(define-function clutter_set_font_flags
  (c-name "clutter_set_font_flags")
  (return-type "none")
  (parameters
    '("ClutterFontFlags" "flags")
  )
)

(define-function clutter_get_font_flags
  (c-name "clutter_get_font_flags")
  (return-type "ClutterFontFlags")
)

(define-function clutter_get_input_device_for_id
  (c-name "clutter_get_input_device_for_id")
  (return-type "ClutterInputDevice*")
  (parameters
    '("gint" "id")
  )
)

(define-function clutter_grab_pointer_for_device
  (c-name "clutter_grab_pointer_for_device")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
    '("gint" "id")
  )
)

(define-function clutter_ungrab_pointer_for_device
  (c-name "clutter_ungrab_pointer_for_device")
  (return-type "none")
  (parameters
    '("gint" "id")
  )
)

(define-function clutter_get_font_map
  (c-name "clutter_get_font_map")
  (return-type "PangoFontMap*")
)

(define-function clutter_get_default_text_direction
  (c-name "clutter_get_default_text_direction")
  (return-type "ClutterTextDirection")
)



;; From clutter-marshal.h



;; From clutter-media.h

(define-function clutter_media_get_type
  (c-name "clutter_media_get_type")
  (return-type "GType")
)

(define-method set_uri
  (of-object "ClutterMedia")
  (c-name "clutter_media_set_uri")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
  )
)

(define-method get_uri
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_uri")
  (return-type "gchar*")
)

(define-method set_filename
  (of-object "ClutterMedia")
  (c-name "clutter_media_set_filename")
  (return-type "none")
  (parameters
    '("const-gchar*" "filename")
  )
)

(define-method set_playing
  (of-object "ClutterMedia")
  (c-name "clutter_media_set_playing")
  (return-type "none")
  (parameters
    '("gboolean" "playing")
  )
)

(define-method get_playing
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_playing")
  (return-type "gboolean")
)

(define-method set_progress
  (of-object "ClutterMedia")
  (c-name "clutter_media_set_progress")
  (return-type "none")
  (parameters
    '("gdouble" "progress")
  )
)

(define-method get_progress
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_progress")
  (return-type "gdouble")
)

(define-method set_subtitle_uri
  (of-object "ClutterMedia")
  (c-name "clutter_media_set_subtitle_uri")
  (return-type "none")
  (parameters
    '("const-gchar*" "uri")
  )
)

(define-method get_subtitle_uri
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_subtitle_uri")
  (return-type "gchar*")
)

(define-method set_subtitle_font_name
  (of-object "ClutterMedia")
  (c-name "clutter_media_set_subtitle_font_name")
  (return-type "none")
  (parameters
    '("const-char*" "font_name")
  )
)

(define-method get_subtitle_font_name
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_subtitle_font_name")
  (return-type "gchar*")
)

(define-method set_audio_volume
  (of-object "ClutterMedia")
  (c-name "clutter_media_set_audio_volume")
  (return-type "none")
  (parameters
    '("gdouble" "volume")
  )
)

(define-method get_audio_volume
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_audio_volume")
  (return-type "gdouble")
)

(define-method get_can_seek
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_can_seek")
  (return-type "gboolean")
)

(define-method get_buffer_fill
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_buffer_fill")
  (return-type "gdouble")
)

(define-method get_duration
  (of-object "ClutterMedia")
  (c-name "clutter_media_get_duration")
  (return-type "gdouble")
)



;; From clutter-model.h

(define-function clutter_model_get_type
  (c-name "clutter_model_get_type")
  (return-type "GType")
)

(define-method set_types
  (of-object "ClutterModel")
  (c-name "clutter_model_set_types")
  (return-type "none")
  (parameters
    '("guint" "n_columns")
    '("GType*" "types")
  )
)

(define-method set_names
  (of-object "ClutterModel")
  (c-name "clutter_model_set_names")
  (return-type "none")
  (parameters
    '("guint" "n_columns")
    '("const-gchar*-const[]" "names")
  )
)

(define-method append
  (of-object "ClutterModel")
  (c-name "clutter_model_append")
  (return-type "none")
  (parameters
  )
  (varargs #t)
)

(define-method appendv
  (of-object "ClutterModel")
  (c-name "clutter_model_appendv")
  (return-type "none")
  (parameters
    '("guint" "n_columns")
    '("guint*" "columns")
    '("GValue*" "values")
  )
)

(define-method prepend
  (of-object "ClutterModel")
  (c-name "clutter_model_prepend")
  (return-type "none")
  (parameters
  )
  (varargs #t)
)

(define-method prependv
  (of-object "ClutterModel")
  (c-name "clutter_model_prependv")
  (return-type "none")
  (parameters
    '("guint" "n_columns")
    '("guint*" "columns")
    '("GValue*" "values")
  )
)

(define-method insert
  (of-object "ClutterModel")
  (c-name "clutter_model_insert")
  (return-type "none")
  (parameters
    '("guint" "row")
  )
  (varargs #t)
)

(define-method insertv
  (of-object "ClutterModel")
  (c-name "clutter_model_insertv")
  (return-type "none")
  (parameters
    '("guint" "row")
    '("guint" "n_columns")
    '("guint*" "columns")
    '("GValue*" "values")
  )
)

(define-method insert_value
  (of-object "ClutterModel")
  (c-name "clutter_model_insert_value")
  (return-type "none")
  (parameters
    '("guint" "row")
    '("guint" "column")
    '("const-GValue*" "value")
  )
)

(define-method remove
  (of-object "ClutterModel")
  (c-name "clutter_model_remove")
  (return-type "none")
  (parameters
    '("guint" "row")
  )
)

(define-method get_n_rows
  (of-object "ClutterModel")
  (c-name "clutter_model_get_n_rows")
  (return-type "guint")
)

(define-method get_n_columns
  (of-object "ClutterModel")
  (c-name "clutter_model_get_n_columns")
  (return-type "guint")
)

(define-method get_column_name
  (of-object "ClutterModel")
  (c-name "clutter_model_get_column_name")
  (return-type "const-gchar*")
  (parameters
    '("guint" "column")
  )
)

(define-method get_column_type
  (of-object "ClutterModel")
  (c-name "clutter_model_get_column_type")
  (return-type "GType")
  (parameters
    '("guint" "column")
  )
)

(define-method get_first_iter
  (of-object "ClutterModel")
  (c-name "clutter_model_get_first_iter")
  (return-type "ClutterModelIter*")
)

(define-method get_last_iter
  (of-object "ClutterModel")
  (c-name "clutter_model_get_last_iter")
  (return-type "ClutterModelIter*")
)

(define-method get_iter_at_row
  (of-object "ClutterModel")
  (c-name "clutter_model_get_iter_at_row")
  (return-type "ClutterModelIter*")
  (parameters
    '("guint" "row")
  )
)

(define-method set_sorting_column
  (of-object "ClutterModel")
  (c-name "clutter_model_set_sorting_column")
  (return-type "none")
  (parameters
    '("gint" "column")
  )
)

(define-method get_sorting_column
  (of-object "ClutterModel")
  (c-name "clutter_model_get_sorting_column")
  (return-type "gint")
)

(define-method foreach
  (of-object "ClutterModel")
  (c-name "clutter_model_foreach")
  (return-type "none")
  (parameters
    '("ClutterModelForeachFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method set_sort
  (of-object "ClutterModel")
  (c-name "clutter_model_set_sort")
  (return-type "none")
  (parameters
    '("guint" "column")
    '("ClutterModelSortFunc" "func")
    '("gpointer" "user_data")
    '("GDestroyNotify" "notify")
  )
)

(define-method set_filter
  (of-object "ClutterModel")
  (c-name "clutter_model_set_filter")
  (return-type "none")
  (parameters
    '("ClutterModelFilterFunc" "func")
    '("gpointer" "user_data")
    '("GDestroyNotify" "notify")
  )
)

(define-method get_filter_set
  (of-object "ClutterModel")
  (c-name "clutter_model_get_filter_set")
  (return-type "gboolean")
)

(define-method resort
  (of-object "ClutterModel")
  (c-name "clutter_model_resort")
  (return-type "none")
)

(define-method filter_row
  (of-object "ClutterModel")
  (c-name "clutter_model_filter_row")
  (return-type "gboolean")
  (parameters
    '("guint" "row")
  )
)

(define-method filter_iter
  (of-object "ClutterModel")
  (c-name "clutter_model_filter_iter")
  (return-type "gboolean")
  (parameters
    '("ClutterModelIter*" "iter")
  )
)

(define-function clutter_model_iter_get_type
  (c-name "clutter_model_iter_get_type")
  (return-type "GType")
)

(define-method get
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_get")
  (return-type "none")
  (parameters
  )
  (varargs #t)
)

(define-method get_valist
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_get_valist")
  (return-type "none")
  (parameters
    '("va_list" "args")
  )
)

(define-method get_value
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_get_value")
  (return-type "none")
  (parameters
    '("guint" "column")
    '("GValue*" "value")
  )
)

(define-method set
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_set")
  (return-type "none")
  (parameters
  )
  (varargs #t)
)

(define-method set_valist
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_set_valist")
  (return-type "none")
  (parameters
    '("va_list" "args")
  )
)

(define-method set_value
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_set_value")
  (return-type "none")
  (parameters
    '("guint" "column")
    '("const-GValue*" "value")
  )
)

(define-method is_first
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_is_first")
  (return-type "gboolean")
)

(define-method is_last
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_is_last")
  (return-type "gboolean")
)

(define-method next
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_next")
  (return-type "ClutterModelIter*")
)

(define-method prev
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_prev")
  (return-type "ClutterModelIter*")
)

(define-method get_model
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_get_model")
  (return-type "ClutterModel*")
)

(define-method get_row
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_get_row")
  (return-type "guint")
)

(define-method copy
  (of-object "ClutterModelIter")
  (c-name "clutter_model_iter_copy")
  (return-type "ClutterModelIter*")
)



;; From clutter-offscreen-effect.h

(define-function clutter_offscreen_effect_get_type
  (c-name "clutter_offscreen_effect_get_type")
  (return-type "GType")
)

(define-method get_target
  (of-object "ClutterOffscreenEffect")
  (c-name "clutter_offscreen_effect_get_target")
  (return-type "CoglHandle")
)

(define-method paint_target
  (of-object "ClutterOffscreenEffect")
  (c-name "clutter_offscreen_effect_paint_target")
  (return-type "none")
)

(define-method create_target
  (of-object "ClutterOffscreenEffect")
  (c-name "clutter_offscreen_effect_create_target")
  (return-type "CoglHandle")
  (parameters
    '("gfloat" "width")
    '("gfloat" "height")
  )
)



;; From clutter-page-turn-effect.h

(define-function clutter_page_turn_effect_get_type
  (c-name "clutter_page_turn_effect_get_type")
  (return-type "GType")
)

(define-function clutter_page_turn_effect_new
  (c-name "clutter_page_turn_effect_new")
  (is-constructor-of "ClutterPageTurnEffect")
  (return-type "ClutterEffect*")
  (parameters
    '("gdouble" "period")
    '("gdouble" "angle")
    '("gfloat" "radius")
  )
)

(define-method set_period
  (of-object "ClutterPageTurnEffect")
  (c-name "clutter_page_turn_effect_set_period")
  (return-type "none")
  (parameters
    '("gdouble" "period")
  )
)

(define-method get_period
  (of-object "ClutterPageTurnEffect")
  (c-name "clutter_page_turn_effect_get_period")
  (return-type "gdouble")
)

(define-method set_angle
  (of-object "ClutterPageTurnEffect")
  (c-name "clutter_page_turn_effect_set_angle")
  (return-type "none")
  (parameters
    '("gdouble" "angle")
  )
)

(define-method get_angle
  (of-object "ClutterPageTurnEffect")
  (c-name "clutter_page_turn_effect_get_angle")
  (return-type "gdouble")
)

(define-method set_radius
  (of-object "ClutterPageTurnEffect")
  (c-name "clutter_page_turn_effect_set_radius")
  (return-type "none")
  (parameters
    '("gfloat" "radius")
  )
)

(define-method get_radius
  (of-object "ClutterPageTurnEffect")
  (c-name "clutter_page_turn_effect_get_radius")
  (return-type "gfloat")
)



;; From clutter-path.h

(define-function clutter_path_get_type
  (c-name "clutter_path_get_type")
  (return-type "GType")
)

(define-function clutter_path_node_get_type
  (c-name "clutter_path_node_get_type")
  (return-type "GType")
)

(define-function clutter_path_new
  (c-name "clutter_path_new")
  (is-constructor-of "ClutterPath")
  (return-type "ClutterPath*")
)

(define-function clutter_path_new_with_description
  (c-name "clutter_path_new_with_description")
  (return-type "ClutterPath*")
  (parameters
    '("const-gchar*" "desc")
  )
)

(define-method add_move_to
  (of-object "ClutterPath")
  (c-name "clutter_path_add_move_to")
  (return-type "none")
  (parameters
    '("gint" "x")
    '("gint" "y")
  )
)

(define-method add_rel_move_to
  (of-object "ClutterPath")
  (c-name "clutter_path_add_rel_move_to")
  (return-type "none")
  (parameters
    '("gint" "x")
    '("gint" "y")
  )
)

(define-method add_line_to
  (of-object "ClutterPath")
  (c-name "clutter_path_add_line_to")
  (return-type "none")
  (parameters
    '("gint" "x")
    '("gint" "y")
  )
)

(define-method add_rel_line_to
  (of-object "ClutterPath")
  (c-name "clutter_path_add_rel_line_to")
  (return-type "none")
  (parameters
    '("gint" "x")
    '("gint" "y")
  )
)

(define-method add_curve_to
  (of-object "ClutterPath")
  (c-name "clutter_path_add_curve_to")
  (return-type "none")
  (parameters
    '("gint" "x_1")
    '("gint" "y_1")
    '("gint" "x_2")
    '("gint" "y_2")
    '("gint" "x_3")
    '("gint" "y_3")
  )
)

(define-method add_rel_curve_to
  (of-object "ClutterPath")
  (c-name "clutter_path_add_rel_curve_to")
  (return-type "none")
  (parameters
    '("gint" "x_1")
    '("gint" "y_1")
    '("gint" "x_2")
    '("gint" "y_2")
    '("gint" "x_3")
    '("gint" "y_3")
  )
)

(define-method add_close
  (of-object "ClutterPath")
  (c-name "clutter_path_add_close")
  (return-type "none")
)

(define-method add_string
  (of-object "ClutterPath")
  (c-name "clutter_path_add_string")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method add_node
  (of-object "ClutterPath")
  (c-name "clutter_path_add_node")
  (return-type "none")
  (parameters
    '("const-ClutterPathNode*" "node")
  )
)

(define-method add_cairo_path
  (of-object "ClutterPath")
  (c-name "clutter_path_add_cairo_path")
  (return-type "none")
  (parameters
    '("const-cairo_path_t*" "cpath")
  )
)

(define-method get_n_nodes
  (of-object "ClutterPath")
  (c-name "clutter_path_get_n_nodes")
  (return-type "guint")
)

(define-method get_node
  (of-object "ClutterPath")
  (c-name "clutter_path_get_node")
  (return-type "none")
  (parameters
    '("guint" "index_")
    '("ClutterPathNode*" "node")
  )
)

(define-method get_nodes
  (of-object "ClutterPath")
  (c-name "clutter_path_get_nodes")
  (return-type "GSList*")
)

(define-method foreach
  (of-object "ClutterPath")
  (c-name "clutter_path_foreach")
  (return-type "none")
  (parameters
    '("ClutterPathCallback" "callback")
    '("gpointer" "user_data")
  )
)

(define-method insert_node
  (of-object "ClutterPath")
  (c-name "clutter_path_insert_node")
  (return-type "none")
  (parameters
    '("gint" "index_")
    '("const-ClutterPathNode*" "node")
  )
)

(define-method remove_node
  (of-object "ClutterPath")
  (c-name "clutter_path_remove_node")
  (return-type "none")
  (parameters
    '("guint" "index_")
  )
)

(define-method replace_node
  (of-object "ClutterPath")
  (c-name "clutter_path_replace_node")
  (return-type "none")
  (parameters
    '("guint" "index_")
    '("const-ClutterPathNode*" "node")
  )
)

(define-method get_description
  (of-object "ClutterPath")
  (c-name "clutter_path_get_description")
  (return-type "gchar*")
)

(define-method set_description
  (of-object "ClutterPath")
  (c-name "clutter_path_set_description")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method clear
  (of-object "ClutterPath")
  (c-name "clutter_path_clear")
  (return-type "none")
)

(define-method to_cairo_path
  (of-object "ClutterPath")
  (c-name "clutter_path_to_cairo_path")
  (return-type "none")
  (parameters
    '("cairo_t*" "cr")
  )
)

(define-method get_position
  (of-object "ClutterPath")
  (c-name "clutter_path_get_position")
  (return-type "guint")
  (parameters
    '("gdouble" "progress")
    '("ClutterKnot*" "position")
  )
)

(define-method get_length
  (of-object "ClutterPath")
  (c-name "clutter_path_get_length")
  (return-type "guint")
)

(define-method copy
  (of-object "ClutterPathNode")
  (c-name "clutter_path_node_copy")
  (return-type "ClutterPathNode*")
)

(define-method free
  (of-object "ClutterPathNode")
  (c-name "clutter_path_node_free")
  (return-type "none")
)

(define-method equal
  (of-object "ClutterPathNode")
  (c-name "clutter_path_node_equal")
  (return-type "gboolean")
  (parameters
    '("const-ClutterPathNode*" "node_b")
  )
)



;; From clutter-rectangle.h

(define-function clutter_rectangle_get_type
  (c-name "clutter_rectangle_get_type")
  (return-type "GType")
)

(define-function clutter_rectangle_new
  (c-name "clutter_rectangle_new")
  (is-constructor-of "ClutterRectangle")
  (return-type "ClutterActor*")
)

(define-function clutter_rectangle_new_with_color
  (c-name "clutter_rectangle_new_with_color")
  (return-type "ClutterActor*")
  (parameters
    '("const-ClutterColor*" "color")
  )
)

(define-method get_color
  (of-object "ClutterRectangle")
  (c-name "clutter_rectangle_get_color")
  (return-type "none")
  (parameters
    '("ClutterColor*" "color")
  )
)

(define-method set_color
  (of-object "ClutterRectangle")
  (c-name "clutter_rectangle_set_color")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "color")
  )
)

(define-method get_border_width
  (of-object "ClutterRectangle")
  (c-name "clutter_rectangle_get_border_width")
  (return-type "guint")
)

(define-method set_border_width
  (of-object "ClutterRectangle")
  (c-name "clutter_rectangle_set_border_width")
  (return-type "none")
  (parameters
    '("guint" "width")
  )
)

(define-method get_border_color
  (of-object "ClutterRectangle")
  (c-name "clutter_rectangle_get_border_color")
  (return-type "none")
  (parameters
    '("ClutterColor*" "color")
  )
)

(define-method set_border_color
  (of-object "ClutterRectangle")
  (c-name "clutter_rectangle_set_border_color")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "color")
  )
)



;; From clutter-score.h

(define-function clutter_score_get_type
  (c-name "clutter_score_get_type")
  (return-type "GType")
)

(define-function clutter_score_new
  (c-name "clutter_score_new")
  (is-constructor-of "ClutterScore")
  (return-type "ClutterScore*")
)

(define-method set_loop
  (of-object "ClutterScore")
  (c-name "clutter_score_set_loop")
  (return-type "none")
  (parameters
    '("gboolean" "loop")
  )
)

(define-method get_loop
  (of-object "ClutterScore")
  (c-name "clutter_score_get_loop")
  (return-type "gboolean")
)

(define-method append
  (of-object "ClutterScore")
  (c-name "clutter_score_append")
  (return-type "gulong")
  (parameters
    '("ClutterTimeline*" "parent")
    '("ClutterTimeline*" "timeline")
  )
)

(define-method append_at_marker
  (of-object "ClutterScore")
  (c-name "clutter_score_append_at_marker")
  (return-type "gulong")
  (parameters
    '("ClutterTimeline*" "parent")
    '("const-gchar*" "marker_name")
    '("ClutterTimeline*" "timeline")
  )
)

(define-method remove
  (of-object "ClutterScore")
  (c-name "clutter_score_remove")
  (return-type "none")
  (parameters
    '("gulong" "id")
  )
)

(define-method remove_all
  (of-object "ClutterScore")
  (c-name "clutter_score_remove_all")
  (return-type "none")
)

(define-method get_timeline
  (of-object "ClutterScore")
  (c-name "clutter_score_get_timeline")
  (return-type "ClutterTimeline*")
  (parameters
    '("gulong" "id")
  )
)

(define-method list_timelines
  (of-object "ClutterScore")
  (c-name "clutter_score_list_timelines")
  (return-type "GSList*")
)

(define-method start
  (of-object "ClutterScore")
  (c-name "clutter_score_start")
  (return-type "none")
)

(define-method stop
  (of-object "ClutterScore")
  (c-name "clutter_score_stop")
  (return-type "none")
)

(define-method pause
  (of-object "ClutterScore")
  (c-name "clutter_score_pause")
  (return-type "none")
)

(define-method rewind
  (of-object "ClutterScore")
  (c-name "clutter_score_rewind")
  (return-type "none")
)

(define-method is_playing
  (of-object "ClutterScore")
  (c-name "clutter_score_is_playing")
  (return-type "gboolean")
)



;; From clutter-scriptable.h

(define-function clutter_scriptable_get_type
  (c-name "clutter_scriptable_get_type")
  (return-type "GType")
)

(define-method set_id
  (of-object "ClutterScriptable")
  (c-name "clutter_scriptable_set_id")
  (return-type "none")
  (parameters
    '("const-gchar*" "id")
  )
)

(define-method get_id
  (of-object "ClutterScriptable")
  (c-name "clutter_scriptable_get_id")
  (return-type "const-gchar*")
)

(define-method parse_custom_node
  (of-object "ClutterScriptable")
  (c-name "clutter_scriptable_parse_custom_node")
  (return-type "gboolean")
  (parameters
    '("ClutterScript*" "script")
    '("GValue*" "value")
    '("const-gchar*" "name")
    '("JsonNode*" "node")
  )
)

(define-method set_custom_property
  (of-object "ClutterScriptable")
  (c-name "clutter_scriptable_set_custom_property")
  (return-type "none")
  (parameters
    '("ClutterScript*" "script")
    '("const-gchar*" "name")
    '("const-GValue*" "value")
  )
)



;; From clutter-script.h

(define-function clutter_script_error_quark
  (c-name "clutter_script_error_quark")
  (return-type "GQuark")
)

(define-function clutter_script_get_type
  (c-name "clutter_script_get_type")
  (return-type "GType")
)

(define-function clutter_script_new
  (c-name "clutter_script_new")
  (is-constructor-of "ClutterScript")
  (return-type "ClutterScript*")
)

(define-method load_from_file
  (of-object "ClutterScript")
  (c-name "clutter_script_load_from_file")
  (return-type "guint")
  (parameters
    '("const-gchar*" "filename")
    '("GError**" "error")
  )
)

(define-method load_from_data
  (of-object "ClutterScript")
  (c-name "clutter_script_load_from_data")
  (return-type "guint")
  (parameters
    '("const-gchar*" "data")
    '("gssize" "length")
    '("GError**" "error")
  )
)

(define-method get_object
  (of-object "ClutterScript")
  (c-name "clutter_script_get_object")
  (return-type "GObject*")
  (parameters
    '("const-gchar*" "name")
  )
)

(define-method get_objects
  (of-object "ClutterScript")
  (c-name "clutter_script_get_objects")
  (return-type "gint")
  (parameters
    '("const-gchar*" "first_name")
  )
  (varargs #t)
)

(define-method list_objects
  (of-object "ClutterScript")
  (c-name "clutter_script_list_objects")
  (return-type "GList*")
)

(define-method unmerge_objects
  (of-object "ClutterScript")
  (c-name "clutter_script_unmerge_objects")
  (return-type "none")
  (parameters
    '("guint" "merge_id")
  )
)

(define-method ensure_objects
  (of-object "ClutterScript")
  (c-name "clutter_script_ensure_objects")
  (return-type "none")
)

(define-method get_type_from_name
  (of-object "ClutterScript")
  (c-name "clutter_script_get_type_from_name")
  (return-type "GType")
  (parameters
    '("const-gchar*" "type_name")
  )
)

(define-function clutter_get_script_id
  (c-name "clutter_get_script_id")
  (return-type "const-gchar*")
  (parameters
    '("GObject*" "gobject")
  )
)

(define-method connect_signals
  (of-object "ClutterScript")
  (c-name "clutter_script_connect_signals")
  (return-type "none")
  (parameters
    '("gpointer" "user_data")
  )
)

(define-method connect_signals_full
  (of-object "ClutterScript")
  (c-name "clutter_script_connect_signals_full")
  (return-type "none")
  (parameters
    '("ClutterScriptConnectFunc" "func")
    '("gpointer" "user_data")
  )
)

(define-method add_search_paths
  (of-object "ClutterScript")
  (c-name "clutter_script_add_search_paths")
  (return-type "none")
  (parameters
    '("const-gchar*-const[]" "paths")
    '("gsize" "n_paths")
  )
)

(define-method lookup_filename
  (of-object "ClutterScript")
  (c-name "clutter_script_lookup_filename")
  (return-type "gchar*")
  (parameters
    '("const-gchar*" "filename")
  )
)



;; From clutter-settings.h

(define-function clutter_settings_get_type
  (c-name "clutter_settings_get_type")
  (return-type "GType")
)

(define-function clutter_settings_get_default
  (c-name "clutter_settings_get_default")
  (return-type "ClutterSettings*")
)



;; From clutter-shader-effect.h

(define-function clutter_shader_effect_get_type
  (c-name "clutter_shader_effect_get_type")
  (return-type "GType")
)

(define-method set_shader_source
  (of-object "ClutterShaderEffect")
  (c-name "clutter_shader_effect_set_shader_source")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "source")
  )
)

(define-method set_uniform
  (of-object "ClutterShaderEffect")
  (c-name "clutter_shader_effect_set_uniform")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
    '("GType" "gtype")
    '("gsize" "n_values")
  )
  (varargs #t)
)

(define-method set_uniform_value
  (of-object "ClutterShaderEffect")
  (c-name "clutter_shader_effect_set_uniform_value")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
    '("const-GValue*" "value")
  )
)

(define-method get_shader
  (of-object "ClutterShaderEffect")
  (c-name "clutter_shader_effect_get_shader")
  (return-type "CoglHandle")
)

(define-method get_program
  (of-object "ClutterShaderEffect")
  (c-name "clutter_shader_effect_get_program")
  (return-type "CoglHandle")
)



;; From clutter-shader.h

(define-function clutter_shader_error_quark
  (c-name "clutter_shader_error_quark")
  (return-type "GQuark")
)

(define-function clutter_shader_get_type
  (c-name "clutter_shader_get_type")
  (return-type "GType")
)

(define-function clutter_shader_new
  (c-name "clutter_shader_new")
  (is-constructor-of "ClutterShader")
  (return-type "ClutterShader*")
)

(define-method set_is_enabled
  (of-object "ClutterShader")
  (c-name "clutter_shader_set_is_enabled")
  (return-type "none")
  (parameters
    '("gboolean" "enabled")
  )
)

(define-method get_is_enabled
  (of-object "ClutterShader")
  (c-name "clutter_shader_get_is_enabled")
  (return-type "gboolean")
)

(define-method compile
  (of-object "ClutterShader")
  (c-name "clutter_shader_compile")
  (return-type "gboolean")
  (parameters
    '("GError**" "error")
  )
)

(define-method release
  (of-object "ClutterShader")
  (c-name "clutter_shader_release")
  (return-type "none")
)

(define-method is_compiled
  (of-object "ClutterShader")
  (c-name "clutter_shader_is_compiled")
  (return-type "gboolean")
)

(define-method set_vertex_source
  (of-object "ClutterShader")
  (c-name "clutter_shader_set_vertex_source")
  (return-type "none")
  (parameters
    '("const-gchar*" "data")
    '("gssize" "length")
  )
)

(define-method set_fragment_source
  (of-object "ClutterShader")
  (c-name "clutter_shader_set_fragment_source")
  (return-type "none")
  (parameters
    '("const-gchar*" "data")
    '("gssize" "length")
  )
)

(define-method get_vertex_source
  (of-object "ClutterShader")
  (c-name "clutter_shader_get_vertex_source")
  (return-type "const-gchar*")
)

(define-method get_fragment_source
  (of-object "ClutterShader")
  (c-name "clutter_shader_get_fragment_source")
  (return-type "const-gchar*")
)

(define-method set_uniform
  (of-object "ClutterShader")
  (c-name "clutter_shader_set_uniform")
  (return-type "none")
  (parameters
    '("const-gchar*" "name")
    '("const-GValue*" "value")
  )
)

(define-method get_cogl_program
  (of-object "ClutterShader")
  (c-name "clutter_shader_get_cogl_program")
  (return-type "CoglHandle")
)

(define-method get_cogl_fragment_shader
  (of-object "ClutterShader")
  (c-name "clutter_shader_get_cogl_fragment_shader")
  (return-type "CoglHandle")
)

(define-method get_cogl_vertex_shader
  (of-object "ClutterShader")
  (c-name "clutter_shader_get_cogl_vertex_shader")
  (return-type "CoglHandle")
)



;; From clutter-shader-types.h

(define-function clutter_shader_float_get_type
  (c-name "clutter_shader_float_get_type")
  (return-type "GType")
)

(define-function clutter_shader_int_get_type
  (c-name "clutter_shader_int_get_type")
  (return-type "GType")
)

(define-function clutter_shader_matrix_get_type
  (c-name "clutter_shader_matrix_get_type")
  (return-type "GType")
)

(define-function clutter_value_set_shader_float
  (c-name "clutter_value_set_shader_float")
  (return-type "none")
  (parameters
    '("GValue*" "value")
    '("gint" "size")
    '("const-gfloat*" "floats")
  )
)

(define-function clutter_value_set_shader_int
  (c-name "clutter_value_set_shader_int")
  (return-type "none")
  (parameters
    '("GValue*" "value")
    '("gint" "size")
    '("const-gint*" "ints")
  )
)

(define-function clutter_value_set_shader_matrix
  (c-name "clutter_value_set_shader_matrix")
  (return-type "none")
  (parameters
    '("GValue*" "value")
    '("gint" "size")
    '("const-gfloat*" "matrix")
  )
)

(define-function clutter_value_get_shader_float
  (c-name "clutter_value_get_shader_float")
  (return-type "const-gfloat*")
  (parameters
    '("const-GValue*" "value")
    '("gsize*" "length")
  )
)

(define-function clutter_value_get_shader_int
  (c-name "clutter_value_get_shader_int")
  (return-type "const-gint*")
  (parameters
    '("const-GValue*" "value")
    '("gsize*" "length")
  )
)

(define-function clutter_value_get_shader_matrix
  (c-name "clutter_value_get_shader_matrix")
  (return-type "const-gfloat*")
  (parameters
    '("const-GValue*" "value")
    '("gsize*" "length")
  )
)



;; From clutter-stage.h

(define-function clutter_perspective_get_type
  (c-name "clutter_perspective_get_type")
  (return-type "GType")
)

(define-function clutter_fog_get_type
  (c-name "clutter_fog_get_type")
  (return-type "GType")
)

(define-function clutter_stage_get_type
  (c-name "clutter_stage_get_type")
  (return-type "GType")
)

(define-function clutter_stage_get_default
  (c-name "clutter_stage_get_default")
  (return-type "ClutterActor*")
)

(define-function clutter_stage_new
  (c-name "clutter_stage_new")
  (is-constructor-of "ClutterStage")
  (return-type "ClutterActor*")
)

(define-method set_color
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_color")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "color")
  )
)

(define-method get_color
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_color")
  (return-type "none")
  (parameters
    '("ClutterColor*" "color")
  )
)

(define-method set_perspective
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_perspective")
  (return-type "none")
  (parameters
    '("ClutterPerspective*" "perspective")
  )
)

(define-method get_perspective
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_perspective")
  (return-type "none")
  (parameters
    '("ClutterPerspective*" "perspective")
  )
)

(define-method set_fullscreen
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_fullscreen")
  (return-type "none")
  (parameters
    '("gboolean" "fullscreen")
  )
)

(define-method get_fullscreen
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_fullscreen")
  (return-type "gboolean")
)

(define-method show_cursor
  (of-object "ClutterStage")
  (c-name "clutter_stage_show_cursor")
  (return-type "none")
)

(define-method hide_cursor
  (of-object "ClutterStage")
  (c-name "clutter_stage_hide_cursor")
  (return-type "none")
)

(define-method get_actor_at_pos
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_actor_at_pos")
  (return-type "ClutterActor*")
  (parameters
    '("ClutterPickMode" "pick_mode")
    '("gint" "x")
    '("gint" "y")
  )
)

(define-method read_pixels
  (of-object "ClutterStage")
  (c-name "clutter_stage_read_pixels")
  (return-type "guchar*")
  (parameters
    '("gint" "x")
    '("gint" "y")
    '("gint" "width")
    '("gint" "height")
  )
)

(define-method event
  (of-object "ClutterStage")
  (c-name "clutter_stage_event")
  (return-type "gboolean")
  (parameters
    '("ClutterEvent*" "event")
  )
)

(define-method set_title
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_title")
  (return-type "none")
  (parameters
    '("const-gchar*" "title")
  )
)

(define-method get_title
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_title")
  (return-type "const-gchar*")
)

(define-method set_user_resizable
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_user_resizable")
  (return-type "none")
  (parameters
    '("gboolean" "resizable")
  )
)

(define-method get_user_resizable
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_user_resizable")
  (return-type "gboolean")
)

(define-method set_use_fog
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_use_fog")
  (return-type "none")
  (parameters
    '("gboolean" "fog")
  )
)

(define-method get_use_fog
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_use_fog")
  (return-type "gboolean")
)

(define-method set_fog
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_fog")
  (return-type "none")
  (parameters
    '("ClutterFog*" "fog")
  )
)

(define-method get_fog
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_fog")
  (return-type "none")
  (parameters
    '("ClutterFog*" "fog")
  )
)

(define-method set_key_focus
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_key_focus")
  (return-type "none")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method get_key_focus
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_key_focus")
  (return-type "ClutterActor*")
)

(define-method ensure_current
  (of-object "ClutterStage")
  (c-name "clutter_stage_ensure_current")
  (return-type "none")
)

(define-method queue_redraw
  (of-object "ClutterStage")
  (c-name "clutter_stage_queue_redraw")
  (return-type "none")
)

(define-method is_default
  (of-object "ClutterStage")
  (c-name "clutter_stage_is_default")
  (return-type "gboolean")
)

(define-method ensure_viewport
  (of-object "ClutterStage")
  (c-name "clutter_stage_ensure_viewport")
  (return-type "none")
)

(define-method ensure_redraw
  (of-object "ClutterStage")
  (c-name "clutter_stage_ensure_redraw")
  (return-type "none")
)

(define-method set_throttle_motion_events
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_throttle_motion_events")
  (return-type "none")
  (parameters
    '("gboolean" "throttle")
  )
)

(define-method get_throttle_motion_events
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_throttle_motion_events")
  (return-type "gboolean")
)

(define-method set_use_alpha
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_use_alpha")
  (return-type "none")
  (parameters
    '("gboolean" "use_alpha")
  )
)

(define-method get_use_alpha
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_use_alpha")
  (return-type "gboolean")
)

(define-method set_minimum_size
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_minimum_size")
  (return-type "none")
  (parameters
    '("guint" "width")
    '("guint" "height")
  )
)

(define-method get_minimum_size
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_minimum_size")
  (return-type "none")
  (parameters
    '("guint*" "width")
    '("guint*" "height")
  )
)

(define-method set_no_clear_hint
  (of-object "ClutterStage")
  (c-name "clutter_stage_set_no_clear_hint")
  (return-type "none")
  (parameters
    '("gboolean" "no_clear")
  )
)

(define-method get_no_clear_hint
  (of-object "ClutterStage")
  (c-name "clutter_stage_get_no_clear_hint")
  (return-type "gboolean")
)



;; From clutter-stage-manager.h

(define-function clutter_stage_manager_get_type
  (c-name "clutter_stage_manager_get_type")
  (return-type "GType")
)

(define-function clutter_stage_manager_get_default
  (c-name "clutter_stage_manager_get_default")
  (return-type "ClutterStageManager*")
)

(define-method get_default_stage
  (of-object "ClutterStageManager")
  (c-name "clutter_stage_manager_get_default_stage")
  (return-type "ClutterStage*")
)

(define-method list_stages
  (of-object "ClutterStageManager")
  (c-name "clutter_stage_manager_list_stages")
  (return-type "GSList*")
)

(define-method peek_stages
  (of-object "ClutterStageManager")
  (c-name "clutter_stage_manager_peek_stages")
  (return-type "const-GSList*")
)

(define-method set_default_stage
  (of-object "ClutterStageManager")
  (c-name "clutter_stage_manager_set_default_stage")
  (return-type "none")
  (parameters
    '("ClutterStage*" "stage")
  )
)



;; From clutter-stage-window.h

(define-function clutter_stage_window_get_type
  (c-name "clutter_stage_window_get_type")
  (return-type "GType")
)



;; From clutter-state.h

(define-function clutter_state_get_type
  (c-name "clutter_state_get_type")
  (return-type "GType")
)

(define-function clutter_state_new
  (c-name "clutter_state_new")
  (is-constructor-of "ClutterState")
  (return-type "ClutterState*")
)

(define-method set_state
  (of-object "ClutterState")
  (c-name "clutter_state_set_state")
  (return-type "ClutterTimeline*")
  (parameters
    '("const-gchar*" "target_state_name")
  )
)

(define-method warp_to_state
  (of-object "ClutterState")
  (c-name "clutter_state_warp_to_state")
  (return-type "ClutterTimeline*")
  (parameters
    '("const-gchar*" "target_state_name")
  )
)

(define-method set_key
  (of-object "ClutterState")
  (c-name "clutter_state_set_key")
  (return-type "ClutterState*")
  (parameters
    '("const-gchar*" "source_state_name")
    '("const-gchar*" "target_state_name")
    '("GObject*" "object")
    '("const-gchar*" "property_name")
    '("guint" "mode")
    '("const-GValue*" "value")
    '("gdouble" "pre_delay")
    '("gdouble" "post_delay")
  )
)

(define-method set_duration
  (of-object "ClutterState")
  (c-name "clutter_state_set_duration")
  (return-type "none")
  (parameters
    '("const-gchar*" "source_state_name")
    '("const-gchar*" "target_state_name")
    '("guint" "duration")
  )
)

(define-method get_duration
  (of-object "ClutterState")
  (c-name "clutter_state_get_duration")
  (return-type "guint")
  (parameters
    '("const-gchar*" "source_state_name")
    '("const-gchar*" "target_state_name")
  )
)

(define-method set
  (of-object "ClutterState")
  (c-name "clutter_state_set")
  (return-type "none")
  (parameters
    '("const-gchar*" "source_state_name")
    '("const-gchar*" "target_state_name")
    '("gpointer" "first_object")
    '("const-gchar*" "first_property_name")
    '("gulong" "first_mode")
  )
  (varargs #t)
)

(define-method get_states
  (of-object "ClutterState")
  (c-name "clutter_state_get_states")
  (return-type "GList*")
)

(define-method get_keys
  (of-object "ClutterState")
  (c-name "clutter_state_get_keys")
  (return-type "GList*")
  (parameters
    '("const-gchar*" "source_state_name")
    '("const-gchar*" "target_state_name")
    '("GObject*" "object")
    '("const-gchar*" "property_name")
  )
)

(define-method remove_key
  (of-object "ClutterState")
  (c-name "clutter_state_remove_key")
  (return-type "none")
  (parameters
    '("const-gchar*" "source_state_name")
    '("const-gchar*" "target_state_name")
    '("GObject*" "object")
    '("const-gchar*" "property_name")
  )
)

(define-method get_timeline
  (of-object "ClutterState")
  (c-name "clutter_state_get_timeline")
  (return-type "ClutterTimeline*")
)

(define-method set_animator
  (of-object "ClutterState")
  (c-name "clutter_state_set_animator")
  (return-type "none")
  (parameters
    '("const-gchar*" "source_state_name")
    '("const-gchar*" "target_state_name")
    '("ClutterAnimator*" "animator")
  )
)

(define-method get_animator
  (of-object "ClutterState")
  (c-name "clutter_state_get_animator")
  (return-type "ClutterAnimator*")
  (parameters
    '("const-gchar*" "source_state_name")
    '("const-gchar*" "target_state_name")
  )
)

(define-method get_state
  (of-object "ClutterState")
  (c-name "clutter_state_get_state")
  (return-type "const-gchar*")
)

(define-function clutter_state_key_get_type
  (c-name "clutter_state_key_get_type")
  (return-type "GType")
)

(define-method get_pre_delay
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_pre_delay")
  (return-type "gdouble")
)

(define-method get_post_delay
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_post_delay")
  (return-type "gdouble")
)

(define-method get_mode
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_mode")
  (return-type "gulong")
)

(define-method get_value
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_value")
  (return-type "none")
  (parameters
    '("GValue*" "value")
  )
)

(define-method get_property_type
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_property_type")
  (return-type "GType")
)

(define-method get_object
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_object")
  (return-type "GObject*")
)

(define-method get_property_name
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_property_name")
  (return-type "const-gchar*")
)

(define-method get_source_state_name
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_source_state_name")
  (return-type "const-gchar*")
)

(define-method get_target_state_name
  (of-object "ClutterStateKey")
  (c-name "clutter_state_key_get_target_state_name")
  (return-type "const-gchar*")
)



;; From clutter-text.h

(define-function clutter_text_get_type
  (c-name "clutter_text_get_type")
  (return-type "GType")
)

(define-function clutter_text_new
  (c-name "clutter_text_new")
  (is-constructor-of "ClutterText")
  (return-type "ClutterActor*")
)

(define-function clutter_text_new_full
  (c-name "clutter_text_new_full")
  (return-type "ClutterActor*")
  (parameters
    '("const-gchar*" "font_name")
    '("const-gchar*" "text")
    '("const-ClutterColor*" "color")
  )
)

(define-function clutter_text_new_with_text
  (c-name "clutter_text_new_with_text")
  (return-type "ClutterActor*")
  (parameters
    '("const-gchar*" "font_name")
    '("const-gchar*" "text")
  )
)

(define-method get_text
  (of-object "ClutterText")
  (c-name "clutter_text_get_text")
  (return-type "const-gchar*")
)

(define-method set_text
  (of-object "ClutterText")
  (c-name "clutter_text_set_text")
  (return-type "none")
  (parameters
    '("const-gchar*" "text")
  )
)

(define-method set_markup
  (of-object "ClutterText")
  (c-name "clutter_text_set_markup")
  (return-type "none")
  (parameters
    '("const-gchar*" "markup")
  )
)

(define-method set_color
  (of-object "ClutterText")
  (c-name "clutter_text_set_color")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "color")
  )
)

(define-method get_color
  (of-object "ClutterText")
  (c-name "clutter_text_get_color")
  (return-type "none")
  (parameters
    '("ClutterColor*" "color")
  )
)

(define-method set_font_name
  (of-object "ClutterText")
  (c-name "clutter_text_set_font_name")
  (return-type "none")
  (parameters
    '("const-gchar*" "font_name")
  )
)

(define-method get_font_name
  (of-object "ClutterText")
  (c-name "clutter_text_get_font_name")
  (return-type "const-gchar*")
)

(define-method set_font_description
  (of-object "ClutterText")
  (c-name "clutter_text_set_font_description")
  (return-type "none")
  (parameters
    '("PangoFontDescription*" "font_desc")
  )
)

(define-method get_font_description
  (of-object "ClutterText")
  (c-name "clutter_text_get_font_description")
  (return-type "PangoFontDescription*")
)

(define-method set_ellipsize
  (of-object "ClutterText")
  (c-name "clutter_text_set_ellipsize")
  (return-type "none")
  (parameters
    '("PangoEllipsizeMode" "mode")
  )
)

(define-method get_ellipsize
  (of-object "ClutterText")
  (c-name "clutter_text_get_ellipsize")
  (return-type "PangoEllipsizeMode")
)

(define-method set_line_wrap
  (of-object "ClutterText")
  (c-name "clutter_text_set_line_wrap")
  (return-type "none")
  (parameters
    '("gboolean" "line_wrap")
  )
)

(define-method get_line_wrap
  (of-object "ClutterText")
  (c-name "clutter_text_get_line_wrap")
  (return-type "gboolean")
)

(define-method set_line_wrap_mode
  (of-object "ClutterText")
  (c-name "clutter_text_set_line_wrap_mode")
  (return-type "none")
  (parameters
    '("PangoWrapMode" "wrap_mode")
  )
)

(define-method get_line_wrap_mode
  (of-object "ClutterText")
  (c-name "clutter_text_get_line_wrap_mode")
  (return-type "PangoWrapMode")
)

(define-method get_layout
  (of-object "ClutterText")
  (c-name "clutter_text_get_layout")
  (return-type "PangoLayout*")
)

(define-method set_attributes
  (of-object "ClutterText")
  (c-name "clutter_text_set_attributes")
  (return-type "none")
  (parameters
    '("PangoAttrList*" "attrs")
  )
)

(define-method get_attributes
  (of-object "ClutterText")
  (c-name "clutter_text_get_attributes")
  (return-type "PangoAttrList*")
)

(define-method set_use_markup
  (of-object "ClutterText")
  (c-name "clutter_text_set_use_markup")
  (return-type "none")
  (parameters
    '("gboolean" "setting")
  )
)

(define-method get_use_markup
  (of-object "ClutterText")
  (c-name "clutter_text_get_use_markup")
  (return-type "gboolean")
)

(define-method set_line_alignment
  (of-object "ClutterText")
  (c-name "clutter_text_set_line_alignment")
  (return-type "none")
  (parameters
    '("PangoAlignment" "alignment")
  )
)

(define-method get_line_alignment
  (of-object "ClutterText")
  (c-name "clutter_text_get_line_alignment")
  (return-type "PangoAlignment")
)

(define-method set_justify
  (of-object "ClutterText")
  (c-name "clutter_text_set_justify")
  (return-type "none")
  (parameters
    '("gboolean" "justify")
  )
)

(define-method get_justify
  (of-object "ClutterText")
  (c-name "clutter_text_get_justify")
  (return-type "gboolean")
)

(define-method insert_unichar
  (of-object "ClutterText")
  (c-name "clutter_text_insert_unichar")
  (return-type "none")
  (parameters
    '("gunichar" "wc")
  )
)

(define-method delete_chars
  (of-object "ClutterText")
  (c-name "clutter_text_delete_chars")
  (return-type "none")
  (parameters
    '("guint" "n_chars")
  )
)

(define-method insert_text
  (of-object "ClutterText")
  (c-name "clutter_text_insert_text")
  (return-type "none")
  (parameters
    '("const-gchar*" "text")
    '("gssize" "position")
  )
)

(define-method delete_text
  (of-object "ClutterText")
  (c-name "clutter_text_delete_text")
  (return-type "none")
  (parameters
    '("gssize" "start_pos")
    '("gssize" "end_pos")
  )
)

(define-method get_chars
  (of-object "ClutterText")
  (c-name "clutter_text_get_chars")
  (return-type "gchar*")
  (parameters
    '("gssize" "start_pos")
    '("gssize" "end_pos")
  )
)

(define-method set_editable
  (of-object "ClutterText")
  (c-name "clutter_text_set_editable")
  (return-type "none")
  (parameters
    '("gboolean" "editable")
  )
)

(define-method get_editable
  (of-object "ClutterText")
  (c-name "clutter_text_get_editable")
  (return-type "gboolean")
)

(define-method set_activatable
  (of-object "ClutterText")
  (c-name "clutter_text_set_activatable")
  (return-type "none")
  (parameters
    '("gboolean" "activatable")
  )
)

(define-method get_activatable
  (of-object "ClutterText")
  (c-name "clutter_text_get_activatable")
  (return-type "gboolean")
)

(define-method get_cursor_position
  (of-object "ClutterText")
  (c-name "clutter_text_get_cursor_position")
  (return-type "gint")
)

(define-method set_cursor_position
  (of-object "ClutterText")
  (c-name "clutter_text_set_cursor_position")
  (return-type "none")
  (parameters
    '("gint" "position")
  )
)

(define-method set_cursor_visible
  (of-object "ClutterText")
  (c-name "clutter_text_set_cursor_visible")
  (return-type "none")
  (parameters
    '("gboolean" "cursor_visible")
  )
)

(define-method get_cursor_visible
  (of-object "ClutterText")
  (c-name "clutter_text_get_cursor_visible")
  (return-type "gboolean")
)

(define-method set_cursor_color
  (of-object "ClutterText")
  (c-name "clutter_text_set_cursor_color")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "color")
  )
)

(define-method get_cursor_color
  (of-object "ClutterText")
  (c-name "clutter_text_get_cursor_color")
  (return-type "none")
  (parameters
    '("ClutterColor*" "color")
  )
)

(define-method set_cursor_size
  (of-object "ClutterText")
  (c-name "clutter_text_set_cursor_size")
  (return-type "none")
  (parameters
    '("gint" "size")
  )
)

(define-method get_cursor_size
  (of-object "ClutterText")
  (c-name "clutter_text_get_cursor_size")
  (return-type "guint")
)

(define-method set_selectable
  (of-object "ClutterText")
  (c-name "clutter_text_set_selectable")
  (return-type "none")
  (parameters
    '("gboolean" "selectable")
  )
)

(define-method get_selectable
  (of-object "ClutterText")
  (c-name "clutter_text_get_selectable")
  (return-type "gboolean")
)

(define-method set_selection_bound
  (of-object "ClutterText")
  (c-name "clutter_text_set_selection_bound")
  (return-type "none")
  (parameters
    '("gint" "selection_bound")
  )
)

(define-method get_selection_bound
  (of-object "ClutterText")
  (c-name "clutter_text_get_selection_bound")
  (return-type "gint")
)

(define-method set_selection
  (of-object "ClutterText")
  (c-name "clutter_text_set_selection")
  (return-type "none")
  (parameters
    '("gssize" "start_pos")
    '("gssize" "end_pos")
  )
)

(define-method get_selection
  (of-object "ClutterText")
  (c-name "clutter_text_get_selection")
  (return-type "gchar*")
)

(define-method set_selection_color
  (of-object "ClutterText")
  (c-name "clutter_text_set_selection_color")
  (return-type "none")
  (parameters
    '("const-ClutterColor*" "color")
  )
)

(define-method get_selection_color
  (of-object "ClutterText")
  (c-name "clutter_text_get_selection_color")
  (return-type "none")
  (parameters
    '("ClutterColor*" "color")
  )
)

(define-method delete_selection
  (of-object "ClutterText")
  (c-name "clutter_text_delete_selection")
  (return-type "gboolean")
)

(define-method set_password_char
  (of-object "ClutterText")
  (c-name "clutter_text_set_password_char")
  (return-type "none")
  (parameters
    '("gunichar" "wc")
  )
)

(define-method get_password_char
  (of-object "ClutterText")
  (c-name "clutter_text_get_password_char")
  (return-type "gunichar")
)

(define-method set_max_length
  (of-object "ClutterText")
  (c-name "clutter_text_set_max_length")
  (return-type "none")
  (parameters
    '("gint" "max")
  )
)

(define-method get_max_length
  (of-object "ClutterText")
  (c-name "clutter_text_get_max_length")
  (return-type "gint")
)

(define-method set_single_line_mode
  (of-object "ClutterText")
  (c-name "clutter_text_set_single_line_mode")
  (return-type "none")
  (parameters
    '("gboolean" "single_line")
  )
)

(define-method get_single_line_mode
  (of-object "ClutterText")
  (c-name "clutter_text_get_single_line_mode")
  (return-type "gboolean")
)

(define-method activate
  (of-object "ClutterText")
  (c-name "clutter_text_activate")
  (return-type "gboolean")
)

(define-method position_to_coords
  (of-object "ClutterText")
  (c-name "clutter_text_position_to_coords")
  (return-type "gboolean")
  (parameters
    '("gint" "position")
    '("gfloat*" "x")
    '("gfloat*" "y")
    '("gfloat*" "line_height")
  )
)

(define-method set_preedit_string
  (of-object "ClutterText")
  (c-name "clutter_text_set_preedit_string")
  (return-type "none")
  (parameters
    '("const-gchar*" "preedit_str")
    '("PangoAttrList*" "preedit_attrs")
    '("guint" "cursor_pos")
  )
)



;; From clutter-texture.h

(define-function clutter_texture_error_quark
  (c-name "clutter_texture_error_quark")
  (return-type "GQuark")
)

(define-function clutter_texture_get_type
  (c-name "clutter_texture_get_type")
  (return-type "GType")
)

(define-function clutter_texture_new
  (c-name "clutter_texture_new")
  (is-constructor-of "ClutterTexture")
  (return-type "ClutterActor*")
)

(define-function clutter_texture_new_from_file
  (c-name "clutter_texture_new_from_file")
  (return-type "ClutterActor*")
  (parameters
    '("const-gchar*" "filename")
    '("GError**" "error")
  )
)

(define-function clutter_texture_new_from_actor
  (c-name "clutter_texture_new_from_actor")
  (return-type "ClutterActor*")
  (parameters
    '("ClutterActor*" "actor")
  )
)

(define-method set_from_file
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_from_file")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "filename")
    '("GError**" "error")
  )
)

(define-method set_from_rgb_data
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_from_rgb_data")
  (return-type "gboolean")
  (parameters
    '("const-guchar*" "data")
    '("gboolean" "has_alpha")
    '("gint" "width")
    '("gint" "height")
    '("gint" "rowstride")
    '("gint" "bpp")
    '("ClutterTextureFlags" "flags")
    '("GError**" "error")
  )
)

(define-method set_from_yuv_data
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_from_yuv_data")
  (return-type "gboolean")
  (parameters
    '("const-guchar*" "data")
    '("gint" "width")
    '("gint" "height")
    '("ClutterTextureFlags" "flags")
    '("GError**" "error")
  )
)

(define-method set_area_from_rgb_data
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_area_from_rgb_data")
  (return-type "gboolean")
  (parameters
    '("const-guchar*" "data")
    '("gboolean" "has_alpha")
    '("gint" "x")
    '("gint" "y")
    '("gint" "width")
    '("gint" "height")
    '("gint" "rowstride")
    '("gint" "bpp")
    '("ClutterTextureFlags" "flags")
    '("GError**" "error")
  )
)

(define-method get_base_size
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_base_size")
  (return-type "none")
  (parameters
    '("gint*" "width")
    '("gint*" "height")
  )
)

(define-method set_filter_quality
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_filter_quality")
  (return-type "none")
  (parameters
    '("ClutterTextureQuality" "filter_quality")
  )
)

(define-method get_filter_quality
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_filter_quality")
  (return-type "ClutterTextureQuality")
)

(define-method get_cogl_texture
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_cogl_texture")
  (return-type "CoglHandle")
)

(define-method set_cogl_texture
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_cogl_texture")
  (return-type "none")
  (parameters
    '("CoglHandle" "cogl_tex")
  )
)

(define-method get_cogl_material
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_cogl_material")
  (return-type "CoglHandle")
)

(define-method set_cogl_material
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_cogl_material")
  (return-type "none")
  (parameters
    '("CoglHandle" "cogl_material")
  )
)

(define-method set_sync_size
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_sync_size")
  (return-type "none")
  (parameters
    '("gboolean" "sync_size")
  )
)

(define-method get_sync_size
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_sync_size")
  (return-type "gboolean")
)

(define-method set_repeat
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_repeat")
  (return-type "none")
  (parameters
    '("gboolean" "repeat_x")
    '("gboolean" "repeat_y")
  )
)

(define-method get_repeat
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_repeat")
  (return-type "none")
  (parameters
    '("gboolean*" "repeat_x")
    '("gboolean*" "repeat_y")
  )
)

(define-method get_pixel_format
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_pixel_format")
  (return-type "CoglPixelFormat")
)

(define-method get_max_tile_waste
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_max_tile_waste")
  (return-type "gint")
)

(define-method set_keep_aspect_ratio
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_keep_aspect_ratio")
  (return-type "none")
  (parameters
    '("gboolean" "keep_aspect")
  )
)

(define-method get_keep_aspect_ratio
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_keep_aspect_ratio")
  (return-type "gboolean")
)

(define-method set_load_async
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_load_async")
  (return-type "none")
  (parameters
    '("gboolean" "load_async")
  )
)

(define-method get_load_async
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_load_async")
  (return-type "gboolean")
)

(define-method set_load_data_async
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_load_data_async")
  (return-type "none")
  (parameters
    '("gboolean" "load_async")
  )
)

(define-method get_load_data_async
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_load_data_async")
  (return-type "gboolean")
)

(define-method set_pick_with_alpha
  (of-object "ClutterTexture")
  (c-name "clutter_texture_set_pick_with_alpha")
  (return-type "none")
  (parameters
    '("gboolean" "pick_with_alpha")
  )
)

(define-method get_pick_with_alpha
  (of-object "ClutterTexture")
  (c-name "clutter_texture_get_pick_with_alpha")
  (return-type "gboolean")
)



;; From clutter-timeline.h

(define-function clutter_timeline_get_type
  (c-name "clutter_timeline_get_type")
  (return-type "GType")
)

(define-function clutter_timeline_new
  (c-name "clutter_timeline_new")
  (is-constructor-of "ClutterTimeline")
  (return-type "ClutterTimeline*")
  (parameters
    '("guint" "msecs")
  )
)

(define-method clone
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_clone")
  (return-type "ClutterTimeline*")
)

(define-method get_duration
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_get_duration")
  (return-type "guint")
)

(define-method set_duration
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_set_duration")
  (return-type "none")
  (parameters
    '("guint" "msecs")
  )
)

(define-method get_direction
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_get_direction")
  (return-type "ClutterTimelineDirection")
)

(define-method set_direction
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_set_direction")
  (return-type "none")
  (parameters
    '("ClutterTimelineDirection" "direction")
  )
)

(define-method start
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_start")
  (return-type "none")
)

(define-method pause
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_pause")
  (return-type "none")
)

(define-method stop
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_stop")
  (return-type "none")
)

(define-method set_loop
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_set_loop")
  (return-type "none")
  (parameters
    '("gboolean" "loop")
  )
)

(define-method get_loop
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_get_loop")
  (return-type "gboolean")
)

(define-method rewind
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_rewind")
  (return-type "none")
)

(define-method skip
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_skip")
  (return-type "none")
  (parameters
    '("guint" "msecs")
  )
)

(define-method advance
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_advance")
  (return-type "none")
  (parameters
    '("guint" "msecs")
  )
)

(define-method get_elapsed_time
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_get_elapsed_time")
  (return-type "guint")
)

(define-method get_progress
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_get_progress")
  (return-type "gdouble")
)

(define-method is_playing
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_is_playing")
  (return-type "gboolean")
)

(define-method set_delay
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_set_delay")
  (return-type "none")
  (parameters
    '("guint" "msecs")
  )
)

(define-method get_delay
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_get_delay")
  (return-type "guint")
)

(define-method get_delta
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_get_delta")
  (return-type "guint")
)

(define-method add_marker_at_time
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_add_marker_at_time")
  (return-type "none")
  (parameters
    '("const-gchar*" "marker_name")
    '("guint" "msecs")
  )
)

(define-method remove_marker
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_remove_marker")
  (return-type "none")
  (parameters
    '("const-gchar*" "marker_name")
  )
)

(define-method list_markers
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_list_markers")
  (return-type "gchar**")
  (parameters
    '("gint" "msecs")
    '("gsize*" "n_markers")
  )
)

(define-method has_marker
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_has_marker")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "marker_name")
  )
)

(define-method advance_to_marker
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_advance_to_marker")
  (return-type "none")
  (parameters
    '("const-gchar*" "marker_name")
  )
)

(define-method do_tick
  (of-object "ClutterTimeline")
  (c-name "clutter_timeline_do_tick")
  (return-type "none")
  (parameters
    '("GTimeVal*" "tick_time")
  )
)



;; From clutter-timeout-pool.h

(define-function clutter_timeout_pool_new
  (c-name "clutter_timeout_pool_new")
  (is-constructor-of "ClutterTimeoutPool")
  (return-type "ClutterTimeoutPool*")
  (parameters
    '("gint" "priority")
  )
)

(define-method add
  (of-object "ClutterTimeoutPool")
  (c-name "clutter_timeout_pool_add")
  (return-type "guint")
  (parameters
    '("guint" "fps")
    '("GSourceFunc" "func")
    '("gpointer" "data")
    '("GDestroyNotify" "notify")
  )
)

(define-method remove
  (of-object "ClutterTimeoutPool")
  (c-name "clutter_timeout_pool_remove")
  (return-type "none")
  (parameters
    '("guint" "id")
  )
)



;; From clutter-types.h

(define-function clutter_vertex_get_type
  (c-name "clutter_vertex_get_type")
  (return-type "GType")
)

(define-function clutter_vertex_new
  (c-name "clutter_vertex_new")
  (is-constructor-of "ClutterVertex")
  (return-type "ClutterVertex*")
  (parameters
    '("gfloat" "x")
    '("gfloat" "y")
    '("gfloat" "z")
  )
)

(define-method copy
  (of-object "ClutterVertex")
  (c-name "clutter_vertex_copy")
  (return-type "ClutterVertex*")
)

(define-method free
  (of-object "ClutterVertex")
  (c-name "clutter_vertex_free")
  (return-type "none")
)

(define-method equal
  (of-object "ClutterVertex")
  (c-name "clutter_vertex_equal")
  (return-type "gboolean")
  (parameters
    '("const-ClutterVertex*" "vertex_b")
  )
)

(define-function clutter_actor_box_get_type
  (c-name "clutter_actor_box_get_type")
  (return-type "GType")
)

(define-function clutter_actor_box_new
  (c-name "clutter_actor_box_new")
  (is-constructor-of "ClutterActorBox")
  (return-type "ClutterActorBox*")
  (parameters
    '("gfloat" "x_1")
    '("gfloat" "y_1")
    '("gfloat" "x_2")
    '("gfloat" "y_2")
  )
)

(define-method copy
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_copy")
  (return-type "ClutterActorBox*")
)

(define-method free
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_free")
  (return-type "none")
)

(define-method equal
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_equal")
  (return-type "gboolean")
  (parameters
    '("const-ClutterActorBox*" "box_b")
  )
)

(define-method get_x
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_get_x")
  (return-type "gfloat")
)

(define-method get_y
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_get_y")
  (return-type "gfloat")
)

(define-method get_width
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_get_width")
  (return-type "gfloat")
)

(define-method get_height
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_get_height")
  (return-type "gfloat")
)

(define-method get_origin
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_get_origin")
  (return-type "none")
  (parameters
    '("gfloat*" "x")
    '("gfloat*" "y")
  )
)

(define-method get_size
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_get_size")
  (return-type "none")
  (parameters
    '("gfloat*" "width")
    '("gfloat*" "height")
  )
)

(define-method get_area
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_get_area")
  (return-type "gfloat")
)

(define-method contains
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_contains")
  (return-type "gboolean")
  (parameters
    '("gfloat" "x")
    '("gfloat" "y")
  )
)

(define-method from_vertices
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_from_vertices")
  (return-type "none")
  (parameters
    '("const-ClutterVertex[]" "verts")
  )
)

(define-method interpolate
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_interpolate")
  (return-type "none")
  (parameters
    '("const-ClutterActorBox*" "final")
    '("gdouble" "progress")
    '("ClutterActorBox*" "result")
  )
)

(define-method clamp_to_pixel
  (of-object "ClutterActorBox")
  (c-name "clutter_actor_box_clamp_to_pixel")
  (return-type "none")
)

(define-function clutter_geometry_get_type
  (c-name "clutter_geometry_get_type")
  (return-type "GType")
)

(define-method union
  (of-object "ClutterGeometry")
  (c-name "clutter_geometry_union")
  (return-type "none")
  (parameters
    '("const-ClutterGeometry*" "geometry_b")
    '("ClutterGeometry*" "result")
  )
)

(define-function clutter_knot_get_type
  (c-name "clutter_knot_get_type")
  (return-type "GType")
)

(define-method copy
  (of-object "ClutterKnot")
  (c-name "clutter_knot_copy")
  (return-type "ClutterKnot*")
)

(define-method free
  (of-object "ClutterKnot")
  (c-name "clutter_knot_free")
  (return-type "none")
)

(define-method equal
  (of-object "ClutterKnot")
  (c-name "clutter_knot_equal")
  (return-type "gboolean")
  (parameters
    '("const-ClutterKnot*" "knot_b")
  )
)



;; From clutter-units.h

(define-function clutter_units_get_type
  (c-name "clutter_units_get_type")
  (return-type "GType")
)

(define-method get_unit_type
  (of-object "ClutterUnits")
  (c-name "clutter_units_get_unit_type")
  (return-type "ClutterUnitType")
)

(define-method get_unit_value
  (of-object "ClutterUnits")
  (c-name "clutter_units_get_unit_value")
  (return-type "gfloat")
)

(define-method copy
  (of-object "ClutterUnits")
  (c-name "clutter_units_copy")
  (return-type "ClutterUnits*")
)

(define-method free
  (of-object "ClutterUnits")
  (c-name "clutter_units_free")
  (return-type "none")
)

(define-method from_pixels
  (of-object "ClutterUnits")
  (c-name "clutter_units_from_pixels")
  (return-type "none")
  (parameters
    '("gint" "px")
  )
)

(define-method from_em
  (of-object "ClutterUnits")
  (c-name "clutter_units_from_em")
  (return-type "none")
  (parameters
    '("gfloat" "em")
  )
)

(define-method from_em_for_font
  (of-object "ClutterUnits")
  (c-name "clutter_units_from_em_for_font")
  (return-type "none")
  (parameters
    '("const-gchar*" "font_name")
    '("gfloat" "em")
  )
)

(define-method from_mm
  (of-object "ClutterUnits")
  (c-name "clutter_units_from_mm")
  (return-type "none")
  (parameters
    '("gfloat" "mm")
  )
)

(define-method from_cm
  (of-object "ClutterUnits")
  (c-name "clutter_units_from_cm")
  (return-type "none")
  (parameters
    '("gfloat" "cm")
  )
)

(define-method from_pt
  (of-object "ClutterUnits")
  (c-name "clutter_units_from_pt")
  (return-type "none")
  (parameters
    '("gfloat" "pt")
  )
)

(define-method to_pixels
  (of-object "ClutterUnits")
  (c-name "clutter_units_to_pixels")
  (return-type "gfloat")
)

(define-method from_string
  (of-object "ClutterUnits")
  (c-name "clutter_units_from_string")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method to_string
  (of-object "ClutterUnits")
  (c-name "clutter_units_to_string")
  (return-type "gchar*")
)

(define-function clutter_param_units_get_type
  (c-name "clutter_param_units_get_type")
  (return-type "GType")
)

(define-function clutter_param_spec_units
  (c-name "clutter_param_spec_units")
  (return-type "GParamSpec*")
  (parameters
    '("const-gchar*" "name")
    '("const-gchar*" "nick")
    '("const-gchar*" "blurb")
    '("ClutterUnitType" "default_type")
    '("gfloat" "minimum")
    '("gfloat" "maximum")
    '("gfloat" "default_value")
    '("GParamFlags" "flags")
  )
)

(define-function clutter_value_set_units
  (c-name "clutter_value_set_units")
  (return-type "none")
  (parameters
    '("GValue*" "value")
    '("const-ClutterUnits*" "units")
  )
)

(define-function clutter_value_get_units
  (c-name "clutter_value_get_units")
  (return-type "const-ClutterUnits*")
  (parameters
    '("const-GValue*" "value")
  )
)



;; From clutter-util.h

(define-function clutter_util_next_p2
  (c-name "clutter_util_next_p2")
  (return-type "gint")
  (parameters
    '("gint" "a")
  )
)



;; From clutter-version.h

(define-function clutter_check_version
  (c-name "clutter_check_version")
  (return-type "gboolean")
  (parameters
    '("guint" "major")
    '("guint" "minor")
    '("guint" "micro")
  )
)


