summaryrefslogtreecommitdiff
path: root/slideshow/source/engine/animationnodes
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-10-19 15:58:04 +0200
committerStephan Bergmann <sbergman@redhat.com>2017-10-19 23:08:58 +0200
commitdb90b1aa477baacf8cb85384343aba171b91eb5c (patch)
tree1f4b3a074ad1fb149b6e0e263a090acf122c420c /slideshow/source/engine/animationnodes
parent8d3b8dd0b273f670baceaebdf4f66050e259c929 (diff)
Move slideshow include files to common include directory
...that are included from various places. Change done in preparation of loplugin:includeform. Change-Id: I6507189a380a547321903d71e3cb425c37bb16ad Reviewed-on: https://gerrit.libreoffice.org/43563 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'slideshow/source/engine/animationnodes')
-rw-r--r--slideshow/source/engine/animationnodes/basecontainernode.hxx101
-rw-r--r--slideshow/source/engine/animationnodes/basenode.hxx210
2 files changed, 0 insertions, 311 deletions
diff --git a/slideshow/source/engine/animationnodes/basecontainernode.hxx b/slideshow/source/engine/animationnodes/basecontainernode.hxx
deleted file mode 100644
index 3d6e568d5e0f..000000000000
--- a/slideshow/source/engine/animationnodes/basecontainernode.hxx
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_ANIMATIONNODES_BASECONTAINERNODE_HXX
-#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_ANIMATIONNODES_BASECONTAINERNODE_HXX
-
-#include "basenode.hxx"
-
-namespace slideshow {
-namespace internal {
-
-/** This interface extends BaseNode with child handling methods.
- Used for XAnimationNode objects which have children
-*/
-class BaseContainerNode : public BaseNode
-{
-public:
- BaseContainerNode(
- css::uno::Reference<css::animations::XAnimationNode> const& xNode,
- ::std::shared_ptr<BaseContainerNode> const& pParent,
- NodeContext const& rContext );
-
- /** Add given child node to this container
- */
- void appendChildNode( AnimationNodeSharedPtr const& pNode );
-
-#if defined(DBG_UTIL)
- virtual void showState() const override;
- virtual const char* getDescription() const override { return "BaseContainerNode"; }
-#endif
-
-protected:
- // overrides from BaseNode
- virtual void dispose() override;
-
-private:
- virtual bool init_st() override;
- bool init_children();
- virtual void deactivate_st( NodeState eDestState ) override;
- virtual bool hasPendingAnimation() const override;
- // force to be implemented by derived class:
- virtual void activate_st() override = 0;
- virtual void notifyDeactivating(
- AnimationNodeSharedPtr const& rNotifier ) override = 0;
-
-protected:
- bool isDurationIndefinite() const { return mbDurationIndefinite; }
-
- bool isChildNode( AnimationNodeSharedPtr const& pNode ) const;
-
- /// @return true: if all children have been deactivated
- bool notifyDeactivatedChild( AnimationNodeSharedPtr const& pChildNode );
-
- void repeat();
-
- template <typename FuncT>
- void forEachChildNode( FuncT func,
- int nodeStateMask ) const
- {
- VectorOfNodes::const_iterator iPos( maChildren.begin() );
- VectorOfNodes::const_iterator const iEnd( maChildren.end() );
- for ( ; iPos != iEnd; ++iPos ) {
- AnimationNodeSharedPtr const& pNode = *iPos;
- if (nodeStateMask != -1 && (pNode->getState() & nodeStateMask) == 0)
- continue;
- func(pNode);
- }
- }
-
- typedef ::std::vector<AnimationNodeSharedPtr> VectorOfNodes;
- VectorOfNodes maChildren;
- ::std::size_t mnFinishedChildren;
- double mnLeftIterations;
-
-private:
- const bool mbDurationIndefinite;
-};
-
-typedef ::std::shared_ptr< BaseContainerNode > BaseContainerNodeSharedPtr;
-
-} // namespace interface
-} // namespace presentation
-
-#endif // INCLUDED_SLIDESHOW_SOURCE_ENGINE_ANIMATIONNODES_BASECONTAINERNODE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/engine/animationnodes/basenode.hxx b/slideshow/source/engine/animationnodes/basenode.hxx
deleted file mode 100644
index 495e03f9ee5c..000000000000
--- a/slideshow/source/engine/animationnodes/basenode.hxx
+++ /dev/null
@@ -1,210 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_ANIMATIONNODES_BASENODE_HXX
-#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_ANIMATIONNODES_BASENODE_HXX
-
-#include <tools/diagnose_ex.h>
-#include <osl/diagnose.hxx>
-
-#include "event.hxx"
-#include "animationnode.hxx"
-#include "slideshowcontext.hxx"
-#include "shapesubset.hxx"
-
-#include <vector>
-
-namespace slideshow {
-namespace internal {
-
-/** Context for every node.
-
- Besides the global AnimationNodeFactory::Context data,
- this struct also contains the current DocTree subset
- for this node. If start and end index of the
- DocTreeNode are equal, the node should use the
- complete shape.
-*/
-struct NodeContext
-{
- NodeContext( const SlideShowContext& rContext,
- const ::basegfx::B2DVector& rSlideSize )
- : maContext( rContext ),
- maSlideSize( rSlideSize ),
- mpMasterShapeSubset(),
- mnStartDelay(0.0),
- mbIsIndependentSubset( true )
- {}
-
- /// Context as passed to createAnimationNode()
- SlideShowContext maContext;
-
- /// Size in user coordinate space of the corresponding slide
- ::basegfx::B2DVector maSlideSize;
-
- /// Shape to be used (provided by parent, e.g. for iterations)
- ShapeSubsetSharedPtr mpMasterShapeSubset;
-
- /// Additional delay to node begin (to offset iterate effects)
- double mnStartDelay;
-
- /// When true, subset must be created during slide initialization
- bool mbIsIndependentSubset;
-};
-
-class BaseContainerNode;
-
-/** This interface extends AnimationNode with some
- file-private accessor methods.
-*/
-class BaseNode : public AnimationNode,
- public ::osl::DebugBase<BaseNode>
-{
-public:
- BaseNode( css::uno::Reference<css::animations::XAnimationNode> const& xNode,
- ::std::shared_ptr<BaseContainerNode> const& pParent,
- NodeContext const& rContext );
- BaseNode(const BaseNode&) = delete;
- BaseNode& operator=(const BaseNode&) = delete;
-
- /** Provide the node with a shared_ptr to itself.
-
- Since implementation has to create objects which need
- a shared_ptr to this node, and a pointee cannot
- retrieve a shared_ptr to itself internally, have to
- set that from the outside.
- */
- void setSelf( const ::std::shared_ptr< BaseNode >& rSelf );
-
-
-#if defined(DBG_UTIL)
- virtual void showState() const;
- virtual const char* getDescription() const;
-#endif
-
- const ::std::shared_ptr< BaseContainerNode >& getParentNode() const
- { return mpParent; }
-
- // Disposable:
- virtual void dispose() override;
-
- // AnimationNode:
- virtual bool init() override;
- virtual bool resolve() override;
- virtual void activate() override;
- virtual void deactivate() override;
- virtual void end() override;
- virtual css::uno::Reference<css::animations::XAnimationNode> getXAnimationNode() const override;
- virtual NodeState getState() const override;
- virtual bool registerDeactivatingListener(
- const AnimationNodeSharedPtr& rNotifee ) override;
- // nop:
- virtual void notifyDeactivating( const AnimationNodeSharedPtr& rNotifier ) override;
-
- bool isMainSequenceRootNode() const { return mbIsMainSequenceRootNode; }
-
-protected:
- void scheduleDeactivationEvent( EventSharedPtr const& pEvent =
- EventSharedPtr() );
-
- SlideShowContext const& getContext() const { return maContext; }
- ::std::shared_ptr<BaseNode> const& getSelf() const { return mpSelf; }
-
- bool checkValidNode() const {
- ENSURE_OR_THROW( mpSelf, "no self ptr set!" );
- bool const bRet = (meCurrState != INVALID);
- OSL_ENSURE( bRet, "### INVALID node!" );
- return bRet;
- }
-
-private:
- // all state affecting methods have "_st" counterparts being called at
- // derived classes when in state transition: no-ops here at BaseNode...
- virtual bool init_st();
- virtual bool resolve_st();
- virtual void activate_st();
- virtual void deactivate_st( NodeState eDestState );
-
-private:
- /// notifies
- /// - all registered deactivation listeners
- /// - single animation end (every node)
- /// - slide animations (if main sequence root node)
- void notifyEndListeners() const;
-
- /// Get the node's restart mode
- sal_Int16 getRestartMode();
-
- /** Get the default restart mode
-
- If this node's default mode is
- AnimationRestart::DEFAULT, this method recursively
- calls the parent node.
- */
- sal_Int16 getRestartDefaultMode() const;
-
- /// Get the node's fill mode
- sal_Int16 getFillMode();
-
- /** Get the default fill mode.
-
- If this node's default mode is AnimationFill::DEFAULT,
- this method recursively calls the parent node.
- */
- sal_Int16 getFillDefaultMode() const;
-
- bool isTransition( NodeState eFromState, NodeState eToState,
- bool debugAssert = true ) const {
- bool const bRet =((mpStateTransitionTable[eFromState] & eToState) != 0);
- OSL_ENSURE( !debugAssert || bRet, "### state unreachable!" );
- return bRet;
- }
-
- bool inStateOrTransition( int mask ) const {
- return ((meCurrState & mask) != 0 ||
- (meCurrentStateTransition & mask) != 0);
- }
-
- class StateTransition;
- friend class StateTransition;
-
-private:
- SlideShowContext maContext;
-
- typedef ::std::vector< AnimationNodeSharedPtr > ListenerVector;
-
- ListenerVector maDeactivatingListeners;
- css::uno::Reference< css::animations::XAnimationNode > mxAnimationNode;
- ::std::shared_ptr< BaseContainerNode > mpParent;
- ::std::shared_ptr< BaseNode > mpSelf;
- const int* mpStateTransitionTable;
- const double mnStartDelay;
- NodeState meCurrState;
- int meCurrentStateTransition;
- EventSharedPtr mpCurrentEvent;
- const bool mbIsMainSequenceRootNode;
-};
-
-typedef ::std::shared_ptr< BaseNode > BaseNodeSharedPtr;
-
-} // namespace internal
-} // namespace slideshow
-
-#endif // INCLUDED_SLIDESHOW_SOURCE_ENGINE_ANIMATIONNODES_BASENODE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */