11 #ifndef KDCHARTPOSITION_H
12 #define KDCHARTPOSITION_H
16 #include <QCoreApplication>
20 #include <QtContainerFwd>
73 const char *name()
const;
74 QString printableName()
const;
76 bool isUnknown()
const;
78 bool isWestSide()
const;
79 bool isNorthSide()
const;
80 bool isEastSide()
const;
81 bool isSouthSide()
const;
83 bool isCorner()
const;
86 bool isFloating()
const;
105 IncludeFloating = 0x2
107 Q_DECLARE_FLAGS(Options, Option)
113 static QList<QByteArray> names(Options options = Options(IncludeCenter | IncludeFloating));
114 static QStringList printableNames(Options options = Options(IncludeCenter | IncludeFloating));
116 static Position fromName(
const char *name);
117 static Position fromName(
const QByteArray &name);
158 : mPositionCenter(center)
159 , mPositionNorthWest(northWest)
160 , mPositionNorth(north)
161 , mPositionNorthEast(northEast)
162 , mPositionEast(east)
163 , mPositionSouthEast(southEast)
164 , mPositionSouth(south)
165 , mPositionSouthWest(southWest)
166 , mPositionWest(west)
170 const QPointF &onePointForAllPositions)
171 : mPositionCenter(onePointForAllPositions)
172 , mPositionNorthWest(onePointForAllPositions)
173 , mPositionNorth(onePointForAllPositions)
174 , mPositionNorthEast(onePointForAllPositions)
175 , mPositionEast(onePointForAllPositions)
176 , mPositionSouthEast(onePointForAllPositions)
177 , mPositionSouth(onePointForAllPositions)
178 , mPositionSouthWest(onePointForAllPositions)
179 , mPositionWest(onePointForAllPositions)
185 const QRectF r(rect.normalized());
186 mPositionCenter = r.center();
187 mPositionNorthWest = r.topLeft();
188 mPositionNorth = QPointF(r.center().x(), r.top());
189 mPositionNorthEast = r.topRight();
190 mPositionEast = QPointF(r.right(), r.center().y());
191 mPositionSouthEast = r.bottomRight();
192 mPositionSouth = QPointF(r.center().x(), r.bottom());
193 mPositionSouthWest = r.bottomLeft();
194 mPositionWest = QPointF(r.left(), r.center().y());
201 : mPositionCenter((northWest + southEast) / 2.0)
202 , mPositionNorthWest(northWest)
203 , mPositionNorth((northWest + northEast) / 2.0)
204 , mPositionNorthEast(northEast)
205 , mPositionEast((northEast + southEast) / 2.0)
206 , mPositionSouthEast(southEast)
207 , mPositionSouth((southWest + southEast) / 2.0)
208 , mPositionSouthWest(southWest)
209 , mPositionWest((northWest + southWest) / 2.0)
215 mapOfDegrees[pos] = degrees;
218 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && defined(Q_COMPILER_MANGLES_RETURN_TYPE)
224 if (mapOfDegrees.contains(pos))
225 return mapOfDegrees[pos];
229 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && defined(Q_COMPILER_MANGLES_RETURN_TYPE)
230 const QPointF point(
Position position)
const
237 return mPositionCenter;
239 return mPositionNorthWest;
241 return mPositionNorth;
243 return mPositionNorthEast;
245 return mPositionEast;
247 return mPositionSouthEast;
249 return mPositionSouth;
251 return mPositionSouthWest;
253 return mPositionWest;
254 return mPositionUnknown;
259 return mPositionUnknown.isNull() && mPositionCenter.isNull() && mPositionNorthWest.isNull() && mPositionNorth.isNull() && mPositionNorthEast.isNull() && mPositionEast.isNull() && mPositionSouthEast.isNull() && mPositionSouth.isNull() && mPositionSouthWest.isNull() && mPositionWest.isNull();
277 #if !defined(QT_NO_DEBUG_STREAM)
283 Q_DECLARE_OPERATORS_FOR_FLAGS(KDChart::Position::Options)
Definition of global enums.
QT_BEGIN_NAMESPACE Q_DECLARE_TYPEINFO(KDChart::Position, Q_MOVABLE_TYPE)
KDCHART_EXPORT QDebug operator<<(QDebug, const KDChart::Position &)
Stores the absolute target points of a Position.
PositionPoints(const QRectF &rect)
PositionPoints(const QPointF &onePointForAllPositions)
void setDegrees(KDChartEnums::PositionValue pos, qreal degrees)
QPointF mPositionSouthWest
PositionPoints(QPointF center, QPointF northWest, QPointF north, QPointF northEast, QPointF east, QPointF southEast, QPointF south, QPointF southWest, QPointF west)
qreal degrees(KDChartEnums::PositionValue pos) const
QPointF mPositionSouthEast
QMap< KDChartEnums::PositionValue, qreal > mapOfDegrees
QPointF point(Position position) const
QPointF mPositionNorthWest
QPointF mPositionNorthEast
PositionPoints(QPointF northWest, QPointF northEast, QPointF southEast, QPointF southWest)
Defines a position, using compass terminology.
bool operator!=(const Position &) const
static const Position & West
static const Position & South
bool operator==(const Position &) const
static const Position & Floating
static const Position & North
static const Position & SouthWest
static const Position & NorthEast
static const Position & NorthWest
static const Position & SouthEast
static const Position & East
static const Position & Center
static const Position & Unknown
bool operator==(const TickInfo &, const TickInfo &)
bool operator!=(const Span &s1, const Span &s2)