Use COMReference to handle COM pointers in CreateShortcut
[LibreOffice.git] / slideshow / source / inc / animationactivity.hxx
blob20454aa59ed70c30a88e7ae5573f7c4a856b3c86
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_ANIMATIONACTIVITY_HXX
21 #define INCLUDED_SLIDESHOW_SOURCE_INC_ANIMATIONACTIVITY_HXX
23 #include "activity.hxx"
24 #include "animatableshape.hxx"
25 #include "shapeattributelayer.hxx"
28 /* Definition of AnimationActivity interface */
30 namespace slideshow::internal
33 /** Extends the Activity interface with animation-specific functions
35 class AnimationActivity : public Activity
37 public:
38 /** Sets targets (shape and attributeLayer)
40 Since attribute layers can only be generated when the
41 animation starts, the Activity owner must be able to
42 pass it into the Activity after initial creation. The
43 same applies to the actual shape the animation must
44 run for, since e.g. subsetted shapes are generated
45 close before the animation starts, too (this is not
46 necessary in and out of itself, but for performance
47 reasons. Otherwise, character iterations produce tons
48 of subset shapes).
50 @param rShape
51 Shape to play the animation on.
53 @param rAttrLayer
54 Attribute layer to change the animated values on.
56 virtual void setTargets( const AnimatableShapeSharedPtr& rShape,
57 const ShapeAttributeLayerSharedPtr& rAttrLayer ) = 0;
60 typedef ::std::shared_ptr< AnimationActivity > AnimationActivitySharedPtr;
64 #endif // INCLUDED_SLIDESHOW_SOURCE_INC_ANIMATIONACTIVITY_HXX
66 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */