include/svtools/ruler.hxx | 22 +++++++++++----------- svtools/source/control/ruler.cxx | 33 ++++++++++++++------------------- svx/source/dialog/svxruler.cxx | 19 +++++++------------ 3 files changed, 32 insertions(+), 42 deletions(-)
New commits: commit f09ab2ccb8bbbcf9b9db3cec94ce9b59f901a1c6 Author: Noel Grandin <n...@peralex.com> Date: Tue May 10 15:32:29 2016 +0200 convert RULER_INDENT to scoped enum Also separate out the INVISIBLE flag into it's own bit, because the constant is shared with other fields. Also fix some dubious code in SVX that was setting stuff on the field that meant nothing. Change-Id: If460be575eee38b8e9f01af4d73f93f6426c604f Reviewed-on: https://gerrit.libreoffice.org/24853 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noelgran...@gmail.com> diff --git a/include/svtools/ruler.hxx b/include/svtools/ruler.hxx index 620f3f3..42869f85 100644 --- a/include/svtools/ruler.hxx +++ b/include/svtools/ruler.hxx @@ -171,9 +171,9 @@ initialized: long nPos - offset relative to the origin in pixels sal_uInt16 nStyle - bit style: - RULER_INDENT_TOP (indent of the first line) - RULER_INDENT_BOTTOM (left/right indent) - RULER_INDENT_BORDER (Vertical line that shows the border distance) + RulerIndentStyle::Top (indent of the first line) + RulerIndentStyle::Bottom (left/right indent) + RulerIndentStyle::Border (Vertical line that shows the border distance) The following bits can be set in addition to these styles: RULER_STYLE_DONTKNOW (for old position or for @@ -502,15 +502,15 @@ struct RulerBorder }; -#define RULER_INDENT_TOP ((sal_uInt16)0x0000) -#define RULER_INDENT_BOTTOM ((sal_uInt16)0x0001) -#define RULER_INDENT_BORDER ((sal_uInt16)0x0002) -#define RULER_INDENT_STYLE ((sal_uInt16)0x000F) +enum class RulerIndentStyle { + Top, Bottom, Border +}; struct RulerIndent { - long nPos; - sal_uInt16 nStyle; + long nPos; + RulerIndentStyle nStyle; + bool bInvisible; }; @@ -659,7 +659,7 @@ private: SVT_DLLPRIVATE void ImplDrawBorders(vcl::RenderContext& rRenderContext, long nMin, long nMax, long nVirTop, long nVirBottom); SVT_DLLPRIVATE void ImplDrawIndent(vcl::RenderContext& rRenderContext, - const tools::Polygon& rPoly, sal_uInt16 nStyle, bool bIsHit = false); + const tools::Polygon& rPoly, bool bIsHit = false); SVT_DLLPRIVATE void ImplDrawIndents(vcl::RenderContext& rRenderContext, long nMin, long nMax, long nVirTop, long nVirBottom); SVT_DLLPRIVATE void ImplDrawTab(vcl::RenderContext& rRenderContext, const Point& rPos, sal_uInt16 nStyle); @@ -683,7 +683,7 @@ private: SVT_DLLPRIVATE bool ImplHitTest( const Point& rPosition, RulerSelection* pHitTest, bool bRequiredStyle = false, - sal_uInt16 nRequiredStyle = 0 ) const; + RulerIndentStyle nRequiredStyle = RulerIndentStyle::Top ) const; SVT_DLLPRIVATE bool ImplDocHitTest( const Point& rPos, RulerType eDragType, RulerSelection* pHitTest ) const; SVT_DLLPRIVATE bool ImplStartDrag( RulerSelection* pHitTest, sal_uInt16 nModifier ); SVT_DLLPRIVATE void ImplDrag( const Point& rPos ); diff --git a/svtools/source/control/ruler.cxx b/svtools/source/control/ruler.cxx index 81c551d..050cce7 100644 --- a/svtools/source/control/ruler.cxx +++ b/svtools/source/control/ruler.cxx @@ -789,13 +789,10 @@ void Ruler::ImplDrawBorders(vcl::RenderContext& rRenderContext, long nMin, long } } -void Ruler::ImplDrawIndent(vcl::RenderContext& rRenderContext, const tools::Polygon& rPoly, sal_uInt16 nStyle, bool bIsHit) +void Ruler::ImplDrawIndent(vcl::RenderContext& rRenderContext, const tools::Polygon& rPoly, bool bIsHit) { const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings(); - if (nStyle & RULER_STYLE_INVISIBLE) - return; - rRenderContext.SetLineColor(rStyleSettings.GetDarkShadowColor()); rRenderContext.SetFillColor(bIsHit ? rStyleSettings.GetDarkShadowColor() : rStyleSettings.GetWorkspaceColor()); rRenderContext.DrawPolygon(rPoly); @@ -812,23 +809,22 @@ void Ruler::ImplDrawIndents(vcl::RenderContext& rRenderContext, long nMin, long for (j = 0; j < mpData->pIndents.size(); j++) { - if (mpData->pIndents[j].nStyle & RULER_STYLE_INVISIBLE) + if (mpData->pIndents[j].bInvisible) continue; - sal_uInt16 nStyle = mpData->pIndents[j].nStyle; - sal_uInt16 nIndentStyle = nStyle & RULER_INDENT_STYLE; + RulerIndentStyle nIndentStyle = mpData->pIndents[j].nStyle; n = mpData->pIndents[j].nPos+mpData->nNullVirOff; if ((n >= nMin) && (n <= nMax)) { - if (nIndentStyle == RULER_INDENT_BORDER) + if (nIndentStyle == RulerIndentStyle::Border) { const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings(); rRenderContext.SetLineColor(rStyleSettings.GetShadowColor()); ImplVDrawLine(rRenderContext, n, nVirTop + 1, n, nVirBottom - 1); } - else if (nIndentStyle == RULER_INDENT_BOTTOM) + else if (nIndentStyle == RulerIndentStyle::Bottom) { aPoly.SetPoint(Point(n + 0, nVirBottom - nIndentHeight), 0); aPoly.SetPoint(Point(n - nIndentWidth2, nVirBottom - 3), 1); @@ -855,7 +851,7 @@ void Ruler::ImplDrawIndents(vcl::RenderContext& rRenderContext, long nMin, long aPoly[i] = aSet; } } - if (RULER_INDENT_BORDER != nIndentStyle) + if (RulerIndentStyle::Border != nIndentStyle) { bool bIsHit = false; if(mxCurrentHitTest.get() != nullptr && mxCurrentHitTest->eType == RULER_TYPE_INDENT) @@ -866,7 +862,7 @@ void Ruler::ImplDrawIndents(vcl::RenderContext& rRenderContext, long nMin, long { bIsHit = mnDragAryPos == j; } - ImplDrawIndent(rRenderContext, aPoly, nStyle, bIsHit); + ImplDrawIndent(rRenderContext, aPoly, bIsHit); } } } @@ -1476,7 +1472,7 @@ void Ruler::ImplUpdate( bool bMustCalc ) } bool Ruler::ImplHitTest( const Point& rPos, RulerSelection* pHitTest, - bool bRequireStyle, sal_uInt16 nRequiredStyle ) const + bool bRequireStyle, RulerIndentStyle nRequiredStyle ) const { sal_Int32 i; sal_uInt16 nStyle; @@ -1586,14 +1582,13 @@ bool Ruler::ImplHitTest( const Point& rPos, RulerSelection* pHitTest, for ( i = mpData->pIndents.size(); i; i-- ) { - nStyle = mpData->pIndents[i-1].nStyle; - if ( (! bRequireStyle || nStyle == nRequiredStyle) && - !(nStyle & RULER_STYLE_INVISIBLE) ) + RulerIndentStyle nIndentStyle = mpData->pIndents[i-1].nStyle; + if ( (! bRequireStyle || nIndentStyle == nRequiredStyle) && + !mpData->pIndents[i-1].bInvisible ) { - nStyle &= RULER_INDENT_STYLE; n1 = mpData->pIndents[i-1].nPos; - if ( (nStyle == RULER_INDENT_BOTTOM) != !bIsHori ) + if ( (nIndentStyle == RulerIndentStyle::Bottom) != !bIsHori ) { aRect.Left() = n1-nIndentWidth2; aRect.Right() = n1+nIndentWidth2; @@ -1781,12 +1776,12 @@ bool Ruler::ImplDocHitTest( const Point& rPos, RulerType eDragType, { Point aPos = rPos; bool bRequiredStyle = false; - sal_uInt16 nRequiredStyle = 0; + RulerIndentStyle nRequiredStyle = RulerIndentStyle::Top; if (eDragType == RULER_TYPE_INDENT) { bRequiredStyle = true; - nRequiredStyle = RULER_INDENT_BOTTOM; + nRequiredStyle = RulerIndentStyle::Bottom; } if ( mnWinStyle & WB_HORZ ) diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx index 526924a..1dc71e8 100644 --- a/svx/source/dialog/svxruler.cxx +++ b/svx/source/dialog/svxruler.cxx @@ -293,14 +293,14 @@ SvxRuler::SvxRuler( for(size_t nIn = 0; nIn < mpIndents.size(); nIn++) { mpIndents[nIn].nPos = 0; - mpIndents[nIn].nStyle = RULER_STYLE_DONTKNOW; + mpIndents[nIn].nStyle = RulerIndentStyle::Top; } - mpIndents[0].nStyle = RULER_STYLE_DONTKNOW; - mpIndents[1].nStyle = RULER_STYLE_DONTKNOW; - mpIndents[INDENT_FIRST_LINE].nStyle = RULER_INDENT_TOP; - mpIndents[INDENT_LEFT_MARGIN].nStyle = RULER_INDENT_BOTTOM; - mpIndents[INDENT_RIGHT_MARGIN].nStyle = RULER_INDENT_BOTTOM; + mpIndents[0].nStyle = RulerIndentStyle::Top; + mpIndents[1].nStyle = RulerIndentStyle::Top; + mpIndents[INDENT_FIRST_LINE].nStyle = RulerIndentStyle::Top; + mpIndents[INDENT_LEFT_MARGIN].nStyle = RulerIndentStyle::Bottom; + mpIndents[INDENT_RIGHT_MARGIN].nStyle = RulerIndentStyle::Bottom; } if( (nFlags & SvxRulerSupportFlags::BORDERS) == SvxRulerSupportFlags::BORDERS ) @@ -916,10 +916,7 @@ void SvxRuler::UpdatePara() mpIndents[INDENT_FIRST_LINE].nPos = ConvertHPosPixel(leftFirstLine); mpIndents[INDENT_RIGHT_MARGIN].nPos = ConvertHPosPixel(rightMargin); - if( mxParaItem->IsAutoFirst() ) - mpIndents[INDENT_FIRST_LINE].nStyle |= RULER_STYLE_INVISIBLE; - else - mpIndents[INDENT_FIRST_LINE].nStyle &= ~RULER_STYLE_INVISIBLE; + mpIndents[INDENT_FIRST_LINE].bInvisible = mxParaItem->IsAutoFirst(); SetIndents(INDENT_COUNT, &mpIndents[0] + INDENT_GAP); } @@ -3179,7 +3176,6 @@ bool SvxRuler::StartDrag() sal_uInt16 nIndent = INDENT_LEFT_MARGIN; if((nIndent) == GetDragAryPos() + INDENT_GAP) { // Left paragraph indent mpIndents[0] = mpIndents[INDENT_FIRST_LINE]; - mpIndents[0].nStyle |= RULER_STYLE_DONTKNOW; EvalModifier(); } else @@ -3187,7 +3183,6 @@ bool SvxRuler::StartDrag() nDragType = SvxRulerDragFlags::OBJECT; } mpIndents[1] = mpIndents[GetDragAryPos() + INDENT_GAP]; - mpIndents[1].nStyle |= RULER_STYLE_DONTKNOW; break; } case RULER_TYPE_TAB: // Tabs (Modifier) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits