14 #include <KDChartCartesianCoordinatePlane_p.h>
16 #include <KDABLibFakes>
17 #include <QApplication>
20 #include <QSharedPointer>
21 #include <QTextDocument>
28 class TextAttributes::Private
38 mutable QFont cachedFont;
39 mutable qreal cachedFontSize = -1.0;
47 QSharedPointer<QTextDocument> document;
50 TextAttributes::Private::Private()
51 : font(QApplication::font())
56 TextAttributes::TextAttributes()
62 : _d(new Private(*r.
d))
86 const QFont myFont(
font());
87 QFont r_font(r.
font());
88 r_font.setStyleHint(myFont.styleHint(), myFont.styleStrategy());
105 d->cachedFont =
font;
106 d->cachedFontSize = -1.0;
116 d->fontSize = measure;
126 d->minimalFontSize = measure;
131 return d->minimalFontSize;
145 return qMax(normalSize, minimalSize);
148 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && defined(Q_COMPILER_MANGLES_RETURN_TYPE)
157 return qMax(normalSize, minimalSize);
165 const auto *plane = qobject_cast<const CartesianCoordinatePlane *>(autoReferenceArea);
166 if (plane && plane->hasFixedDataCoordinateSpaceRelation()) {
172 CartesianCoordinatePlane::Private *priv = CartesianCoordinatePlane::Private::get(
const_cast<CartesianCoordinatePlane *
>(plane));
174 autoReferenceOrientation);
179 if (size > 0.0 &&
d->cachedFontSize != size) {
180 d->cachedFontSize = size;
181 d->cachedFont.setPointSizeF(
d->cachedFontSize);
184 return d->cachedFont;
194 return d->autoRotate;
204 return d->autoShrink;
209 d->hasRotation =
true;
220 d->hasRotation =
false;
226 return d->hasRotation;
241 return d->document.data();
246 d->document = QSharedPointer<QTextDocument>(document);
249 #if !defined(QT_NO_DEBUG_STREAM)
252 dbg <<
"KDChart::TextAttributes("
254 <<
"font=" << ta.
font().toString()
260 <<
"pen=" << ta.
pen()
@ MeasureCalculationModeAbsolute
Cartesian coordinate plane.
Measure is used to specify relative and absolute sizes in KDChart, e.g. font sizes.
qreal calculatedValue(const QObject *autoArea, KDChartEnums::MeasureOrientation autoOrientation) const
A set of text attributes.
bool hasAbsoluteFontSize() const
void setFontSize(const Measure &measure)
void setAutoRotate(bool autoRotate)
const QFont calculatedFont(const QObject *autoReferenceArea, KDChartEnums::MeasureOrientation autoReferenceOrientation) const
Returns the font in the size that is used at drawing time.
bool operator==(const TextAttributes &) const
void setVisible(bool visible)
void setMinimalFontSize(const Measure &measure)
void setPen(const QPen &pen)
Measure minimalFontSize() const
void setTextDocument(QTextDocument *layout)
TextAttributes & operator=(const TextAttributes &)
void setFont(const QFont &font)
QTextDocument * textDocument() const
void setAutoShrink(bool autoShrink)
void setRotation(int rotation)
qreal calculatedFontSize(const QSizeF &referenceSize, KDChartEnums::MeasureOrientation autoReferenceOrientation) const
Returns the font size that is used at drawing time.
QDebug operator<<(QDebug stream, const DataDimension &r)