{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- The t'GI.Clutter.Objects.Clone.Clone' structure contains only private data
-- and should be accessed using the provided API
-- 
-- /Since: 1.0/

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.Clutter.Objects.Clone
    ( 

-- * Exported types
    Clone(..)                               ,
    IsClone                                 ,
    toClone                                 ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addAction]("GI.Clutter.Objects.Actor#g:method:addAction"), [addActionWithName]("GI.Clutter.Objects.Actor#g:method:addActionWithName"), [addActor]("GI.Clutter.Interfaces.Container#g:method:addActor"), [addChild]("GI.Clutter.Objects.Actor#g:method:addChild"), [addConstraint]("GI.Clutter.Objects.Actor#g:method:addConstraint"), [addConstraintWithName]("GI.Clutter.Objects.Actor#g:method:addConstraintWithName"), [addEffect]("GI.Clutter.Objects.Actor#g:method:addEffect"), [addEffectWithName]("GI.Clutter.Objects.Actor#g:method:addEffectWithName"), [addTransition]("GI.Clutter.Objects.Actor#g:method:addTransition"), [allocate]("GI.Clutter.Objects.Actor#g:method:allocate"), [allocateAlignFill]("GI.Clutter.Objects.Actor#g:method:allocateAlignFill"), [allocateAvailableSize]("GI.Clutter.Objects.Actor#g:method:allocateAvailableSize"), [allocatePreferredSize]("GI.Clutter.Objects.Actor#g:method:allocatePreferredSize"), [animateProperty]("GI.Clutter.Interfaces.Animatable#g:method:animateProperty"), [animateWithAlphav]("GI.Clutter.Objects.Actor#g:method:animateWithAlphav"), [animateWithTimelinev]("GI.Clutter.Objects.Actor#g:method:animateWithTimelinev"), [animatev]("GI.Clutter.Objects.Actor#g:method:animatev"), [applyRelativeTransformToPoint]("GI.Clutter.Objects.Actor#g:method:applyRelativeTransformToPoint"), [applyTransformToPoint]("GI.Clutter.Objects.Actor#g:method:applyTransformToPoint"), [bindModel]("GI.Clutter.Objects.Actor#g:method:bindModel"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [childGetProperty]("GI.Clutter.Interfaces.Container#g:method:childGetProperty"), [childNotify]("GI.Clutter.Interfaces.Container#g:method:childNotify"), [childSetProperty]("GI.Clutter.Interfaces.Container#g:method:childSetProperty"), [clearActions]("GI.Clutter.Objects.Actor#g:method:clearActions"), [clearConstraints]("GI.Clutter.Objects.Actor#g:method:clearConstraints"), [clearEffects]("GI.Clutter.Objects.Actor#g:method:clearEffects"), [contains]("GI.Clutter.Objects.Actor#g:method:contains"), [continuePaint]("GI.Clutter.Objects.Actor#g:method:continuePaint"), [createChildMeta]("GI.Clutter.Interfaces.Container#g:method:createChildMeta"), [createPangoContext]("GI.Clutter.Objects.Actor#g:method:createPangoContext"), [createPangoLayout]("GI.Clutter.Objects.Actor#g:method:createPangoLayout"), [destroy]("GI.Clutter.Objects.Actor#g:method:destroy"), [destroyAllChildren]("GI.Clutter.Objects.Actor#g:method:destroyAllChildren"), [destroyChildMeta]("GI.Clutter.Interfaces.Container#g:method:destroyChildMeta"), [detachAnimation]("GI.Clutter.Objects.Actor#g:method:detachAnimation"), [event]("GI.Clutter.Objects.Actor#g:method:event"), [findChildByName]("GI.Clutter.Interfaces.Container#g:method:findChildByName"), [findProperty]("GI.Clutter.Interfaces.Animatable#g:method:findProperty"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [foreach]("GI.Clutter.Interfaces.Container#g:method:foreach"), [foreachWithInternals]("GI.Clutter.Interfaces.Container#g:method:foreachWithInternals"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [grabKeyFocus]("GI.Clutter.Objects.Actor#g:method:grabKeyFocus"), [hasActions]("GI.Clutter.Objects.Actor#g:method:hasActions"), [hasAllocation]("GI.Clutter.Objects.Actor#g:method:hasAllocation"), [hasClip]("GI.Clutter.Objects.Actor#g:method:hasClip"), [hasConstraints]("GI.Clutter.Objects.Actor#g:method:hasConstraints"), [hasEffects]("GI.Clutter.Objects.Actor#g:method:hasEffects"), [hasKeyFocus]("GI.Clutter.Objects.Actor#g:method:hasKeyFocus"), [hasOverlaps]("GI.Clutter.Objects.Actor#g:method:hasOverlaps"), [hasPointer]("GI.Clutter.Objects.Actor#g:method:hasPointer"), [hide]("GI.Clutter.Objects.Actor#g:method:hide"), [hideAll]("GI.Clutter.Objects.Actor#g:method:hideAll"), [insertChildAbove]("GI.Clutter.Objects.Actor#g:method:insertChildAbove"), [insertChildAtIndex]("GI.Clutter.Objects.Actor#g:method:insertChildAtIndex"), [insertChildBelow]("GI.Clutter.Objects.Actor#g:method:insertChildBelow"), [interpolateValue]("GI.Clutter.Interfaces.Animatable#g:method:interpolateValue"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isInClonePaint]("GI.Clutter.Objects.Actor#g:method:isInClonePaint"), [isMapped]("GI.Clutter.Objects.Actor#g:method:isMapped"), [isRealized]("GI.Clutter.Objects.Actor#g:method:isRealized"), [isRotated]("GI.Clutter.Objects.Actor#g:method:isRotated"), [isScaled]("GI.Clutter.Objects.Actor#g:method:isScaled"), [isVisible]("GI.Clutter.Objects.Actor#g:method:isVisible"), [lower]("GI.Clutter.Objects.Actor#g:method:lower"), [lowerBottom]("GI.Clutter.Objects.Actor#g:method:lowerBottom"), [lowerChild]("GI.Clutter.Interfaces.Container#g:method:lowerChild"), [map]("GI.Clutter.Objects.Actor#g:method:map"), [moveAnchorPoint]("GI.Clutter.Objects.Actor#g:method:moveAnchorPoint"), [moveAnchorPointFromGravity]("GI.Clutter.Objects.Actor#g:method:moveAnchorPointFromGravity"), [moveBy]("GI.Clutter.Objects.Actor#g:method:moveBy"), [needsExpand]("GI.Clutter.Objects.Actor#g:method:needsExpand"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [paint]("GI.Clutter.Objects.Actor#g:method:paint"), [parseCustomNode]("GI.Clutter.Interfaces.Scriptable#g:method:parseCustomNode"), [popInternal]("GI.Clutter.Objects.Actor#g:method:popInternal"), [pushInternal]("GI.Clutter.Objects.Actor#g:method:pushInternal"), [queueRedraw]("GI.Clutter.Objects.Actor#g:method:queueRedraw"), [queueRedrawWithClip]("GI.Clutter.Objects.Actor#g:method:queueRedrawWithClip"), [queueRelayout]("GI.Clutter.Objects.Actor#g:method:queueRelayout"), [raise]("GI.Clutter.Objects.Actor#g:method:raise"), [raiseChild]("GI.Clutter.Interfaces.Container#g:method:raiseChild"), [raiseTop]("GI.Clutter.Objects.Actor#g:method:raiseTop"), [realize]("GI.Clutter.Objects.Actor#g:method:realize"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [removeAction]("GI.Clutter.Objects.Actor#g:method:removeAction"), [removeActionByName]("GI.Clutter.Objects.Actor#g:method:removeActionByName"), [removeActor]("GI.Clutter.Interfaces.Container#g:method:removeActor"), [removeAllChildren]("GI.Clutter.Objects.Actor#g:method:removeAllChildren"), [removeAllTransitions]("GI.Clutter.Objects.Actor#g:method:removeAllTransitions"), [removeChild]("GI.Clutter.Objects.Actor#g:method:removeChild"), [removeClip]("GI.Clutter.Objects.Actor#g:method:removeClip"), [removeConstraint]("GI.Clutter.Objects.Actor#g:method:removeConstraint"), [removeConstraintByName]("GI.Clutter.Objects.Actor#g:method:removeConstraintByName"), [removeEffect]("GI.Clutter.Objects.Actor#g:method:removeEffect"), [removeEffectByName]("GI.Clutter.Objects.Actor#g:method:removeEffectByName"), [removeTransition]("GI.Clutter.Objects.Actor#g:method:removeTransition"), [reparent]("GI.Clutter.Objects.Actor#g:method:reparent"), [replaceChild]("GI.Clutter.Objects.Actor#g:method:replaceChild"), [restoreEasingState]("GI.Clutter.Objects.Actor#g:method:restoreEasingState"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [saveEasingState]("GI.Clutter.Objects.Actor#g:method:saveEasingState"), [shouldPickPaint]("GI.Clutter.Objects.Actor#g:method:shouldPickPaint"), [show]("GI.Clutter.Objects.Actor#g:method:show"), [showAll]("GI.Clutter.Objects.Actor#g:method:showAll"), [sortDepthOrder]("GI.Clutter.Interfaces.Container#g:method:sortDepthOrder"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [transformStagePoint]("GI.Clutter.Objects.Actor#g:method:transformStagePoint"), [unmap]("GI.Clutter.Objects.Actor#g:method:unmap"), [unparent]("GI.Clutter.Objects.Actor#g:method:unparent"), [unrealize]("GI.Clutter.Objects.Actor#g:method:unrealize"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [unsetFlags]("GI.Clutter.Objects.Actor#g:method:unsetFlags"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAbsAllocationVertices]("GI.Clutter.Objects.Actor#g:method:getAbsAllocationVertices"), [getAccessible]("GI.Clutter.Objects.Actor#g:method:getAccessible"), [getAction]("GI.Clutter.Objects.Actor#g:method:getAction"), [getActions]("GI.Clutter.Objects.Actor#g:method:getActions"), [getAllocationBox]("GI.Clutter.Objects.Actor#g:method:getAllocationBox"), [getAllocationGeometry]("GI.Clutter.Objects.Actor#g:method:getAllocationGeometry"), [getAllocationVertices]("GI.Clutter.Objects.Actor#g:method:getAllocationVertices"), [getAnchorPoint]("GI.Clutter.Objects.Actor#g:method:getAnchorPoint"), [getAnchorPointGravity]("GI.Clutter.Objects.Actor#g:method:getAnchorPointGravity"), [getAnimation]("GI.Clutter.Objects.Actor#g:method:getAnimation"), [getBackgroundColor]("GI.Clutter.Objects.Actor#g:method:getBackgroundColor"), [getChildAtIndex]("GI.Clutter.Objects.Actor#g:method:getChildAtIndex"), [getChildMeta]("GI.Clutter.Interfaces.Container#g:method:getChildMeta"), [getChildTransform]("GI.Clutter.Objects.Actor#g:method:getChildTransform"), [getChildren]("GI.Clutter.Objects.Actor#g:method:getChildren"), [getClip]("GI.Clutter.Objects.Actor#g:method:getClip"), [getClipToAllocation]("GI.Clutter.Objects.Actor#g:method:getClipToAllocation"), [getConstraint]("GI.Clutter.Objects.Actor#g:method:getConstraint"), [getConstraints]("GI.Clutter.Objects.Actor#g:method:getConstraints"), [getContent]("GI.Clutter.Objects.Actor#g:method:getContent"), [getContentBox]("GI.Clutter.Objects.Actor#g:method:getContentBox"), [getContentGravity]("GI.Clutter.Objects.Actor#g:method:getContentGravity"), [getContentRepeat]("GI.Clutter.Objects.Actor#g:method:getContentRepeat"), [getContentScalingFilters]("GI.Clutter.Objects.Actor#g:method:getContentScalingFilters"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDefaultPaintVolume]("GI.Clutter.Objects.Actor#g:method:getDefaultPaintVolume"), [getDepth]("GI.Clutter.Objects.Actor#g:method:getDepth"), [getEasingDelay]("GI.Clutter.Objects.Actor#g:method:getEasingDelay"), [getEasingDuration]("GI.Clutter.Objects.Actor#g:method:getEasingDuration"), [getEasingMode]("GI.Clutter.Objects.Actor#g:method:getEasingMode"), [getEffect]("GI.Clutter.Objects.Actor#g:method:getEffect"), [getEffects]("GI.Clutter.Objects.Actor#g:method:getEffects"), [getFirstChild]("GI.Clutter.Objects.Actor#g:method:getFirstChild"), [getFixedPositionSet]("GI.Clutter.Objects.Actor#g:method:getFixedPositionSet"), [getFlags]("GI.Clutter.Objects.Actor#g:method:getFlags"), [getGeometry]("GI.Clutter.Objects.Actor#g:method:getGeometry"), [getGid]("GI.Clutter.Objects.Actor#g:method:getGid"), [getHeight]("GI.Clutter.Objects.Actor#g:method:getHeight"), [getId]("GI.Clutter.Interfaces.Scriptable#g:method:getId"), [getInitialState]("GI.Clutter.Interfaces.Animatable#g:method:getInitialState"), [getLastChild]("GI.Clutter.Objects.Actor#g:method:getLastChild"), [getLayoutManager]("GI.Clutter.Objects.Actor#g:method:getLayoutManager"), [getMargin]("GI.Clutter.Objects.Actor#g:method:getMargin"), [getMarginBottom]("GI.Clutter.Objects.Actor#g:method:getMarginBottom"), [getMarginLeft]("GI.Clutter.Objects.Actor#g:method:getMarginLeft"), [getMarginRight]("GI.Clutter.Objects.Actor#g:method:getMarginRight"), [getMarginTop]("GI.Clutter.Objects.Actor#g:method:getMarginTop"), [getNChildren]("GI.Clutter.Objects.Actor#g:method:getNChildren"), [getName]("GI.Clutter.Objects.Actor#g:method:getName"), [getNextSibling]("GI.Clutter.Objects.Actor#g:method:getNextSibling"), [getOffscreenRedirect]("GI.Clutter.Objects.Actor#g:method:getOffscreenRedirect"), [getOpacity]("GI.Clutter.Objects.Actor#g:method:getOpacity"), [getPaintBox]("GI.Clutter.Objects.Actor#g:method:getPaintBox"), [getPaintOpacity]("GI.Clutter.Objects.Actor#g:method:getPaintOpacity"), [getPaintVisibility]("GI.Clutter.Objects.Actor#g:method:getPaintVisibility"), [getPaintVolume]("GI.Clutter.Objects.Actor#g:method:getPaintVolume"), [getPangoContext]("GI.Clutter.Objects.Actor#g:method:getPangoContext"), [getParent]("GI.Clutter.Objects.Actor#g:method:getParent"), [getPivotPoint]("GI.Clutter.Objects.Actor#g:method:getPivotPoint"), [getPivotPointZ]("GI.Clutter.Objects.Actor#g:method:getPivotPointZ"), [getPosition]("GI.Clutter.Objects.Actor#g:method:getPosition"), [getPreferredHeight]("GI.Clutter.Objects.Actor#g:method:getPreferredHeight"), [getPreferredSize]("GI.Clutter.Objects.Actor#g:method:getPreferredSize"), [getPreferredWidth]("GI.Clutter.Objects.Actor#g:method:getPreferredWidth"), [getPreviousSibling]("GI.Clutter.Objects.Actor#g:method:getPreviousSibling"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getReactive]("GI.Clutter.Objects.Actor#g:method:getReactive"), [getRequestMode]("GI.Clutter.Objects.Actor#g:method:getRequestMode"), [getRotation]("GI.Clutter.Objects.Actor#g:method:getRotation"), [getRotationAngle]("GI.Clutter.Objects.Actor#g:method:getRotationAngle"), [getScale]("GI.Clutter.Objects.Actor#g:method:getScale"), [getScaleCenter]("GI.Clutter.Objects.Actor#g:method:getScaleCenter"), [getScaleGravity]("GI.Clutter.Objects.Actor#g:method:getScaleGravity"), [getScaleZ]("GI.Clutter.Objects.Actor#g:method:getScaleZ"), [getShader]("GI.Clutter.Objects.Actor#g:method:getShader"), [getSize]("GI.Clutter.Objects.Actor#g:method:getSize"), [getSource]("GI.Clutter.Objects.Clone#g:method:getSource"), [getStage]("GI.Clutter.Objects.Actor#g:method:getStage"), [getTextDirection]("GI.Clutter.Objects.Actor#g:method:getTextDirection"), [getTransform]("GI.Clutter.Objects.Actor#g:method:getTransform"), [getTransformationMatrix]("GI.Clutter.Objects.Actor#g:method:getTransformationMatrix"), [getTransformedPaintVolume]("GI.Clutter.Objects.Actor#g:method:getTransformedPaintVolume"), [getTransformedPosition]("GI.Clutter.Objects.Actor#g:method:getTransformedPosition"), [getTransformedSize]("GI.Clutter.Objects.Actor#g:method:getTransformedSize"), [getTransition]("GI.Clutter.Objects.Actor#g:method:getTransition"), [getTranslation]("GI.Clutter.Objects.Actor#g:method:getTranslation"), [getWidth]("GI.Clutter.Objects.Actor#g:method:getWidth"), [getX]("GI.Clutter.Objects.Actor#g:method:getX"), [getXAlign]("GI.Clutter.Objects.Actor#g:method:getXAlign"), [getXExpand]("GI.Clutter.Objects.Actor#g:method:getXExpand"), [getY]("GI.Clutter.Objects.Actor#g:method:getY"), [getYAlign]("GI.Clutter.Objects.Actor#g:method:getYAlign"), [getYExpand]("GI.Clutter.Objects.Actor#g:method:getYExpand"), [getZPosition]("GI.Clutter.Objects.Actor#g:method:getZPosition"), [getZRotationGravity]("GI.Clutter.Objects.Actor#g:method:getZRotationGravity").
-- 
-- ==== Setters
-- [setAllocation]("GI.Clutter.Objects.Actor#g:method:setAllocation"), [setAnchorPoint]("GI.Clutter.Objects.Actor#g:method:setAnchorPoint"), [setAnchorPointFromGravity]("GI.Clutter.Objects.Actor#g:method:setAnchorPointFromGravity"), [setBackgroundColor]("GI.Clutter.Objects.Actor#g:method:setBackgroundColor"), [setChildAboveSibling]("GI.Clutter.Objects.Actor#g:method:setChildAboveSibling"), [setChildAtIndex]("GI.Clutter.Objects.Actor#g:method:setChildAtIndex"), [setChildBelowSibling]("GI.Clutter.Objects.Actor#g:method:setChildBelowSibling"), [setChildTransform]("GI.Clutter.Objects.Actor#g:method:setChildTransform"), [setClip]("GI.Clutter.Objects.Actor#g:method:setClip"), [setClipToAllocation]("GI.Clutter.Objects.Actor#g:method:setClipToAllocation"), [setContent]("GI.Clutter.Objects.Actor#g:method:setContent"), [setContentGravity]("GI.Clutter.Objects.Actor#g:method:setContentGravity"), [setContentRepeat]("GI.Clutter.Objects.Actor#g:method:setContentRepeat"), [setContentScalingFilters]("GI.Clutter.Objects.Actor#g:method:setContentScalingFilters"), [setCustomProperty]("GI.Clutter.Interfaces.Scriptable#g:method:setCustomProperty"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setDepth]("GI.Clutter.Objects.Actor#g:method:setDepth"), [setEasingDelay]("GI.Clutter.Objects.Actor#g:method:setEasingDelay"), [setEasingDuration]("GI.Clutter.Objects.Actor#g:method:setEasingDuration"), [setEasingMode]("GI.Clutter.Objects.Actor#g:method:setEasingMode"), [setFinalState]("GI.Clutter.Interfaces.Animatable#g:method:setFinalState"), [setFixedPositionSet]("GI.Clutter.Objects.Actor#g:method:setFixedPositionSet"), [setFlags]("GI.Clutter.Objects.Actor#g:method:setFlags"), [setGeometry]("GI.Clutter.Objects.Actor#g:method:setGeometry"), [setHeight]("GI.Clutter.Objects.Actor#g:method:setHeight"), [setId]("GI.Clutter.Interfaces.Scriptable#g:method:setId"), [setLayoutManager]("GI.Clutter.Objects.Actor#g:method:setLayoutManager"), [setMargin]("GI.Clutter.Objects.Actor#g:method:setMargin"), [setMarginBottom]("GI.Clutter.Objects.Actor#g:method:setMarginBottom"), [setMarginLeft]("GI.Clutter.Objects.Actor#g:method:setMarginLeft"), [setMarginRight]("GI.Clutter.Objects.Actor#g:method:setMarginRight"), [setMarginTop]("GI.Clutter.Objects.Actor#g:method:setMarginTop"), [setName]("GI.Clutter.Objects.Actor#g:method:setName"), [setOffscreenRedirect]("GI.Clutter.Objects.Actor#g:method:setOffscreenRedirect"), [setOpacity]("GI.Clutter.Objects.Actor#g:method:setOpacity"), [setParent]("GI.Clutter.Objects.Actor#g:method:setParent"), [setPivotPoint]("GI.Clutter.Objects.Actor#g:method:setPivotPoint"), [setPivotPointZ]("GI.Clutter.Objects.Actor#g:method:setPivotPointZ"), [setPosition]("GI.Clutter.Objects.Actor#g:method:setPosition"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setReactive]("GI.Clutter.Objects.Actor#g:method:setReactive"), [setRequestMode]("GI.Clutter.Objects.Actor#g:method:setRequestMode"), [setRotation]("GI.Clutter.Objects.Actor#g:method:setRotation"), [setRotationAngle]("GI.Clutter.Objects.Actor#g:method:setRotationAngle"), [setScale]("GI.Clutter.Objects.Actor#g:method:setScale"), [setScaleFull]("GI.Clutter.Objects.Actor#g:method:setScaleFull"), [setScaleWithGravity]("GI.Clutter.Objects.Actor#g:method:setScaleWithGravity"), [setScaleZ]("GI.Clutter.Objects.Actor#g:method:setScaleZ"), [setShader]("GI.Clutter.Objects.Actor#g:method:setShader"), [setShaderParam]("GI.Clutter.Objects.Actor#g:method:setShaderParam"), [setShaderParamFloat]("GI.Clutter.Objects.Actor#g:method:setShaderParamFloat"), [setShaderParamInt]("GI.Clutter.Objects.Actor#g:method:setShaderParamInt"), [setSize]("GI.Clutter.Objects.Actor#g:method:setSize"), [setSource]("GI.Clutter.Objects.Clone#g:method:setSource"), [setTextDirection]("GI.Clutter.Objects.Actor#g:method:setTextDirection"), [setTransform]("GI.Clutter.Objects.Actor#g:method:setTransform"), [setTranslation]("GI.Clutter.Objects.Actor#g:method:setTranslation"), [setWidth]("GI.Clutter.Objects.Actor#g:method:setWidth"), [setX]("GI.Clutter.Objects.Actor#g:method:setX"), [setXAlign]("GI.Clutter.Objects.Actor#g:method:setXAlign"), [setXExpand]("GI.Clutter.Objects.Actor#g:method:setXExpand"), [setY]("GI.Clutter.Objects.Actor#g:method:setY"), [setYAlign]("GI.Clutter.Objects.Actor#g:method:setYAlign"), [setYExpand]("GI.Clutter.Objects.Actor#g:method:setYExpand"), [setZPosition]("GI.Clutter.Objects.Actor#g:method:setZPosition"), [setZRotationFromGravity]("GI.Clutter.Objects.Actor#g:method:setZRotationFromGravity").

#if defined(ENABLE_OVERLOADING)
    ResolveCloneMethod                      ,
#endif

-- ** getSource #method:getSource#

#if defined(ENABLE_OVERLOADING)
    CloneGetSourceMethodInfo                ,
#endif
    cloneGetSource                          ,


-- ** new #method:new#

    cloneNew                                ,


-- ** setSource #method:setSource#

#if defined(ENABLE_OVERLOADING)
    CloneSetSourceMethodInfo                ,
#endif
    cloneSetSource                          ,




 -- * Properties


-- ** source #attr:source#
-- | This property specifies the source actor being cloned.
-- 
-- /Since: 1.0/

#if defined(ENABLE_OVERLOADING)
    CloneSourcePropertyInfo                 ,
#endif
    clearCloneSource                        ,
#if defined(ENABLE_OVERLOADING)
    cloneSource                             ,
#endif
    constructCloneSource                    ,
    getCloneSource                          ,
    setCloneSource                          ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R

import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import {-# SOURCE #-} qualified GI.Clutter.Interfaces.Animatable as Clutter.Animatable
import {-# SOURCE #-} qualified GI.Clutter.Interfaces.Container as Clutter.Container
import {-# SOURCE #-} qualified GI.Clutter.Interfaces.Scriptable as Clutter.Scriptable
import {-# SOURCE #-} qualified GI.Clutter.Objects.Actor as Clutter.Actor
import qualified GI.GObject.Objects.Object as GObject.Object

-- | Memory-managed wrapper type.
newtype Clone = Clone (SP.ManagedPtr Clone)
    deriving (Clone -> Clone -> Bool
(Clone -> Clone -> Bool) -> (Clone -> Clone -> Bool) -> Eq Clone
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Clone -> Clone -> Bool
== :: Clone -> Clone -> Bool
$c/= :: Clone -> Clone -> Bool
/= :: Clone -> Clone -> Bool
Eq)

instance SP.ManagedPtrNewtype Clone where
    toManagedPtr :: Clone -> ManagedPtr Clone
toManagedPtr (Clone ManagedPtr Clone
p) = ManagedPtr Clone
p

foreign import ccall "clutter_clone_get_type"
    c_clutter_clone_get_type :: IO B.Types.GType

instance B.Types.TypedObject Clone where
    glibType :: IO GType
glibType = IO GType
c_clutter_clone_get_type

instance B.Types.GObject Clone

-- | Type class for types which can be safely cast to `Clone`, for instance with `toClone`.
class (SP.GObject o, O.IsDescendantOf Clone o) => IsClone o
instance (SP.GObject o, O.IsDescendantOf Clone o) => IsClone o

instance O.HasParentTypes Clone
type instance O.ParentTypes Clone = '[Clutter.Actor.Actor, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Clutter.Animatable.Animatable, Clutter.Container.Container, Clutter.Scriptable.Scriptable]

-- | Cast to `Clone`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toClone :: (MIO.MonadIO m, IsClone o) => o -> m Clone
toClone :: forall (m :: * -> *) o. (MonadIO m, IsClone o) => o -> m Clone
toClone = IO Clone -> m Clone
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Clone -> m Clone) -> (o -> IO Clone) -> o -> m Clone
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Clone -> Clone) -> o -> IO Clone
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Clone -> Clone
Clone

-- | Convert 'Clone' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe Clone) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_clutter_clone_get_type
    gvalueSet_ :: Ptr GValue -> Maybe Clone -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Clone
P.Nothing = Ptr GValue -> Ptr Clone -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Clone
forall a. Ptr a
FP.nullPtr :: FP.Ptr Clone)
    gvalueSet_ Ptr GValue
gv (P.Just Clone
obj) = Clone -> (Ptr Clone -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Clone
obj (Ptr GValue -> Ptr Clone -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe Clone)
gvalueGet_ Ptr GValue
gv = do
        Ptr Clone
ptr <- Ptr GValue -> IO (Ptr Clone)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Clone)
        if Ptr Clone
ptr Ptr Clone -> Ptr Clone -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Clone
forall a. Ptr a
FP.nullPtr
        then Clone -> Maybe Clone
forall a. a -> Maybe a
P.Just (Clone -> Maybe Clone) -> IO Clone -> IO (Maybe Clone)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Clone -> Clone) -> Ptr Clone -> IO Clone
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Clone -> Clone
Clone Ptr Clone
ptr
        else Maybe Clone -> IO (Maybe Clone)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Clone
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveCloneMethod (t :: Symbol) (o :: *) :: * where
    ResolveCloneMethod "addAction" o = Clutter.Actor.ActorAddActionMethodInfo
    ResolveCloneMethod "addActionWithName" o = Clutter.Actor.ActorAddActionWithNameMethodInfo
    ResolveCloneMethod "addActor" o = Clutter.Container.ContainerAddActorMethodInfo
    ResolveCloneMethod "addChild" o = Clutter.Actor.ActorAddChildMethodInfo
    ResolveCloneMethod "addConstraint" o = Clutter.Actor.ActorAddConstraintMethodInfo
    ResolveCloneMethod "addConstraintWithName" o = Clutter.Actor.ActorAddConstraintWithNameMethodInfo
    ResolveCloneMethod "addEffect" o = Clutter.Actor.ActorAddEffectMethodInfo
    ResolveCloneMethod "addEffectWithName" o = Clutter.Actor.ActorAddEffectWithNameMethodInfo
    ResolveCloneMethod "addTransition" o = Clutter.Actor.ActorAddTransitionMethodInfo
    ResolveCloneMethod "allocate" o = Clutter.Actor.ActorAllocateMethodInfo
    ResolveCloneMethod "allocateAlignFill" o = Clutter.Actor.ActorAllocateAlignFillMethodInfo
    ResolveCloneMethod "allocateAvailableSize" o = Clutter.Actor.ActorAllocateAvailableSizeMethodInfo
    ResolveCloneMethod "allocatePreferredSize" o = Clutter.Actor.ActorAllocatePreferredSizeMethodInfo
    ResolveCloneMethod "animateProperty" o = Clutter.Animatable.AnimatableAnimatePropertyMethodInfo
    ResolveCloneMethod "animateWithAlphav" o = Clutter.Actor.ActorAnimateWithAlphavMethodInfo
    ResolveCloneMethod "animateWithTimelinev" o = Clutter.Actor.ActorAnimateWithTimelinevMethodInfo
    ResolveCloneMethod "animatev" o = Clutter.Actor.ActorAnimatevMethodInfo
    ResolveCloneMethod "applyRelativeTransformToPoint" o = Clutter.Actor.ActorApplyRelativeTransformToPointMethodInfo
    ResolveCloneMethod "applyTransformToPoint" o = Clutter.Actor.ActorApplyTransformToPointMethodInfo
    ResolveCloneMethod "bindModel" o = Clutter.Actor.ActorBindModelMethodInfo
    ResolveCloneMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveCloneMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveCloneMethod "childGetProperty" o = Clutter.Container.ContainerChildGetPropertyMethodInfo
    ResolveCloneMethod "childNotify" o = Clutter.Container.ContainerChildNotifyMethodInfo
    ResolveCloneMethod "childSetProperty" o = Clutter.Container.ContainerChildSetPropertyMethodInfo
    ResolveCloneMethod "clearActions" o = Clutter.Actor.ActorClearActionsMethodInfo
    ResolveCloneMethod "clearConstraints" o = Clutter.Actor.ActorClearConstraintsMethodInfo
    ResolveCloneMethod "clearEffects" o = Clutter.Actor.ActorClearEffectsMethodInfo
    ResolveCloneMethod "contains" o = Clutter.Actor.ActorContainsMethodInfo
    ResolveCloneMethod "continuePaint" o = Clutter.Actor.ActorContinuePaintMethodInfo
    ResolveCloneMethod "createChildMeta" o = Clutter.Container.ContainerCreateChildMetaMethodInfo
    ResolveCloneMethod "createPangoContext" o = Clutter.Actor.ActorCreatePangoContextMethodInfo
    ResolveCloneMethod "createPangoLayout" o = Clutter.Actor.ActorCreatePangoLayoutMethodInfo
    ResolveCloneMethod "destroy" o = Clutter.Actor.ActorDestroyMethodInfo
    ResolveCloneMethod "destroyAllChildren" o = Clutter.Actor.ActorDestroyAllChildrenMethodInfo
    ResolveCloneMethod "destroyChildMeta" o = Clutter.Container.ContainerDestroyChildMetaMethodInfo
    ResolveCloneMethod "detachAnimation" o = Clutter.Actor.ActorDetachAnimationMethodInfo
    ResolveCloneMethod "event" o = Clutter.Actor.ActorEventMethodInfo
    ResolveCloneMethod "findChildByName" o = Clutter.Container.ContainerFindChildByNameMethodInfo
    ResolveCloneMethod "findProperty" o = Clutter.Animatable.AnimatableFindPropertyMethodInfo
    ResolveCloneMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveCloneMethod "foreach" o = Clutter.Container.ContainerForeachMethodInfo
    ResolveCloneMethod "foreachWithInternals" o = Clutter.Container.ContainerForeachWithInternalsMethodInfo
    ResolveCloneMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveCloneMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveCloneMethod "grabKeyFocus" o = Clutter.Actor.ActorGrabKeyFocusMethodInfo
    ResolveCloneMethod "hasActions" o = Clutter.Actor.ActorHasActionsMethodInfo
    ResolveCloneMethod "hasAllocation" o = Clutter.Actor.ActorHasAllocationMethodInfo
    ResolveCloneMethod "hasClip" o = Clutter.Actor.ActorHasClipMethodInfo
    ResolveCloneMethod "hasConstraints" o = Clutter.Actor.ActorHasConstraintsMethodInfo
    ResolveCloneMethod "hasEffects" o = Clutter.Actor.ActorHasEffectsMethodInfo
    ResolveCloneMethod "hasKeyFocus" o = Clutter.Actor.ActorHasKeyFocusMethodInfo
    ResolveCloneMethod "hasOverlaps" o = Clutter.Actor.ActorHasOverlapsMethodInfo
    ResolveCloneMethod "hasPointer" o = Clutter.Actor.ActorHasPointerMethodInfo
    ResolveCloneMethod "hide" o = Clutter.Actor.ActorHideMethodInfo
    ResolveCloneMethod "hideAll" o = Clutter.Actor.ActorHideAllMethodInfo
    ResolveCloneMethod "insertChildAbove" o = Clutter.Actor.ActorInsertChildAboveMethodInfo
    ResolveCloneMethod "insertChildAtIndex" o = Clutter.Actor.ActorInsertChildAtIndexMethodInfo
    ResolveCloneMethod "insertChildBelow" o = Clutter.Actor.ActorInsertChildBelowMethodInfo
    ResolveCloneMethod "interpolateValue" o = Clutter.Animatable.AnimatableInterpolateValueMethodInfo
    ResolveCloneMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveCloneMethod "isInClonePaint" o = Clutter.Actor.ActorIsInClonePaintMethodInfo
    ResolveCloneMethod "isMapped" o = Clutter.Actor.ActorIsMappedMethodInfo
    ResolveCloneMethod "isRealized" o = Clutter.Actor.ActorIsRealizedMethodInfo
    ResolveCloneMethod "isRotated" o = Clutter.Actor.ActorIsRotatedMethodInfo
    ResolveCloneMethod "isScaled" o = Clutter.Actor.ActorIsScaledMethodInfo
    ResolveCloneMethod "isVisible" o = Clutter.Actor.ActorIsVisibleMethodInfo
    ResolveCloneMethod "lower" o = Clutter.Actor.ActorLowerMethodInfo
    ResolveCloneMethod "lowerBottom" o = Clutter.Actor.ActorLowerBottomMethodInfo
    ResolveCloneMethod "lowerChild" o = Clutter.Container.ContainerLowerChildMethodInfo
    ResolveCloneMethod "map" o = Clutter.Actor.ActorMapMethodInfo
    ResolveCloneMethod "moveAnchorPoint" o = Clutter.Actor.ActorMoveAnchorPointMethodInfo
    ResolveCloneMethod "moveAnchorPointFromGravity" o = Clutter.Actor.ActorMoveAnchorPointFromGravityMethodInfo
    ResolveCloneMethod "moveBy" o = Clutter.Actor.ActorMoveByMethodInfo
    ResolveCloneMethod "needsExpand" o = Clutter.Actor.ActorNeedsExpandMethodInfo
    ResolveCloneMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveCloneMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveCloneMethod "paint" o = Clutter.Actor.ActorPaintMethodInfo
    ResolveCloneMethod "parseCustomNode" o = Clutter.Scriptable.ScriptableParseCustomNodeMethodInfo
    ResolveCloneMethod "popInternal" o = Clutter.Actor.ActorPopInternalMethodInfo
    ResolveCloneMethod "pushInternal" o = Clutter.Actor.ActorPushInternalMethodInfo
    ResolveCloneMethod "queueRedraw" o = Clutter.Actor.ActorQueueRedrawMethodInfo
    ResolveCloneMethod "queueRedrawWithClip" o = Clutter.Actor.ActorQueueRedrawWithClipMethodInfo
    ResolveCloneMethod "queueRelayout" o = Clutter.Actor.ActorQueueRelayoutMethodInfo
    ResolveCloneMethod "raise" o = Clutter.Actor.ActorRaiseMethodInfo
    ResolveCloneMethod "raiseChild" o = Clutter.Container.ContainerRaiseChildMethodInfo
    ResolveCloneMethod "raiseTop" o = Clutter.Actor.ActorRaiseTopMethodInfo
    ResolveCloneMethod "realize" o = Clutter.Actor.ActorRealizeMethodInfo
    ResolveCloneMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveCloneMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveCloneMethod "removeAction" o = Clutter.Actor.ActorRemoveActionMethodInfo
    ResolveCloneMethod "removeActionByName" o = Clutter.Actor.ActorRemoveActionByNameMethodInfo
    ResolveCloneMethod "removeActor" o = Clutter.Container.ContainerRemoveActorMethodInfo
    ResolveCloneMethod "removeAllChildren" o = Clutter.Actor.ActorRemoveAllChildrenMethodInfo
    ResolveCloneMethod "removeAllTransitions" o = Clutter.Actor.ActorRemoveAllTransitionsMethodInfo
    ResolveCloneMethod "removeChild" o = Clutter.Actor.ActorRemoveChildMethodInfo
    ResolveCloneMethod "removeClip" o = Clutter.Actor.ActorRemoveClipMethodInfo
    ResolveCloneMethod "removeConstraint" o = Clutter.Actor.ActorRemoveConstraintMethodInfo
    ResolveCloneMethod "removeConstraintByName" o = Clutter.Actor.ActorRemoveConstraintByNameMethodInfo
    ResolveCloneMethod "removeEffect" o = Clutter.Actor.ActorRemoveEffectMethodInfo
    ResolveCloneMethod "removeEffectByName" o = Clutter.Actor.ActorRemoveEffectByNameMethodInfo
    ResolveCloneMethod "removeTransition" o = Clutter.Actor.ActorRemoveTransitionMethodInfo
    ResolveCloneMethod "reparent" o = Clutter.Actor.ActorReparentMethodInfo
    ResolveCloneMethod "replaceChild" o = Clutter.Actor.ActorReplaceChildMethodInfo
    ResolveCloneMethod "restoreEasingState" o = Clutter.Actor.ActorRestoreEasingStateMethodInfo
    ResolveCloneMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveCloneMethod "saveEasingState" o = Clutter.Actor.ActorSaveEasingStateMethodInfo
    ResolveCloneMethod "shouldPickPaint" o = Clutter.Actor.ActorShouldPickPaintMethodInfo
    ResolveCloneMethod "show" o = Clutter.Actor.ActorShowMethodInfo
    ResolveCloneMethod "showAll" o = Clutter.Actor.ActorShowAllMethodInfo
    ResolveCloneMethod "sortDepthOrder" o = Clutter.Container.ContainerSortDepthOrderMethodInfo
    ResolveCloneMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveCloneMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveCloneMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveCloneMethod "transformStagePoint" o = Clutter.Actor.ActorTransformStagePointMethodInfo
    ResolveCloneMethod "unmap" o = Clutter.Actor.ActorUnmapMethodInfo
    ResolveCloneMethod "unparent" o = Clutter.Actor.ActorUnparentMethodInfo
    ResolveCloneMethod "unrealize" o = Clutter.Actor.ActorUnrealizeMethodInfo
    ResolveCloneMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveCloneMethod "unsetFlags" o = Clutter.Actor.ActorUnsetFlagsMethodInfo
    ResolveCloneMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveCloneMethod "getAbsAllocationVertices" o = Clutter.Actor.ActorGetAbsAllocationVerticesMethodInfo
    ResolveCloneMethod "getAccessible" o = Clutter.Actor.ActorGetAccessibleMethodInfo
    ResolveCloneMethod "getAction" o = Clutter.Actor.ActorGetActionMethodInfo
    ResolveCloneMethod "getActions" o = Clutter.Actor.ActorGetActionsMethodInfo
    ResolveCloneMethod "getAllocationBox" o = Clutter.Actor.ActorGetAllocationBoxMethodInfo
    ResolveCloneMethod "getAllocationGeometry" o = Clutter.Actor.ActorGetAllocationGeometryMethodInfo
    ResolveCloneMethod "getAllocationVertices" o = Clutter.Actor.ActorGetAllocationVerticesMethodInfo
    ResolveCloneMethod "getAnchorPoint" o = Clutter.Actor.ActorGetAnchorPointMethodInfo
    ResolveCloneMethod "getAnchorPointGravity" o = Clutter.Actor.ActorGetAnchorPointGravityMethodInfo
    ResolveCloneMethod "getAnimation" o = Clutter.Actor.ActorGetAnimationMethodInfo
    ResolveCloneMethod "getBackgroundColor" o = Clutter.Actor.ActorGetBackgroundColorMethodInfo
    ResolveCloneMethod "getChildAtIndex" o = Clutter.Actor.ActorGetChildAtIndexMethodInfo
    ResolveCloneMethod "getChildMeta" o = Clutter.Container.ContainerGetChildMetaMethodInfo
    ResolveCloneMethod "getChildTransform" o = Clutter.Actor.ActorGetChildTransformMethodInfo
    ResolveCloneMethod "getChildren" o = Clutter.Actor.ActorGetChildrenMethodInfo
    ResolveCloneMethod "getClip" o = Clutter.Actor.ActorGetClipMethodInfo
    ResolveCloneMethod "getClipToAllocation" o = Clutter.Actor.ActorGetClipToAllocationMethodInfo
    ResolveCloneMethod "getConstraint" o = Clutter.Actor.ActorGetConstraintMethodInfo
    ResolveCloneMethod "getConstraints" o = Clutter.Actor.ActorGetConstraintsMethodInfo
    ResolveCloneMethod "getContent" o = Clutter.Actor.ActorGetContentMethodInfo
    ResolveCloneMethod "getContentBox" o = Clutter.Actor.ActorGetContentBoxMethodInfo
    ResolveCloneMethod "getContentGravity" o = Clutter.Actor.ActorGetContentGravityMethodInfo
    ResolveCloneMethod "getContentRepeat" o = Clutter.Actor.ActorGetContentRepeatMethodInfo
    ResolveCloneMethod "getContentScalingFilters" o = Clutter.Actor.ActorGetContentScalingFiltersMethodInfo
    ResolveCloneMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveCloneMethod "getDefaultPaintVolume" o = Clutter.Actor.ActorGetDefaultPaintVolumeMethodInfo
    ResolveCloneMethod "getDepth" o = Clutter.Actor.ActorGetDepthMethodInfo
    ResolveCloneMethod "getEasingDelay" o = Clutter.Actor.ActorGetEasingDelayMethodInfo
    ResolveCloneMethod "getEasingDuration" o = Clutter.Actor.ActorGetEasingDurationMethodInfo
    ResolveCloneMethod "getEasingMode" o = Clutter.Actor.ActorGetEasingModeMethodInfo
    ResolveCloneMethod "getEffect" o = Clutter.Actor.ActorGetEffectMethodInfo
    ResolveCloneMethod "getEffects" o = Clutter.Actor.ActorGetEffectsMethodInfo
    ResolveCloneMethod "getFirstChild" o = Clutter.Actor.ActorGetFirstChildMethodInfo
    ResolveCloneMethod "getFixedPositionSet" o = Clutter.Actor.ActorGetFixedPositionSetMethodInfo
    ResolveCloneMethod "getFlags" o = Clutter.Actor.ActorGetFlagsMethodInfo
    ResolveCloneMethod "getGeometry" o = Clutter.Actor.ActorGetGeometryMethodInfo
    ResolveCloneMethod "getGid" o = Clutter.Actor.ActorGetGidMethodInfo
    ResolveCloneMethod "getHeight" o = Clutter.Actor.ActorGetHeightMethodInfo
    ResolveCloneMethod "getId" o = Clutter.Scriptable.ScriptableGetIdMethodInfo
    ResolveCloneMethod "getInitialState" o = Clutter.Animatable.AnimatableGetInitialStateMethodInfo
    ResolveCloneMethod "getLastChild" o = Clutter.Actor.ActorGetLastChildMethodInfo
    ResolveCloneMethod "getLayoutManager" o = Clutter.Actor.ActorGetLayoutManagerMethodInfo
    ResolveCloneMethod "getMargin" o = Clutter.Actor.ActorGetMarginMethodInfo
    ResolveCloneMethod "getMarginBottom" o = Clutter.Actor.ActorGetMarginBottomMethodInfo
    ResolveCloneMethod "getMarginLeft" o = Clutter.Actor.ActorGetMarginLeftMethodInfo
    ResolveCloneMethod "getMarginRight" o = Clutter.Actor.ActorGetMarginRightMethodInfo
    ResolveCloneMethod "getMarginTop" o = Clutter.Actor.ActorGetMarginTopMethodInfo
    ResolveCloneMethod "getNChildren" o = Clutter.Actor.ActorGetNChildrenMethodInfo
    ResolveCloneMethod "getName" o = Clutter.Actor.ActorGetNameMethodInfo
    ResolveCloneMethod "getNextSibling" o = Clutter.Actor.ActorGetNextSiblingMethodInfo
    ResolveCloneMethod "getOffscreenRedirect" o = Clutter.Actor.ActorGetOffscreenRedirectMethodInfo
    ResolveCloneMethod "getOpacity" o = Clutter.Actor.ActorGetOpacityMethodInfo
    ResolveCloneMethod "getPaintBox" o = Clutter.Actor.ActorGetPaintBoxMethodInfo
    ResolveCloneMethod "getPaintOpacity" o = Clutter.Actor.ActorGetPaintOpacityMethodInfo
    ResolveCloneMethod "getPaintVisibility" o = Clutter.Actor.ActorGetPaintVisibilityMethodInfo
    ResolveCloneMethod "getPaintVolume" o = Clutter.Actor.ActorGetPaintVolumeMethodInfo
    ResolveCloneMethod "getPangoContext" o = Clutter.Actor.ActorGetPangoContextMethodInfo
    ResolveCloneMethod "getParent" o = Clutter.Actor.ActorGetParentMethodInfo
    ResolveCloneMethod "getPivotPoint" o = Clutter.Actor.ActorGetPivotPointMethodInfo
    ResolveCloneMethod "getPivotPointZ" o = Clutter.Actor.ActorGetPivotPointZMethodInfo
    ResolveCloneMethod "getPosition" o = Clutter.Actor.ActorGetPositionMethodInfo
    ResolveCloneMethod "getPreferredHeight" o = Clutter.Actor.ActorGetPreferredHeightMethodInfo
    ResolveCloneMethod "getPreferredSize" o = Clutter.Actor.ActorGetPreferredSizeMethodInfo
    ResolveCloneMethod "getPreferredWidth" o = Clutter.Actor.ActorGetPreferredWidthMethodInfo
    ResolveCloneMethod "getPreviousSibling" o = Clutter.Actor.ActorGetPreviousSiblingMethodInfo
    ResolveCloneMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveCloneMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveCloneMethod "getReactive" o = Clutter.Actor.ActorGetReactiveMethodInfo
    ResolveCloneMethod "getRequestMode" o = Clutter.Actor.ActorGetRequestModeMethodInfo
    ResolveCloneMethod "getRotation" o = Clutter.Actor.ActorGetRotationMethodInfo
    ResolveCloneMethod "getRotationAngle" o = Clutter.Actor.ActorGetRotationAngleMethodInfo
    ResolveCloneMethod "getScale" o = Clutter.Actor.ActorGetScaleMethodInfo
    ResolveCloneMethod "getScaleCenter" o = Clutter.Actor.ActorGetScaleCenterMethodInfo
    ResolveCloneMethod "getScaleGravity" o = Clutter.Actor.ActorGetScaleGravityMethodInfo
    ResolveCloneMethod "getScaleZ" o = Clutter.Actor.ActorGetScaleZMethodInfo
    ResolveCloneMethod "getShader" o = Clutter.Actor.ActorGetShaderMethodInfo
    ResolveCloneMethod "getSize" o = Clutter.Actor.ActorGetSizeMethodInfo
    ResolveCloneMethod "getSource" o = CloneGetSourceMethodInfo
    ResolveCloneMethod "getStage" o = Clutter.Actor.ActorGetStageMethodInfo
    ResolveCloneMethod "getTextDirection" o = Clutter.Actor.ActorGetTextDirectionMethodInfo
    ResolveCloneMethod "getTransform" o = Clutter.Actor.ActorGetTransformMethodInfo
    ResolveCloneMethod "getTransformationMatrix" o = Clutter.Actor.ActorGetTransformationMatrixMethodInfo
    ResolveCloneMethod "getTransformedPaintVolume" o = Clutter.Actor.ActorGetTransformedPaintVolumeMethodInfo
    ResolveCloneMethod "getTransformedPosition" o = Clutter.Actor.ActorGetTransformedPositionMethodInfo
    ResolveCloneMethod "getTransformedSize" o = Clutter.Actor.ActorGetTransformedSizeMethodInfo
    ResolveCloneMethod "getTransition" o = Clutter.Actor.ActorGetTransitionMethodInfo
    ResolveCloneMethod "getTranslation" o = Clutter.Actor.ActorGetTranslationMethodInfo
    ResolveCloneMethod "getWidth" o = Clutter.Actor.ActorGetWidthMethodInfo
    ResolveCloneMethod "getX" o = Clutter.Actor.ActorGetXMethodInfo
    ResolveCloneMethod "getXAlign" o = Clutter.Actor.ActorGetXAlignMethodInfo
    ResolveCloneMethod "getXExpand" o = Clutter.Actor.ActorGetXExpandMethodInfo
    ResolveCloneMethod "getY" o = Clutter.Actor.ActorGetYMethodInfo
    ResolveCloneMethod "getYAlign" o = Clutter.Actor.ActorGetYAlignMethodInfo
    ResolveCloneMethod "getYExpand" o = Clutter.Actor.ActorGetYExpandMethodInfo
    ResolveCloneMethod "getZPosition" o = Clutter.Actor.ActorGetZPositionMethodInfo
    ResolveCloneMethod "getZRotationGravity" o = Clutter.Actor.ActorGetZRotationGravityMethodInfo
    ResolveCloneMethod "setAllocation" o = Clutter.Actor.ActorSetAllocationMethodInfo
    ResolveCloneMethod "setAnchorPoint" o = Clutter.Actor.ActorSetAnchorPointMethodInfo
    ResolveCloneMethod "setAnchorPointFromGravity" o = Clutter.Actor.ActorSetAnchorPointFromGravityMethodInfo
    ResolveCloneMethod "setBackgroundColor" o = Clutter.Actor.ActorSetBackgroundColorMethodInfo
    ResolveCloneMethod "setChildAboveSibling" o = Clutter.Actor.ActorSetChildAboveSiblingMethodInfo
    ResolveCloneMethod "setChildAtIndex" o = Clutter.Actor.ActorSetChildAtIndexMethodInfo
    ResolveCloneMethod "setChildBelowSibling" o = Clutter.Actor.ActorSetChildBelowSiblingMethodInfo
    ResolveCloneMethod "setChildTransform" o = Clutter.Actor.ActorSetChildTransformMethodInfo
    ResolveCloneMethod "setClip" o = Clutter.Actor.ActorSetClipMethodInfo
    ResolveCloneMethod "setClipToAllocation" o = Clutter.Actor.ActorSetClipToAllocationMethodInfo
    ResolveCloneMethod "setContent" o = Clutter.Actor.ActorSetContentMethodInfo
    ResolveCloneMethod "setContentGravity" o = Clutter.Actor.ActorSetContentGravityMethodInfo
    ResolveCloneMethod "setContentRepeat" o = Clutter.Actor.ActorSetContentRepeatMethodInfo
    ResolveCloneMethod "setContentScalingFilters" o = Clutter.Actor.ActorSetContentScalingFiltersMethodInfo
    ResolveCloneMethod "setCustomProperty" o = Clutter.Scriptable.ScriptableSetCustomPropertyMethodInfo
    ResolveCloneMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveCloneMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveCloneMethod "setDepth" o = Clutter.Actor.ActorSetDepthMethodInfo
    ResolveCloneMethod "setEasingDelay" o = Clutter.Actor.ActorSetEasingDelayMethodInfo
    ResolveCloneMethod "setEasingDuration" o = Clutter.Actor.ActorSetEasingDurationMethodInfo
    ResolveCloneMethod "setEasingMode" o = Clutter.Actor.ActorSetEasingModeMethodInfo
    ResolveCloneMethod "setFinalState" o = Clutter.Animatable.AnimatableSetFinalStateMethodInfo
    ResolveCloneMethod "setFixedPositionSet" o = Clutter.Actor.ActorSetFixedPositionSetMethodInfo
    ResolveCloneMethod "setFlags" o = Clutter.Actor.ActorSetFlagsMethodInfo
    ResolveCloneMethod "setGeometry" o = Clutter.Actor.ActorSetGeometryMethodInfo
    ResolveCloneMethod "setHeight" o = Clutter.Actor.ActorSetHeightMethodInfo
    ResolveCloneMethod "setId" o = Clutter.Scriptable.ScriptableSetIdMethodInfo
    ResolveCloneMethod "setLayoutManager" o = Clutter.Actor.ActorSetLayoutManagerMethodInfo
    ResolveCloneMethod "setMargin" o = Clutter.Actor.ActorSetMarginMethodInfo
    ResolveCloneMethod "setMarginBottom" o = Clutter.Actor.ActorSetMarginBottomMethodInfo
    ResolveCloneMethod "setMarginLeft" o = Clutter.Actor.ActorSetMarginLeftMethodInfo
    ResolveCloneMethod "setMarginRight" o = Clutter.Actor.ActorSetMarginRightMethodInfo
    ResolveCloneMethod "setMarginTop" o = Clutter.Actor.ActorSetMarginTopMethodInfo
    ResolveCloneMethod "setName" o = Clutter.Actor.ActorSetNameMethodInfo
    ResolveCloneMethod "setOffscreenRedirect" o = Clutter.Actor.ActorSetOffscreenRedirectMethodInfo
    ResolveCloneMethod "setOpacity" o = Clutter.Actor.ActorSetOpacityMethodInfo
    ResolveCloneMethod "setParent" o = Clutter.Actor.ActorSetParentMethodInfo
    ResolveCloneMethod "setPivotPoint" o = Clutter.Actor.ActorSetPivotPointMethodInfo
    ResolveCloneMethod "setPivotPointZ" o = Clutter.Actor.ActorSetPivotPointZMethodInfo
    ResolveCloneMethod "setPosition" o = Clutter.Actor.ActorSetPositionMethodInfo
    ResolveCloneMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveCloneMethod "setReactive" o = Clutter.Actor.ActorSetReactiveMethodInfo
    ResolveCloneMethod "setRequestMode" o = Clutter.Actor.ActorSetRequestModeMethodInfo
    ResolveCloneMethod "setRotation" o = Clutter.Actor.ActorSetRotationMethodInfo
    ResolveCloneMethod "setRotationAngle" o = Clutter.Actor.ActorSetRotationAngleMethodInfo
    ResolveCloneMethod "setScale" o = Clutter.Actor.ActorSetScaleMethodInfo
    ResolveCloneMethod "setScaleFull" o = Clutter.Actor.ActorSetScaleFullMethodInfo
    ResolveCloneMethod "setScaleWithGravity" o = Clutter.Actor.ActorSetScaleWithGravityMethodInfo
    ResolveCloneMethod "setScaleZ" o = Clutter.Actor.ActorSetScaleZMethodInfo
    ResolveCloneMethod "setShader" o = Clutter.Actor.ActorSetShaderMethodInfo
    ResolveCloneMethod "setShaderParam" o = Clutter.Actor.ActorSetShaderParamMethodInfo
    ResolveCloneMethod "setShaderParamFloat" o = Clutter.Actor.ActorSetShaderParamFloatMethodInfo
    ResolveCloneMethod "setShaderParamInt" o = Clutter.Actor.ActorSetShaderParamIntMethodInfo
    ResolveCloneMethod "setSize" o = Clutter.Actor.ActorSetSizeMethodInfo
    ResolveCloneMethod "setSource" o = CloneSetSourceMethodInfo
    ResolveCloneMethod "setTextDirection" o = Clutter.Actor.ActorSetTextDirectionMethodInfo
    ResolveCloneMethod "setTransform" o = Clutter.Actor.ActorSetTransformMethodInfo
    ResolveCloneMethod "setTranslation" o = Clutter.Actor.ActorSetTranslationMethodInfo
    ResolveCloneMethod "setWidth" o = Clutter.Actor.ActorSetWidthMethodInfo
    ResolveCloneMethod "setX" o = Clutter.Actor.ActorSetXMethodInfo
    ResolveCloneMethod "setXAlign" o = Clutter.Actor.ActorSetXAlignMethodInfo
    ResolveCloneMethod "setXExpand" o = Clutter.Actor.ActorSetXExpandMethodInfo
    ResolveCloneMethod "setY" o = Clutter.Actor.ActorSetYMethodInfo
    ResolveCloneMethod "setYAlign" o = Clutter.Actor.ActorSetYAlignMethodInfo
    ResolveCloneMethod "setYExpand" o = Clutter.Actor.ActorSetYExpandMethodInfo
    ResolveCloneMethod "setZPosition" o = Clutter.Actor.ActorSetZPositionMethodInfo
    ResolveCloneMethod "setZRotationFromGravity" o = Clutter.Actor.ActorSetZRotationFromGravityMethodInfo
    ResolveCloneMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveCloneMethod t Clone, O.OverloadedMethod info Clone p) => OL.IsLabel t (Clone -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveCloneMethod t Clone, O.OverloadedMethod info Clone p, R.HasField t Clone p) => R.HasField t Clone p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveCloneMethod t Clone, O.OverloadedMethodInfo info Clone) => OL.IsLabel t (O.MethodProxy info Clone) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif

-- VVV Prop "source"
   -- Type: TInterface (Name {namespace = "Clutter", name = "Actor"})
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
   -- Nullable: (Just False,Just True)

-- | Get the value of the “@source@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' clone #source
-- @
getCloneSource :: (MonadIO m, IsClone o) => o -> m Clutter.Actor.Actor
getCloneSource :: forall (m :: * -> *) o. (MonadIO m, IsClone o) => o -> m Actor
getCloneSource o
obj = IO Actor -> m Actor
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Actor -> m Actor) -> IO Actor -> m Actor
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Actor) -> IO Actor
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getCloneSource" (IO (Maybe Actor) -> IO Actor) -> IO (Maybe Actor) -> IO Actor
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Actor -> Actor) -> IO (Maybe Actor)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"source" ManagedPtr Actor -> Actor
Clutter.Actor.Actor

-- | Set the value of the “@source@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' clone [ #source 'Data.GI.Base.Attributes.:=' value ]
-- @
setCloneSource :: (MonadIO m, IsClone o, Clutter.Actor.IsActor a) => o -> a -> m ()
setCloneSource :: forall (m :: * -> *) o a.
(MonadIO m, IsClone o, IsActor a) =>
o -> a -> m ()
setCloneSource o
obj a
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe a -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj String
"source" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)

-- | Construct a `GValueConstruct` with valid value for the “@source@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructCloneSource :: (IsClone o, MIO.MonadIO m, Clutter.Actor.IsActor a) => a -> m (GValueConstruct o)
constructCloneSource :: forall o (m :: * -> *) a.
(IsClone o, MonadIO m, IsActor a) =>
a -> m (GValueConstruct o)
constructCloneSource a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"source" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)

-- | Set the value of the “@source@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #source
-- @
clearCloneSource :: (MonadIO m, IsClone o) => o -> m ()
clearCloneSource :: forall (m :: * -> *) o. (MonadIO m, IsClone o) => o -> m ()
clearCloneSource o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Actor -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj String
"source" (Maybe Actor
forall a. Maybe a
Nothing :: Maybe Clutter.Actor.Actor)

#if defined(ENABLE_OVERLOADING)
data CloneSourcePropertyInfo
instance AttrInfo CloneSourcePropertyInfo where
    type AttrAllowedOps CloneSourcePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint CloneSourcePropertyInfo = IsClone
    type AttrSetTypeConstraint CloneSourcePropertyInfo = Clutter.Actor.IsActor
    type AttrTransferTypeConstraint CloneSourcePropertyInfo = Clutter.Actor.IsActor
    type AttrTransferType CloneSourcePropertyInfo = Clutter.Actor.Actor
    type AttrGetType CloneSourcePropertyInfo = Clutter.Actor.Actor
    type AttrLabel CloneSourcePropertyInfo = "source"
    type AttrOrigin CloneSourcePropertyInfo = Clone
    attrGet = getCloneSource
    attrSet = setCloneSource
    attrTransfer _ v = do
        unsafeCastTo Clutter.Actor.Actor v
    attrConstruct = constructCloneSource
    attrClear = clearCloneSource
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Clutter.Objects.Clone.source"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-Clone.html#g:attr:source"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Clone
type instance O.AttributeList Clone = CloneAttributeList
type CloneAttributeList = ('[ '("actions", Clutter.Actor.ActorActionsPropertyInfo), '("allocation", Clutter.Actor.ActorAllocationPropertyInfo), '("anchorGravity", Clutter.Actor.ActorAnchorGravityPropertyInfo), '("anchorX", Clutter.Actor.ActorAnchorXPropertyInfo), '("anchorY", Clutter.Actor.ActorAnchorYPropertyInfo), '("backgroundColor", Clutter.Actor.ActorBackgroundColorPropertyInfo), '("backgroundColorSet", Clutter.Actor.ActorBackgroundColorSetPropertyInfo), '("childTransform", Clutter.Actor.ActorChildTransformPropertyInfo), '("childTransformSet", Clutter.Actor.ActorChildTransformSetPropertyInfo), '("clip", Clutter.Actor.ActorClipPropertyInfo), '("clipRect", Clutter.Actor.ActorClipRectPropertyInfo), '("clipToAllocation", Clutter.Actor.ActorClipToAllocationPropertyInfo), '("constraints", Clutter.Actor.ActorConstraintsPropertyInfo), '("content", Clutter.Actor.ActorContentPropertyInfo), '("contentBox", Clutter.Actor.ActorContentBoxPropertyInfo), '("contentGravity", Clutter.Actor.ActorContentGravityPropertyInfo), '("contentRepeat", Clutter.Actor.ActorContentRepeatPropertyInfo), '("depth", Clutter.Actor.ActorDepthPropertyInfo), '("effect", Clutter.Actor.ActorEffectPropertyInfo), '("firstChild", Clutter.Actor.ActorFirstChildPropertyInfo), '("fixedPositionSet", Clutter.Actor.ActorFixedPositionSetPropertyInfo), '("fixedX", Clutter.Actor.ActorFixedXPropertyInfo), '("fixedY", Clutter.Actor.ActorFixedYPropertyInfo), '("hasClip", Clutter.Actor.ActorHasClipPropertyInfo), '("hasPointer", Clutter.Actor.ActorHasPointerPropertyInfo), '("height", Clutter.Actor.ActorHeightPropertyInfo), '("lastChild", Clutter.Actor.ActorLastChildPropertyInfo), '("layoutManager", Clutter.Actor.ActorLayoutManagerPropertyInfo), '("magnificationFilter", Clutter.Actor.ActorMagnificationFilterPropertyInfo), '("mapped", Clutter.Actor.ActorMappedPropertyInfo), '("marginBottom", Clutter.Actor.ActorMarginBottomPropertyInfo), '("marginLeft", Clutter.Actor.ActorMarginLeftPropertyInfo), '("marginRight", Clutter.Actor.ActorMarginRightPropertyInfo), '("marginTop", Clutter.Actor.ActorMarginTopPropertyInfo), '("minHeight", Clutter.Actor.ActorMinHeightPropertyInfo), '("minHeightSet", Clutter.Actor.ActorMinHeightSetPropertyInfo), '("minWidth", Clutter.Actor.ActorMinWidthPropertyInfo), '("minWidthSet", Clutter.Actor.ActorMinWidthSetPropertyInfo), '("minificationFilter", Clutter.Actor.ActorMinificationFilterPropertyInfo), '("name", Clutter.Actor.ActorNamePropertyInfo), '("naturalHeight", Clutter.Actor.ActorNaturalHeightPropertyInfo), '("naturalHeightSet", Clutter.Actor.ActorNaturalHeightSetPropertyInfo), '("naturalWidth", Clutter.Actor.ActorNaturalWidthPropertyInfo), '("naturalWidthSet", Clutter.Actor.ActorNaturalWidthSetPropertyInfo), '("offscreenRedirect", Clutter.Actor.ActorOffscreenRedirectPropertyInfo), '("opacity", Clutter.Actor.ActorOpacityPropertyInfo), '("pivotPoint", Clutter.Actor.ActorPivotPointPropertyInfo), '("pivotPointZ", Clutter.Actor.ActorPivotPointZPropertyInfo), '("position", Clutter.Actor.ActorPositionPropertyInfo), '("reactive", Clutter.Actor.ActorReactivePropertyInfo), '("realized", Clutter.Actor.ActorRealizedPropertyInfo), '("requestMode", Clutter.Actor.ActorRequestModePropertyInfo), '("rotationAngleX", Clutter.Actor.ActorRotationAngleXPropertyInfo), '("rotationAngleY", Clutter.Actor.ActorRotationAngleYPropertyInfo), '("rotationAngleZ", Clutter.Actor.ActorRotationAngleZPropertyInfo), '("rotationCenterX", Clutter.Actor.ActorRotationCenterXPropertyInfo), '("rotationCenterY", Clutter.Actor.ActorRotationCenterYPropertyInfo), '("rotationCenterZ", Clutter.Actor.ActorRotationCenterZPropertyInfo), '("rotationCenterZGravity", Clutter.Actor.ActorRotationCenterZGravityPropertyInfo), '("scaleCenterX", Clutter.Actor.ActorScaleCenterXPropertyInfo), '("scaleCenterY", Clutter.Actor.ActorScaleCenterYPropertyInfo), '("scaleGravity", Clutter.Actor.ActorScaleGravityPropertyInfo), '("scaleX", Clutter.Actor.ActorScaleXPropertyInfo), '("scaleY", Clutter.Actor.ActorScaleYPropertyInfo), '("scaleZ", Clutter.Actor.ActorScaleZPropertyInfo), '("showOnSetParent", Clutter.Actor.ActorShowOnSetParentPropertyInfo), '("size", Clutter.Actor.ActorSizePropertyInfo), '("source", CloneSourcePropertyInfo), '("textDirection", Clutter.Actor.ActorTextDirectionPropertyInfo), '("transform", Clutter.Actor.ActorTransformPropertyInfo), '("transformSet", Clutter.Actor.ActorTransformSetPropertyInfo), '("translationX", Clutter.Actor.ActorTranslationXPropertyInfo), '("translationY", Clutter.Actor.ActorTranslationYPropertyInfo), '("translationZ", Clutter.Actor.ActorTranslationZPropertyInfo), '("visible", Clutter.Actor.ActorVisiblePropertyInfo), '("width", Clutter.Actor.ActorWidthPropertyInfo), '("x", Clutter.Actor.ActorXPropertyInfo), '("xAlign", Clutter.Actor.ActorXAlignPropertyInfo), '("xExpand", Clutter.Actor.ActorXExpandPropertyInfo), '("y", Clutter.Actor.ActorYPropertyInfo), '("yAlign", Clutter.Actor.ActorYAlignPropertyInfo), '("yExpand", Clutter.Actor.ActorYExpandPropertyInfo), '("zPosition", Clutter.Actor.ActorZPositionPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
cloneSource :: AttrLabelProxy "source"
cloneSource = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Clone = CloneSignalList
type CloneSignalList = ('[ '("actorAdded", Clutter.Container.ContainerActorAddedSignalInfo), '("actorRemoved", Clutter.Container.ContainerActorRemovedSignalInfo), '("allocationChanged", Clutter.Actor.ActorAllocationChangedSignalInfo), '("buttonPressEvent", Clutter.Actor.ActorButtonPressEventSignalInfo), '("buttonReleaseEvent", Clutter.Actor.ActorButtonReleaseEventSignalInfo), '("capturedEvent", Clutter.Actor.ActorCapturedEventSignalInfo), '("childNotify", Clutter.Container.ContainerChildNotifySignalInfo), '("destroy", Clutter.Actor.ActorDestroySignalInfo), '("enterEvent", Clutter.Actor.ActorEnterEventSignalInfo), '("event", Clutter.Actor.ActorEventSignalInfo), '("hide", Clutter.Actor.ActorHideSignalInfo), '("keyFocusIn", Clutter.Actor.ActorKeyFocusInSignalInfo), '("keyFocusOut", Clutter.Actor.ActorKeyFocusOutSignalInfo), '("keyPressEvent", Clutter.Actor.ActorKeyPressEventSignalInfo), '("keyReleaseEvent", Clutter.Actor.ActorKeyReleaseEventSignalInfo), '("leaveEvent", Clutter.Actor.ActorLeaveEventSignalInfo), '("motionEvent", Clutter.Actor.ActorMotionEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("paint", Clutter.Actor.ActorPaintSignalInfo), '("parentSet", Clutter.Actor.ActorParentSetSignalInfo), '("pick", Clutter.Actor.ActorPickSignalInfo), '("queueRedraw", Clutter.Actor.ActorQueueRedrawSignalInfo), '("queueRelayout", Clutter.Actor.ActorQueueRelayoutSignalInfo), '("realize", Clutter.Actor.ActorRealizeSignalInfo), '("scrollEvent", Clutter.Actor.ActorScrollEventSignalInfo), '("show", Clutter.Actor.ActorShowSignalInfo), '("touchEvent", Clutter.Actor.ActorTouchEventSignalInfo), '("transitionStopped", Clutter.Actor.ActorTransitionStoppedSignalInfo), '("transitionsCompleted", Clutter.Actor.ActorTransitionsCompletedSignalInfo), '("unrealize", Clutter.Actor.ActorUnrealizeSignalInfo)] :: [(Symbol, *)])

#endif

-- method Clone::new
-- method type : Constructor
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "Clutter" , name = "Actor" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #ClutterActor, or %NULL"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "Clutter" , name = "Clone" })
-- throws : False
-- Skip return : False

foreign import ccall "clutter_clone_new" clutter_clone_new :: 
    Ptr Clutter.Actor.Actor ->              -- source : TInterface (Name {namespace = "Clutter", name = "Actor"})
    IO (Ptr Clone)

-- | Creates a new t'GI.Clutter.Objects.Actor.Actor' which clones /@source@/\/
-- 
-- /Since: 1.0/
cloneNew ::
    (B.CallStack.HasCallStack, MonadIO m, Clutter.Actor.IsActor a) =>
    a
    -- ^ /@source@/: a t'GI.Clutter.Objects.Actor.Actor', or 'P.Nothing'
    -> m Clone
    -- ^ __Returns:__ the newly created t'GI.Clutter.Objects.Clone.Clone'
cloneNew :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsActor a) =>
a -> m Clone
cloneNew a
source = IO Clone -> m Clone
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Clone -> m Clone) -> IO Clone -> m Clone
forall a b. (a -> b) -> a -> b
$ do
    Ptr Actor
source' <- a -> IO (Ptr Actor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    Ptr Clone
result <- Ptr Actor -> IO (Ptr Clone)
clutter_clone_new Ptr Actor
source'
    Text -> Ptr Clone -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"cloneNew" Ptr Clone
result
    Clone
result' <- ((ManagedPtr Clone -> Clone) -> Ptr Clone -> IO Clone
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Clone -> Clone
Clone) Ptr Clone
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    Clone -> IO Clone
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Clone
result'

#if defined(ENABLE_OVERLOADING)
#endif

-- method Clone::get_source
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Clutter" , name = "Clone" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #ClutterClone" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "Clutter" , name = "Actor" })
-- throws : False
-- Skip return : False

foreign import ccall "clutter_clone_get_source" clutter_clone_get_source :: 
    Ptr Clone ->                            -- self : TInterface (Name {namespace = "Clutter", name = "Clone"})
    IO (Ptr Clutter.Actor.Actor)

-- | Retrieves the source t'GI.Clutter.Objects.Actor.Actor' being cloned by /@self@/.
-- 
-- /Since: 1.0/
cloneGetSource ::
    (B.CallStack.HasCallStack, MonadIO m, IsClone a) =>
    a
    -- ^ /@self@/: a t'GI.Clutter.Objects.Clone.Clone'
    -> m Clutter.Actor.Actor
    -- ^ __Returns:__ the actor source for the clone
cloneGetSource :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClone a) =>
a -> m Actor
cloneGetSource a
self = IO Actor -> m Actor
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Actor -> m Actor) -> IO Actor -> m Actor
forall a b. (a -> b) -> a -> b
$ do
    Ptr Clone
self' <- a -> IO (Ptr Clone)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Actor
result <- Ptr Clone -> IO (Ptr Actor)
clutter_clone_get_source Ptr Clone
self'
    Text -> Ptr Actor -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"cloneGetSource" Ptr Actor
result
    Actor
result' <- ((ManagedPtr Actor -> Actor) -> Ptr Actor -> IO Actor
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Actor -> Actor
Clutter.Actor.Actor) Ptr Actor
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Actor -> IO Actor
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Actor
result'

