/**************************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/


#ifndef __com_sun_star_animations_XTargetPropertiesCreator_idl__ 
#define __com_sun_star_animations_XTargetPropertiesCreator_idl__ 

#ifndef __com_sun_star_animations_TargetProperties_idl__
#include <com/sun/star/animations/TargetProperties.idl>
#endif
#ifndef __com_sun_star_animations_XAnimationNode_idl__
#include <com/sun/star/animations/XAnimationNode.idl>
#endif

//============================================================================= 
 
 module com {  module sun {  module star {  module animations {  
 
//============================================================================= 

/** Factory interface to generate properties for all animated targets.<p>

    Depending on mode and content of a SMIL animation tree, animation
    targets can have global properties different from the target's
    default. The most prominent example for such a difference is shape
    visibility: when a shape is to become visible in the course of a
    SMIL animation, it naturally has to be initially invisible for
    that effect to have any visible impact.<p>

    This factory interface is able to generate sequences of global
    properties for all targets referenced in a given SMIL animation
    tree.
 */
interface XTargetPropertiesCreator : ::com::sun::star::uno::XInterface
{
    /** Determine a sequence of global target properties.<p>

    	This method generates a sequence of TargetProperties in effect
    	before the given SMIL animations start. These properties
    	should be applied to the given animation targets, to achieve
    	correct playback of the SMIL animations.<p>

    	@param rootNode
        Root node of the SMIL animation tree.
     */
    sequence< TargetProperties > createInitialTargetProperties( [in] XAnimationNode rootNode );

};

//============================================================================= 

}; }; }; };  

#endif