MCPcopy Create free account
hub / github.com/Audio4Linux/JDSP4Linux / getAnchorPos

Method getAnchorPos

3rdparty/qcustomplot/qcustomplot.cpp:5744–5777  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5742}
5743
5744QPointF QCPLabelPainterPrivate::getAnchorPos(const QPointF &tickPos)
5745{
5746 switch (mAnchorMode)
5747 {
5748 case amRectangular:
5749 {
5750 switch (mAnchorSide)
5751 {
5752 case asLeft: return tickPos+QPointF(mPadding, 0);
5753 case asRight: return tickPos+QPointF(-mPadding, 0);
5754 case asTop: return tickPos+QPointF(0, mPadding);
5755 case asBottom: return tickPos+QPointF(0, -mPadding);
5756 case asTopLeft: return tickPos+QPointF(mPadding*M_SQRT1_2, mPadding*M_SQRT1_2);
5757 case asTopRight: return tickPos+QPointF(-mPadding*M_SQRT1_2, mPadding*M_SQRT1_2);
5758 case asBottomRight: return tickPos+QPointF(-mPadding*M_SQRT1_2, -mPadding*M_SQRT1_2);
5759 case asBottomLeft: return tickPos+QPointF(mPadding*M_SQRT1_2, -mPadding*M_SQRT1_2);
5760 default: qDebug() << Q_FUNC_INFO << "invalid mode for anchor side: " << mAnchorSide; break;
5761 }
5762 break;
5763 }
5764 case amSkewedUpright:
5765 // fall through
5766 case amSkewedRotated:
5767 {
5768 QCPVector2D anchorNormal(tickPos-mAnchorReference);
5769 if (mAnchorReferenceType == artTangent)
5770 anchorNormal = anchorNormal.perpendicular();
5771 anchorNormal.normalize();
5772 return tickPos+(anchorNormal*mPadding).toPointF();
5773 }
5774 default: qDebug() << Q_FUNC_INFO << "invalid mode for anchor mode: " << mAnchorMode; break;
5775 }
5776 return tickPos;
5777}
5778
5779/*! \internal
5780

Callers

nothing calls this directly

Calls 1

normalizeMethod · 0.80

Tested by

no test coverage detected