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 namespace drawinglayer::animation { class AnimationEntryList; }
32 namespace drawinglayer::attribute { class SdrFormTextAttribute; }
33 namespace drawinglayer::attribute { class ImpSdrTextAttribute; }
34 
35 
37  {
39  {
40  public:
42 
43  private:
45 
46  public:
49  const SdrText& rSdrText,
50  const OutlinerParaObject& rOutlinerParaObject,
51  XFormTextStyle eFormTextStyle,
52  sal_Int32 aTextLeftDistance,
53  sal_Int32 aTextUpperDistance,
54  sal_Int32 aTextRightDistance,
55  sal_Int32 aTextLowerDistance,
56  SdrTextHorzAdjust aSdrTextHorzAdjust,
57  SdrTextVertAdjust aSdrTextVertAdjust,
58  bool bContour,
59  bool bFitToSize,
60  bool bAutoFit,
61  bool bHideContour,
62  bool bBlink,
63  bool bScroll,
64  bool bInEditMode,
65  bool bFixedCellHeight,
66  bool bWrongSpell,
67  bool bChainable);
68 
70  SdrTextAttribute(const SdrTextAttribute& rCandidate);
71  SdrTextAttribute(SdrTextAttribute&& rCandidate) noexcept;
72  SdrTextAttribute& operator=(const SdrTextAttribute& rCandidate);
73  SdrTextAttribute& operator=(SdrTextAttribute&& rCandidate) noexcept;
75 
76  // checks if the incarnation is default constructed
77  bool isDefault() const;
78 
79  // compare operator
80  bool operator==(const SdrTextAttribute& rCandidate) const;
81 
82  // data read access
83  const SdrText& getSdrText() const;
85  bool isContour() const;
86  bool isFitToSize() const;
87  bool isAutoFit() const;
88  bool isHideContour() const;
89  bool isBlink() const;
90  bool isScroll() const;
91  bool isInEditMode() const;
92  bool isFixedCellHeight() const;
94  sal_Int32 getTextLeftDistance() const;
95  sal_Int32 getTextUpperDistance() const;
96  sal_Int32 getTextRightDistance() const;
97  sal_Int32 getTextLowerDistance() const;
100 
101  bool isChainable() const;
102 
103 
104  // helpers: animation timing generators
105  void getBlinkTextTiming(
106  drawinglayer::animation::AnimationEntryList& rAnimList) const;
107  void getScrollTextTiming(
108  drawinglayer::animation::AnimationEntryList& rAnimList,
109  double fFrameLength,
110  double fTextLength) const;
111  };
112 
113 } // end of namespace drawinglayer::attribute
114 
115 
116 /* 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
void getBlinkTextTiming(drawinglayer::animation::AnimationEntryList &rAnimList) const
const SdrFormTextAttribute & getSdrFormTextAttribute() const
SdrTextVertAdjust getSdrTextVertAdjust() const
SdrTextVertAdjust
Definition: sdtaitm.hxx:29
o3tl::cow_wrapper< ImpSdrTextAttribute > ImplType