sw a11y: clang-format SidebarWinAccessible code
[LibreOffice.git] / slideshow / source / inc / boolanimation.hxx
blob79744bc62e03ab8e0fccf0766761c16dba45877e
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::internal
30 /** Interface defining a bool animation.
32 This interface is a specialization of the Animation
33 interface, and is used to animate attributes that have
34 only two discrete values (on and off, or true and false,
35 for example).
37 class BoolAnimation : public Animation
39 public:
40 typedef bool ValueType;
42 /** Set the animation to the given value
44 @param bValue
45 Current animation value.
47 virtual bool operator()( ValueType bValue ) = 0;
49 /** Request the underlying value for this animation.
51 This is necessary for pure To or By animations, as the
52 Activity cannot determine a sensible start value
53 otherwise.
55 @attention Note that you are only permitted to query
56 for the underlying value, if the animation has actually
57 been started (via start() call).
59 virtual ValueType getUnderlyingValue() const = 0;
62 typedef ::std::shared_ptr< BoolAnimation > BoolAnimationSharedPtr;
66 #endif // INCLUDED_SLIDESHOW_SOURCE_INC_BOOLANIMATION_HXX
68 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */