1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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_ENGINE_ACTIVITIES_CONTINUOUSKEYTIMEACTIVITYBASE_HXX
21 #define INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_CONTINUOUSKEYTIMEACTIVITYBASE_HXX
23 #include "simplecontinuousactivitybase.hxx"
25 #include <basegfx/utils/keystoplerp.hxx>
33 /** Interpolated, key-times animation.
35 This class implements an interpolated key-times
36 animation, with continuous time.
38 class ContinuousKeyTimeActivityBase
: public SimpleContinuousActivityBase
41 explicit ContinuousKeyTimeActivityBase( const ActivityParameters
& rParms
);
43 using SimpleContinuousActivityBase::perform
;
45 /** Hook for derived classes
47 This method will be called from perform(), already
48 equipped with the modified time (nMinNumberOfFrames, repeat,
49 acceleration and deceleration taken into account).
52 Current index of the key times/key values.
54 @param nFractionalIndex
55 Fractional value from the [0,1] range, specifying
56 the position between nIndex and nIndex+1.
59 Number of full repeats already performed
61 virtual void perform( sal_uInt32 nIndex
,
62 double nFractionalIndex
,
63 sal_uInt32 nRepeatCount
) const = 0;
65 /// From SimpleContinuousActivityBase class
66 virtual void simplePerform( double nSimpleTime
,
67 sal_uInt32 nRepeatCount
) const override
;
70 const ::basegfx::utils::KeyStopLerp maLerper
;
75 #endif // INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_CONTINUOUSKEYTIMEACTIVITYBASE_HXX
77 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */