bump product version to 5.0.4.1
[LibreOffice.git] / slideshow / source / inc / boolanimation.hxx
blobd55fe7cd19d87c6e4a0666b9dc6fd13e757b85ce
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_BOOLANIMATION_HXX
21 #define INCLUDED_SLIDESHOW_SOURCE_INC_BOOLANIMATION_HXX
23 #include "animation.hxx"
26 /* Definition of BoolAnimation interface */
28 namespace slideshow
30 namespace internal
32 /** Interface defining a bool animation.
34 This interface is a specialization of the Animation
35 interface, and is used to animate attributes that have
36 only two discrete values (on and off, or true and false,
37 for example).
39 class BoolAnimation : public Animation
41 public:
42 typedef bool ValueType;
44 /** Set the animation to the given value
46 @param bValue
47 Current animation value.
49 virtual bool operator()( ValueType bValue ) = 0;
51 /** Request the underlying value for this animation.
53 This is necessary for pure To or By animations, as the
54 Activity cannot determine a sensible start value
55 otherwise.
57 @attention Note that you are only permitted to query
58 for the underlying value, if the animation has actually
59 been started (via start() call).
61 virtual ValueType getUnderlyingValue() const = 0;
64 typedef ::boost::shared_ptr< BoolAnimation > BoolAnimationSharedPtr;
69 #endif // INCLUDED_SLIDESHOW_SOURCE_INC_BOOLANIMATION_HXX
71 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */