LibreOffice Module oox (master)  1
animationspersist.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
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 .
18  */
19 
20 
21 #ifndef INCLUDED_OOX_PPT_ANIMATIONSPERSIST_HXX
22 #define INCLUDED_OOX_PPT_ANIMATIONSPERSIST_HXX
23 
24 #include <array>
25 #include <vector>
26 #include <memory>
27 
28 #include <com/sun/star/uno/Any.hxx>
30 #include <oox/ppt/slidepersist.hxx>
31 #include <rtl/ustring.hxx>
32 #include <sal/types.h>
33 
34 namespace oox::ppt {
35 
36  enum {
37  NP_TO = 0,
49  };
50 
51  typedef std::array< css::uno::Any, NP_SIZE_ > NodePropertyMap;
52 
53 
56  {
58  : mnType(0)
59  , mnRangeType(0)
60  {
61  maRange.start = maRange.end = 0;
62  }
63  void convert( css::uno::Any & aAny, sal_Int16 & rSubType ) const;
64 
65  sal_Int32 mnType;
66  sal_Int32 mnRangeType;
68  OUString msSubShapeId;
69  };
70 
71 
74  {
76  : mnType( 0 )
77  {}
79  css::uno::Any convert(const SlidePersistPtr & pSlide, sal_Int16 & nSubType) const;
80 
81  sal_Int32 mnType;
82  OUString msValue;
84  };
85 
86  typedef std::shared_ptr< AnimTargetElement > AnimTargetElementPtr;
87 
89 
90  typedef std::vector< AnimationCondition > AnimationConditionList;
91 
94  {
96  : mnType( 0 )
97  {}
98 
99  css::uno::Any convert(const SlidePersistPtr & pSlide) const;
100  static css::uno::Any convertList(const SlidePersistPtr & pSlide, const AnimationConditionList & l);
101 
102  AnimTargetElementPtr & getTarget()
103  { if(!mpTarget) mpTarget = std::make_shared<AnimTargetElement>(); return mpTarget; }
104  css::uno::Any maValue;
105  sal_Int32 mnType;
106  private:
107  AnimTargetElementPtr mpTarget;
108  };
109 
110 
112  {
113  OUString msFormula;
114  OUString msTime;
115  css::uno::Any maValue;
116  };
117 
118  typedef ::std::vector< TimeAnimationValue > TimeAnimationValueList;
119 
120 }
121 
122 
123 #endif
124 
125 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
data for CT_TLTimeCondition
data for CT_TLTimeTargetElement
ShapeTargetElement maShapeTarget
std::shared_ptr< AnimTargetElement > AnimTargetElementPtr
drawingml::IndexRange maRange
static css::uno::Any convertList(const SlidePersistPtr &pSlide, const AnimationConditionList &l)
void convert(css::uno::Any &aAny, sal_Int16 &rSubType) const
std::array< css::uno::Any, NP_SIZE_ > NodePropertyMap
css::uno::Any convert(const SlidePersistPtr &pSlide) const
css::uno::Any convert(const SlidePersistPtr &pSlide, sal_Int16 &nSubType) const
convert to a set of properties
::std::vector< TimeAnimationValue > TimeAnimationValueList
std::vector< AnimationCondition > AnimationConditionList
data for CT_TLShapeTargetElement
std::shared_ptr< SlidePersist > SlidePersistPtr
AnimTargetElementPtr & getTarget()