Branch libreoffice-5-0-4
[LibreOffice.git] / include / svx / sdr / attribute / sdrtextattribute.hxx
blob637b769faa972b252b0e91276d3ac14a51d1b984
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_SVX_SDR_ATTRIBUTE_SDRTEXTATTRIBUTE_HXX
21 #define INCLUDED_SVX_SDR_ATTRIBUTE_SDRTEXTATTRIBUTE_HXX
23 #include <sal/types.h>
24 #include <svx/xenum.hxx>
25 #include <editeng/outlobj.hxx>
26 #include <svx/sdtaitm.hxx>
29 // predefines
31 class SdrText;
33 namespace drawinglayer { namespace animation {
34 class AnimationEntryList;
37 namespace drawinglayer { namespace attribute {
38 class SdrFormTextAttribute;
41 namespace drawinglayer { namespace attribute {
42 class ImpSdrTextAttribute;
47 namespace drawinglayer
49 namespace attribute
51 class SdrTextAttribute
53 private:
54 ImpSdrTextAttribute* mpSdrTextAttribute;
56 public:
57 /// constructors/assignmentoperator/destructor
58 SdrTextAttribute(
59 const SdrText& rSdrText,
60 const OutlinerParaObject& rOutlinerParaObject,
61 XFormTextStyle eFormTextStyle,
62 sal_Int32 aTextLeftDistance,
63 sal_Int32 aTextUpperDistance,
64 sal_Int32 aTextRightDistance,
65 sal_Int32 aTextLowerDistance,
66 SdrTextHorzAdjust aSdrTextHorzAdjust,
67 SdrTextVertAdjust aSdrTextVertAdjust,
68 bool bContour,
69 bool bFitToSize,
70 bool bAutoFit,
71 bool bHideContour,
72 bool bBlink,
73 bool bScroll,
74 bool bInEditMode,
75 bool bFixedCellHeight,
76 bool bWrongSpell);
77 SdrTextAttribute();
78 SdrTextAttribute(const SdrTextAttribute& rCandidate);
79 SdrTextAttribute& operator=(const SdrTextAttribute& rCandidate);
80 ~SdrTextAttribute();
82 // checks if the incarnation is default constructed
83 bool isDefault() const;
85 // compare operator
86 bool operator==(const SdrTextAttribute& rCandidate) const;
88 // data read access
89 const SdrText& getSdrText() const;
90 const OutlinerParaObject& getOutlinerParaObject() const;
91 bool isContour() const;
92 bool isFitToSize() const;
93 bool isAutoFit() const;
94 bool isHideContour() const;
95 bool isBlink() const;
96 bool isScroll() const;
97 bool isInEditMode() const;
98 bool isFixedCellHeight() const;
99 const SdrFormTextAttribute& getSdrFormTextAttribute() const;
100 sal_Int32 getTextLeftDistance() const;
101 sal_Int32 getTextUpperDistance() const;
102 sal_Int32 getTextRightDistance() const;
103 sal_Int32 getTextLowerDistance() const;
104 SdrTextHorzAdjust getSdrTextHorzAdjust() const;
105 SdrTextVertAdjust getSdrTextVertAdjust() const;
107 // helpers: animation timing generators
108 void getBlinkTextTiming(
109 drawinglayer::animation::AnimationEntryList& rAnimList) const;
110 void getScrollTextTiming(
111 drawinglayer::animation::AnimationEntryList& rAnimList,
112 double fFrameLength,
113 double fTextLength) const;
115 } // end of namespace attribute
116 } // end of namespace drawinglayer
120 #endif // INCLUDED_SVX_SDR_ATTRIBUTE_SDRTEXTATTRIBUTE_HXX
122 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */