Kaydet (Commit) b6471fa5 authored tarafından Noel Grandin's avatar Noel Grandin

convert SdrMeasureTextHPos to scoped enum

Change-Id: I27dccc90565b9e3fb14e88581a181c421caee56b
üst d4ec2ed0
......@@ -355,37 +355,37 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
case SdrMeasureTextVPos::Above:
switch( eHPos )
{
case SDRMEASURE_TEXTLEFTOUTSIDE: eRP = RP_LT; break;
case SDRMEASURE_TEXTINSIDE: eRP = RP_MT; break;
case SDRMEASURE_TEXTRIGHTOUTSIDE: eRP = RP_RT; break;
case SDRMEASURE_TEXTHAUTO: eRP = RP_MT; break;
case SdrMeasureTextHPos::LeftOutside: eRP = RP_LT; break;
case SdrMeasureTextHPos::Inside: eRP = RP_MT; break;
case SdrMeasureTextHPos::RightOutside: eRP = RP_RT; break;
case SdrMeasureTextHPos::Auto: eRP = RP_MT; break;
}
break;
case SdrMeasureTextVPos::VerticalCentered:
switch( eHPos )
{
case SDRMEASURE_TEXTLEFTOUTSIDE: eRP = RP_LM; break;
case SDRMEASURE_TEXTINSIDE: eRP = RP_MM; break;
case SDRMEASURE_TEXTRIGHTOUTSIDE: eRP = RP_RM; break;
case SDRMEASURE_TEXTHAUTO: eRP = RP_MM; break;
case SdrMeasureTextHPos::LeftOutside: eRP = RP_LM; break;
case SdrMeasureTextHPos::Inside: eRP = RP_MM; break;
case SdrMeasureTextHPos::RightOutside: eRP = RP_RM; break;
case SdrMeasureTextHPos::Auto: eRP = RP_MM; break;
}
break;
case SdrMeasureTextVPos::Below:
switch( eHPos )
{
case SDRMEASURE_TEXTLEFTOUTSIDE: eRP = RP_LB; break;
case SDRMEASURE_TEXTINSIDE: eRP = RP_MB; break;
case SDRMEASURE_TEXTRIGHTOUTSIDE: eRP = RP_RB; break;
case SDRMEASURE_TEXTHAUTO: eRP = RP_MB; break;
case SdrMeasureTextHPos::LeftOutside: eRP = RP_LB; break;
case SdrMeasureTextHPos::Inside: eRP = RP_MB; break;
case SdrMeasureTextHPos::RightOutside: eRP = RP_RB; break;
case SdrMeasureTextHPos::Auto: eRP = RP_MB; break;
}
break;
case SdrMeasureTextVPos::Auto:
switch( eHPos )
{
case SDRMEASURE_TEXTLEFTOUTSIDE: eRP = RP_LM; break;
case SDRMEASURE_TEXTINSIDE: eRP = RP_MM; break;
case SDRMEASURE_TEXTRIGHTOUTSIDE: eRP = RP_RM; break;
case SDRMEASURE_TEXTHAUTO: eRP = RP_MM; break;
case SdrMeasureTextHPos::LeftOutside: eRP = RP_LM; break;
case SdrMeasureTextHPos::Inside: eRP = RP_MM; break;
case SdrMeasureTextHPos::RightOutside: eRP = RP_RM; break;
case SdrMeasureTextHPos::Auto: eRP = RP_MM; break;
}
break;
default: ;//prevent warning
......@@ -393,7 +393,7 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
CTL_STATE nState = CTL_STATE::NONE;
if( eHPos == SDRMEASURE_TEXTHAUTO )
if( eHPos == SdrMeasureTextHPos::Auto )
{
m_pTsbAutoPosH->SetState( TRISTATE_TRUE );
nState = CTL_STATE::NOHORZ;
......@@ -526,26 +526,26 @@ bool SvxMeasurePage::FillItemSet( SfxItemSet* rAttrs)
{
default:
case RP_LT: eVPos = SdrMeasureTextVPos::Above;
eHPos = SDRMEASURE_TEXTLEFTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::LeftOutside; break;
case RP_LM: eVPos = SdrMeasureTextVPos::VerticalCentered;
eHPos = SDRMEASURE_TEXTLEFTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::LeftOutside; break;
case RP_LB: eVPos = SdrMeasureTextVPos::Below;
eHPos = SDRMEASURE_TEXTLEFTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::LeftOutside; break;
case RP_MT: eVPos = SdrMeasureTextVPos::Above;
eHPos = SDRMEASURE_TEXTINSIDE; break;
eHPos = SdrMeasureTextHPos::Inside; break;
case RP_MM: eVPos = SdrMeasureTextVPos::VerticalCentered;
eHPos = SDRMEASURE_TEXTINSIDE; break;
eHPos = SdrMeasureTextHPos::Inside; break;
case RP_MB: eVPos = SdrMeasureTextVPos::Below;
eHPos = SDRMEASURE_TEXTINSIDE; break;
eHPos = SdrMeasureTextHPos::Inside; break;
case RP_RT: eVPos = SdrMeasureTextVPos::Above;
eHPos = SDRMEASURE_TEXTRIGHTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::RightOutside; break;
case RP_RM: eVPos = SdrMeasureTextVPos::VerticalCentered;
eHPos = SDRMEASURE_TEXTRIGHTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::RightOutside; break;
case RP_RB: eVPos = SdrMeasureTextVPos::Below;
eHPos = SDRMEASURE_TEXTRIGHTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::RightOutside; break;
}
if( m_pTsbAutoPosH->GetState() == TRISTATE_TRUE )
eHPos = SDRMEASURE_TEXTHAUTO;
eHPos = SdrMeasureTextHPos::Auto;
if( m_pTsbAutoPosV->GetState() == TRISTATE_TRUE )
eVPos = SdrMeasureTextVPos::Auto;
......@@ -755,30 +755,30 @@ void SvxMeasurePage::ChangeAttrHdl_Impl( void* p )
{
default:
case RP_LT: eVPos = SdrMeasureTextVPos::Above;
eHPos = SDRMEASURE_TEXTLEFTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::LeftOutside; break;
case RP_LM: eVPos = SdrMeasureTextVPos::VerticalCentered;
eHPos = SDRMEASURE_TEXTLEFTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::LeftOutside; break;
case RP_LB: eVPos = SdrMeasureTextVPos::Below;
eHPos = SDRMEASURE_TEXTLEFTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::LeftOutside; break;
case RP_MT: eVPos = SdrMeasureTextVPos::Above;
eHPos = SDRMEASURE_TEXTINSIDE; break;
eHPos = SdrMeasureTextHPos::Inside; break;
case RP_MM: eVPos = SdrMeasureTextVPos::VerticalCentered;
eHPos = SDRMEASURE_TEXTINSIDE; break;
eHPos = SdrMeasureTextHPos::Inside; break;
case RP_MB: eVPos = SdrMeasureTextVPos::Below;
eHPos = SDRMEASURE_TEXTINSIDE; break;
eHPos = SdrMeasureTextHPos::Inside; break;
case RP_RT: eVPos = SdrMeasureTextVPos::Above;
eHPos = SDRMEASURE_TEXTRIGHTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::RightOutside; break;
case RP_RM: eVPos = SdrMeasureTextVPos::VerticalCentered;
eHPos = SDRMEASURE_TEXTRIGHTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::RightOutside; break;
case RP_RB: eVPos = SdrMeasureTextVPos::Below;
eHPos = SDRMEASURE_TEXTRIGHTOUTSIDE; break;
eHPos = SdrMeasureTextHPos::RightOutside; break;
}
CTL_STATE nState = CTL_STATE::NONE;
if( m_pTsbAutoPosH->GetState() == TRISTATE_TRUE )
{
eHPos = SDRMEASURE_TEXTHAUTO;
eHPos = SdrMeasureTextHPos::Auto;
nState = CTL_STATE::NOHORZ;
}
......
......@@ -23,7 +23,7 @@
#include <svl/eitem.hxx>
#include <svx/svxdllapi.h>
enum SdrMeasureTextHPos {SDRMEASURE_TEXTHAUTO,SDRMEASURE_TEXTLEFTOUTSIDE,SDRMEASURE_TEXTINSIDE,SDRMEASURE_TEXTRIGHTOUTSIDE};
enum class SdrMeasureTextHPos { Auto, LeftOutside, Inside, RightOutside };
enum class SdrMeasureTextVPos { Auto, Above, BreakedLine, Below, VerticalCentered };
......@@ -31,7 +31,7 @@ enum class SdrMeasureTextVPos { Auto, Above, BreakedLine, Below, VerticalCentere
class SVX_DLLPUBLIC SdrMeasureTextHPosItem: public SfxEnumItem {
public:
SdrMeasureTextHPosItem(SdrMeasureTextHPos ePos=SDRMEASURE_TEXTHAUTO): SfxEnumItem(SDRATTR_MEASURETEXTHPOS,sal::static_int_cast< sal_uInt16 >(ePos)) {}
SdrMeasureTextHPosItem(SdrMeasureTextHPos ePos=SdrMeasureTextHPos::Auto): SfxEnumItem(SDRATTR_MEASURETEXTHPOS,sal::static_int_cast< sal_uInt16 >(ePos)) {}
SdrMeasureTextHPosItem(SvStream& rIn) : SfxEnumItem(SDRATTR_MEASURETEXTHPOS,rIn) {}
virtual SfxPoolItem* Clone(SfxItemPool* pPool=nullptr) const override;
virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nVer) const override;
......
......@@ -67,22 +67,22 @@ namespace sdr
switch(static_cast<const SdrMeasureTextHPosItem&>(rItemSet.Get(SDRATTR_MEASURETEXTHPOS)).GetValue())
{
case SDRMEASURE_TEXTLEFTOUTSIDE :
case SdrMeasureTextHPos::LeftOutside :
{
aMTPHor = drawinglayer::primitive2d::MEASURETEXTPOSITION_NEGATIVE;
break;
}
case SDRMEASURE_TEXTINSIDE :
case SdrMeasureTextHPos::Inside :
{
aMTPHor = drawinglayer::primitive2d::MEASURETEXTPOSITION_CENTERED;
break;
}
case SDRMEASURE_TEXTRIGHTOUTSIDE :
case SdrMeasureTextHPos::RightOutside :
{
aMTPHor = drawinglayer::primitive2d::MEASURETEXTPOSITION_POSITIVE;
break;
}
default : // SDRMEASURE_TEXTHAUTO
default : // SdrMeasureTextHPos::Auto
{
break;
}
......
......@@ -423,7 +423,7 @@ void SdrMeasureObj::ImpCalcGeometrics(const ImpMeasureRec& rRec, ImpMeasurePoly&
}
}
rPol.bBreakedLine=bBrkLine;
if (rPol.eUsedTextHPos==SDRMEASURE_TEXTHAUTO) { // if text is too wide, push it outside
if (rPol.eUsedTextHPos==SdrMeasureTextHPos::Auto) { // if text is too wide, push it outside
bool bOutside = false;
long nNeedSiz=!rRec.bTextRota90 ? rPol.aTextSize.Width() : rPol.aTextSize.Height();
if (nNeedSiz>rPol.nLineLen) bOutside = true; // text doesn't fit in between
......@@ -433,9 +433,9 @@ void SdrMeasureObj::ImpCalcGeometrics(const ImpMeasureRec& rRec, ImpMeasurePoly&
long nSmallNeed=nArrow1Len+nArrow2Len+(nArrow1Wdt+nArrow2Wdt)/2/4;
if (nNeedSiz+nSmallNeed>rPol.nLineLen) bPfeileAussen = true; // text fits in between, if arrowheads are on the outside
}
rPol.eUsedTextHPos=bOutside ? SDRMEASURE_TEXTLEFTOUTSIDE : SDRMEASURE_TEXTINSIDE;
rPol.eUsedTextHPos=bOutside ? SdrMeasureTextHPos::LeftOutside : SdrMeasureTextHPos::Inside;
}
if (rPol.eUsedTextHPos!=SDRMEASURE_TEXTINSIDE) bPfeileAussen = true;
if (rPol.eUsedTextHPos!=SdrMeasureTextHPos::Inside) bPfeileAussen = true;
rPol.nArrow1Wdt=nArrow1Wdt;
rPol.nArrow2Wdt=nArrow2Wdt;
rPol.nShortLineLen=nShortLen;
......@@ -524,8 +524,8 @@ void SdrMeasureObj::ImpCalcGeometrics(const ImpMeasureRec& rRec, ImpMeasurePoly&
long nLen2=nShortLen;
long nTextWdt=rRec.bTextRota90 ? rPol.aTextSize.Height() : rPol.aTextSize.Width();
if (!bBrkLine) {
if (rPol.eUsedTextHPos==SDRMEASURE_TEXTLEFTOUTSIDE) nLen1=nArrow1Len+nTextWdt;
if (rPol.eUsedTextHPos==SDRMEASURE_TEXTRIGHTOUTSIDE) nLen2=nArrow2Len+nTextWdt;
if (rPol.eUsedTextHPos==SdrMeasureTextHPos::LeftOutside) nLen1=nArrow1Len+nTextWdt;
if (rPol.eUsedTextHPos==SdrMeasureTextHPos::RightOutside) nLen2=nArrow2Len+nTextWdt;
}
rPol.aMainline1.aP1=aMainlinePt1;
rPol.aMainline1.aP2=aMainlinePt1; rPol.aMainline1.aP2.X()-=nLen1; RotatePoint(rPol.aMainline1.aP2,aMainlinePt1,nLineSin,nLineCos);
......@@ -534,7 +534,7 @@ void SdrMeasureObj::ImpCalcGeometrics(const ImpMeasureRec& rRec, ImpMeasurePoly&
rPol.aMainline3.aP1=aMainlinePt1;
rPol.aMainline3.aP2=aMainlinePt2;
rPol.nMainlineAnz=3;
if (bBrkLine && rPol.eUsedTextHPos==SDRMEASURE_TEXTINSIDE) rPol.nMainlineAnz=2;
if (bBrkLine && rPol.eUsedTextHPos==SdrMeasureTextHPos::Inside) rPol.nMainlineAnz=2;
}
}
......@@ -670,8 +670,8 @@ void SdrMeasureObj::TakeUnrotatedSnapRect(Rectangle& rRect) const
SdrMeasureTextVPos eMV=aMPol.eUsedTextVPos;
if (!bRota90) {
switch (eMH) {
case SDRMEASURE_TEXTLEFTOUTSIDE: aTextPos.X()=aPt1b.X()-aTextSize2.Width()-nArr1Len-nLWdt; break;
case SDRMEASURE_TEXTRIGHTOUTSIDE: aTextPos.X()=aPt1b.X()+nLen+nArr2Len+nLWdt; break;
case SdrMeasureTextHPos::LeftOutside: aTextPos.X()=aPt1b.X()-aTextSize2.Width()-nArr1Len-nLWdt; break;
case SdrMeasureTextHPos::RightOutside: aTextPos.X()=aPt1b.X()+nLen+nArr2Len+nLWdt; break;
default: aTextPos.X()=aPt1b.X(); aTextSize2.Width()=nLen;
}
switch (eMV) {
......@@ -692,8 +692,8 @@ void SdrMeasureObj::TakeUnrotatedSnapRect(Rectangle& rRect) const
}
} else { // also if bTextRota90==TRUE
switch (eMH) {
case SDRMEASURE_TEXTLEFTOUTSIDE: aTextPos.X()=aPt1b.X()-aTextSize2.Height()-nArr1Len; break;
case SDRMEASURE_TEXTRIGHTOUTSIDE: aTextPos.X()=aPt1b.X()+nLen+nArr2Len; break;
case SdrMeasureTextHPos::LeftOutside: aTextPos.X()=aPt1b.X()-aTextSize2.Height()-nArr1Len; break;
case SdrMeasureTextHPos::RightOutside: aTextPos.X()=aPt1b.X()+nLen+nArr2Len; break;
default: aTextPos.X()=aPt1b.X(); aTextSize2.Height()=nLen;
}
switch (eMV) {
......@@ -1330,16 +1330,16 @@ sal_uInt16 SdrMeasureObj::GetOutlinerViewAnchorMode() const
// TODO: bTextUpsideDown should be interpreted here!
if (!bTextRota90) {
if (eMH==SDRMEASURE_TEXTLEFTOUTSIDE) eTH=SDRTEXTHORZADJUST_RIGHT;
if (eMH==SDRMEASURE_TEXTRIGHTOUTSIDE) eTH=SDRTEXTHORZADJUST_LEFT;
// at eMH==SDRMEASURE_TEXTINSIDE we can anchor horizontally
if (eMH==SdrMeasureTextHPos::LeftOutside) eTH=SDRTEXTHORZADJUST_RIGHT;
if (eMH==SdrMeasureTextHPos::RightOutside) eTH=SDRTEXTHORZADJUST_LEFT;
// at eMH==SdrMeasureTextHPos::Inside we can anchor horizontally
if (eMV==SdrMeasureTextVPos::Above) eTV=SDRTEXTVERTADJUST_BOTTOM;
if (eMV==SdrMeasureTextVPos::Below) eTV=SDRTEXTVERTADJUST_TOP;
if (eMV==SdrMeasureTextVPos::BreakedLine || eMV==SdrMeasureTextVPos::VerticalCentered) eTV=SDRTEXTVERTADJUST_CENTER;
} else {
if (eMH==SDRMEASURE_TEXTLEFTOUTSIDE) eTV=SDRTEXTVERTADJUST_BOTTOM;
if (eMH==SDRMEASURE_TEXTRIGHTOUTSIDE) eTV=SDRTEXTVERTADJUST_TOP;
// at eMH==SDRMEASURE_TEXTINSIDE we can anchor vertically
if (eMH==SdrMeasureTextHPos::LeftOutside) eTV=SDRTEXTVERTADJUST_BOTTOM;
if (eMH==SdrMeasureTextHPos::RightOutside) eTV=SDRTEXTVERTADJUST_TOP;
// at eMH==SdrMeasureTextHPos::Inside we can anchor vertically
if (!bBelowRefEdge) {
if (eMV==SdrMeasureTextVPos::Above) eTH=SDRTEXTHORZADJUST_LEFT;
if (eMV==SdrMeasureTextVPos::Below) eTH=SDRTEXTHORZADJUST_RIGHT;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment