1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef INCLUDED_SLIDESHOW_ANIMATIONACTIVITY_HXX 25 #define INCLUDED_SLIDESHOW_ANIMATIONACTIVITY_HXX 26 27 #include "activity.hxx" 28 #include "animatableshape.hxx" 29 #include "shapeattributelayer.hxx" 30 31 32 /* Definition of AnimationActivity interface */ 33 34 namespace slideshow 35 { 36 namespace internal 37 { 38 39 /** Extends the Activity interface with animation-specific functions 40 */ 41 class AnimationActivity : public Activity 42 { 43 public: 44 /** Sets targets (shape and attributeLayer) 45 46 Since attribute layers can only be generated when the 47 animation starts, the Activity owner must be able to 48 pass it into the Activity after initial creation. The 49 same applies to the actual shape the animation must 50 run for, since e.g. subsetted shapes are generated 51 close before the animation starts, too (this is not 52 necessary in and out of itself, but for performance 53 reasons. Otherwise, character iterations produce tons 54 of subset shapes). 55 56 @param rShape 57 Shape to play the animation on. 58 59 @param rAttrLayer 60 Attribute layer to change the animated values on. 61 */ 62 virtual void setTargets( const AnimatableShapeSharedPtr& rShape, 63 const ShapeAttributeLayerSharedPtr& rAttrLayer ) = 0; 64 }; 65 66 typedef ::boost::shared_ptr< AnimationActivity > AnimationActivitySharedPtr; 67 68 } 69 } 70 71 #endif /* INCLUDED_SLIDESHOW_ANIMATIONACTIVITY_HXX */ 72