#if defined(ENABLE_OVERLOADING)
data CloneGetSourceMethodInfo
instance (signature ~ (m Clutter.Actor.Actor), MonadIO m, IsClone a) => O.OverloadedMethod CloneGetSourceMethodInfo a signature where
    overloadedMethod = cloneGetSource

instance O.OverloadedMethodInfo CloneGetSourceMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Clutter.Objects.Clone.cloneGetSource",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-Clone.html#v:cloneGetSource"
        })


#endif

-- method Clone::set_source
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "Clutter" , name = "Clone" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #ClutterClone" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "Clutter" , name = "Actor" }
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #ClutterActor, or %NULL"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "clutter_clone_set_source" clutter_clone_set_source :: 
    Ptr Clone ->                            -- self : TInterface (Name {namespace = "Clutter", name = "Clone"})
    Ptr Clutter.Actor.Actor ->              -- source : TInterface (Name {namespace = "Clutter", name = "Actor"})
    IO ()

-- | Sets /@source@/ as the source actor to be cloned by /@self@/.
-- 
-- /Since: 1.0/
cloneSetSource ::
    (B.CallStack.HasCallStack, MonadIO m, IsClone a, Clutter.Actor.IsActor b) =>
    a
    -- ^ /@self@/: a t'GI.Clutter.Objects.Clone.Clone'
    -> Maybe (b)
    -- ^ /@source@/: a t'GI.Clutter.Objects.Actor.Actor', or 'P.Nothing'
    -> m ()
cloneSetSource :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsClone a, IsActor b) =>
a -> Maybe b -> m ()
cloneSetSource a
self Maybe b
source = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Clone
self' <- a -> IO (Ptr Clone)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr Actor
maybeSource <- case Maybe b
source of
        Maybe b
Nothing -> Ptr Actor -> IO (Ptr Actor)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Actor
forall a. Ptr a
nullPtr
        Just b
jSource -> do
            Ptr Actor
jSource' <- b -> IO (Ptr Actor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jSource
            Ptr Actor -> IO (Ptr Actor)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Actor
jSource'
    Ptr Clone -> Ptr Actor -> IO ()
clutter_clone_set_source Ptr Clone
self' Ptr Actor
maybeSource
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
source b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data CloneSetSourceMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsClone a, Clutter.Actor.IsActor b) => O.OverloadedMethod CloneSetSourceMethodInfo a signature where
    overloadedMethod = cloneSetSource

instance O.OverloadedMethodInfo CloneSetSourceMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Clutter.Objects.Clone.cloneSetSource",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-Clone.html#v:cloneSetSource"
        })


#endif