LibreOffice Module svx (master)  1
sdrtextattribute.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 #pragma once
21 
22 #include <sal/types.h>
23 #include <svx/xenum.hxx>
24 #include <editeng/outlobj.hxx>
25 #include <svx/sdtaitm.hxx>
26 #include <o3tl/cow_wrapper.hxx>
27 
28 // predefines
29 
30 class SdrText;
31 
32 namespace drawinglayer { namespace animation {
33  class AnimationEntryList;
34 }}
35 
36 namespace drawinglayer { namespace attribute {
37  class SdrFormTextAttribute;
38 }}
39 
40 namespace drawinglayer { namespace attribute {
41  class ImpSdrTextAttribute;
42 }}
43 
44 
45 namespace drawinglayer
46 {
47  namespace attribute
48  {
50  {
51  public:
53 
54  private:
56 
57  public:
60  const SdrText& rSdrText,
61  const OutlinerParaObject& rOutlinerParaObject,
62  XFormTextStyle eFormTextStyle,
63  sal_Int32 aTextLeftDistance,
64  sal_Int32 aTextUpperDistance,
65  sal_Int32 aTextRightDistance,
66  sal_Int32 aTextLowerDistance,
67  SdrTextHorzAdjust aSdrTextHorzAdjust,
68  SdrTextVertAdjust aSdrTextVertAdjust,
69  bool bContour,
70  bool bFitToSize,
71  bool bAutoFit,
72  bool bHideContour,
73  bool bBlink,
74  bool bScroll,
75  bool bInEditMode,
76  bool bFixedCellHeight,
77  bool bWrongSpell,
78  bool bChainable);
79 
81  SdrTextAttribute(const SdrTextAttribute& rCandidate);
82  SdrTextAttribute(SdrTextAttribute&& rCandidate) noexcept;
83  SdrTextAttribute& operator=(const SdrTextAttribute& rCandidate);
84  SdrTextAttribute& operator=(SdrTextAttribute&& rCandidate) noexcept;
86 
87  // checks if the incarnation is default constructed
88  bool isDefault() const;
89 
90  // compare operator
91  bool operator==(const SdrTextAttribute& rCandidate) const;
92 
93  // data read access
94  const SdrText& getSdrText() const;
96  bool isContour() const;
97  bool isFitToSize() const;
98  bool isAutoFit() const;
99  bool isHideContour() const;
100  bool isBlink() const;
101  bool isScroll() const;
102  bool isInEditMode() const;
103  bool isFixedCellHeight() const;
105  sal_Int32 getTextLeftDistance() const;
106  sal_Int32 getTextUpperDistance() const;
107  sal_Int32 getTextRightDistance() const;
108  sal_Int32 getTextLowerDistance() const;
111 
112  bool isChainable() const;
113 
114 
115  // helpers: animation timing generators
116  void getBlinkTextTiming(
117  drawinglayer::animation::AnimationEntryList& rAnimList) const;
118  void getScrollTextTiming(
119  drawinglayer::animation::AnimationEntryList& rAnimList,
120  double fFrameLength,
121  double fTextLength) const;
122  };
123  } // end of namespace attribute
124 } // end of namespace drawinglayer
125 
126 
127 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
XFormTextStyle
Definition: xenum.hxx:24
SdrTextHorzAdjust
Definition: sdtaitm.hxx:53
SdrTextHorzAdjust getSdrTextHorzAdjust() const
const OutlinerParaObject & getOutlinerParaObject() const
void getScrollTextTiming(drawinglayer::animation::AnimationEntryList &rAnimList, double fFrameLength, double fTextLength) const
sal_Int32 attribute
void getBlinkTextTiming(drawinglayer::animation::AnimationEntryList &rAnimList) const
const SdrFormTextAttribute & getSdrFormTextAttribute() const
SdrTextVertAdjust getSdrTextVertAdjust() const
SdrTextVertAdjust
Definition: sdtaitm.hxx:29
o3tl::cow_wrapper< ImpSdrTextAttribute > ImplType