[Libreoffice-commits] core.git: include/svtools svtools/source svx/source

dbeurle dbeurle at student.unimelb.edu.au
Wed Jan 14 04:50:19 PST 2015


 include/svtools/ruler.hxx        |   24 +++++
 svtools/source/control/ruler.cxx |  168 ++++++++++++++++++++++++---------------
 svx/source/dialog/svxruler.cxx   |   27 ++++++
 3 files changed, 152 insertions(+), 67 deletions(-)

New commits:
commit 8748ae646bd5347ce9b964efbb941a873a7b5e0d
Author: dbeurle <dbeurle at student.unimelb.edu.au>
Date:   Mon Jan 12 17:36:02 2015 +1100

    HiDPI changes to ruler to respect screen DPI
    
    Change-Id: I4cbb303b395ad60d4935bff55fbaea08f13334a0
    Reviewed-on: https://gerrit.libreoffice.org/13867
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
    Tested-by: Tomaž Vajngerl <quikee at gmail.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/svtools/ruler.hxx b/include/svtools/ruler.hxx
index 06463cf..8667f69 100644
--- a/include/svtools/ruler.hxx
+++ b/include/svtools/ruler.hxx
@@ -555,8 +555,7 @@ struct RulerTab
     sal_uInt16  nStyle;
 };
 
-#define RULER_TAB_WIDTH         7
-#define RULER_TAB_HEIGHT        6
+
 
 // - RulerLine -
 
@@ -600,6 +599,27 @@ struct RulerUnitData
     sal_Char        aUnitStr[8];        // Unit string
 };
 
+// Data for drawing ruler tabstops
+struct RulerTabData
+{
+    sal_uInt16  DPIScaleFactor;
+    sal_uInt16  width;
+    sal_uInt16  height;
+    sal_uInt16  height2;
+    sal_uInt16  width2;
+    sal_uInt16  cwidth;
+    sal_uInt16  cwidth2;
+    sal_uInt16  cwidth3;
+    sal_uInt16  cwidth4;
+    sal_uInt16  dheight;
+    sal_uInt16  dheight2;
+    sal_uInt16  dwidth;
+    sal_uInt16  dwidth2;
+    sal_uInt16  dwidth3;
+    sal_uInt16  dwidth4;
+    sal_uInt16  textoff;
+};
+
 // - Ruler -
 
 class ImplRulerData;
diff --git a/svtools/source/control/ruler.cxx b/svtools/source/control/ruler.cxx
index fa16f47..96b6aa0 100644
--- a/svtools/source/control/ruler.cxx
+++ b/svtools/source/control/ruler.cxx
@@ -39,25 +39,11 @@ using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::accessibility;
 
 #define RULER_OFF           3
-#define RULER_TEXTOFF       5
 #define RULER_RESIZE_OFF    4
 #define RULER_MIN_SIZE      3
 
 #define RULER_VAR_SIZE      8
 
-#define RULER_TAB_HEIGHT2   2
-#define RULER_TAB_WIDTH2    2
-#define RULER_TAB_CWIDTH    8
-#define RULER_TAB_CWIDTH2   4
-#define RULER_TAB_CWIDTH3   4
-#define RULER_TAB_CWIDTH4   2
-#define RULER_TAB_DHEIGHT   4
-#define RULER_TAB_DHEIGHT2  1
-#define RULER_TAB_DWIDTH    5
-#define RULER_TAB_DWIDTH2   3
-#define RULER_TAB_DWIDTH3   3
-#define RULER_TAB_DWIDTH4   1
-
 #define RULER_UPDATE_LINES  0x01
 #define RULER_UPDATE_DRAW   0x02
 
@@ -207,6 +193,26 @@ static const RulerUnitData aImplRulerUnitTab[RULER_UNIT_COUNT] =
 { MAP_100TH_MM,        551,   551.0,   551.0,    551.0,   1102.0,     551, 3, " li"    }  // LINE
 };
 
+static RulerTabData ruler_tab =
+{
+    0, // DPIScaleFactor to be set
+    7, // ruler_tab_width
+    6, // ruler_tab_height
+    2, // ruler_tab_height2
+    2, // ruler_tab_width2
+    8, // ruler_tab_cwidth
+    4, // ruler_tab_cwidth2
+    4, // ruler_tab_cwidth3
+    2, // ruler_tab_cwidth4
+    4, // ruler_tab_dheight
+    1, // ruler_tab_dheight2
+    5, // ruler_tab_dwidth
+    3, // ruler_tab_dwidth2
+    3, // ruler_tab_dwidth3
+    1, // ruler_tab_dwidth4
+    5  // ruler_tab_textoff
+};
+
 void Ruler::ImplInit( WinBits nWinBits )
 {
     // Default WinBits setzen
@@ -219,7 +225,7 @@ void Ruler::ImplInit( WinBits nWinBits )
         EnableRTL( false );
     }
 
-    // Variablen initialisieren
+    // Initialize variables
     mnWinStyle      = nWinBits;             // Window-Style
     mnBorderOff     = 0;                    // Border-Offset
     mnWinOff        = 0;                    // EditWinOffset
@@ -270,7 +276,7 @@ void Ruler::ImplInit( WinBits nWinBits )
     // Setup the default size
     Rectangle aRect;
     GetTextBoundRect( aRect, OUString( "0123456789" ) );
-    long nDefHeight = aRect.GetHeight() + RULER_OFF * 2 + RULER_TEXTOFF * 2 + mnBorderWidth;
+    long nDefHeight = aRect.GetHeight() + RULER_OFF * 2 + ruler_tab.textoff * 2 + mnBorderWidth;
 
     Size aDefSize;
     if ( nWinBits & WB_HORZ )
@@ -290,7 +296,32 @@ Ruler::Ruler( vcl::Window* pParent, WinBits nWinStyle ) :
     mpData(NULL),
     mpDragData(new ImplRulerData)
 {
+
+    // Check to see if the ruler constructor has
+    // already been called before otherwise
+    // we end up with over-scaled elements
+    if( ruler_tab.DPIScaleFactor == 0 )
+    {
+        ruler_tab.DPIScaleFactor = pParent->GetDPIScaleFactor();
+        ruler_tab.width    *= ruler_tab.DPIScaleFactor;
+        ruler_tab.height   *= ruler_tab.DPIScaleFactor;
+        ruler_tab.height2  *= ruler_tab.DPIScaleFactor;
+        ruler_tab.width2   *= ruler_tab.DPIScaleFactor;
+        ruler_tab.cwidth   *= ruler_tab.DPIScaleFactor;
+        ruler_tab.cwidth2  *= ruler_tab.DPIScaleFactor;
+        ruler_tab.cwidth3  *= ruler_tab.DPIScaleFactor;
+        ruler_tab.cwidth4  *= ruler_tab.DPIScaleFactor;
+        ruler_tab.dheight  *= ruler_tab.DPIScaleFactor;
+        ruler_tab.dheight2 *= ruler_tab.DPIScaleFactor;
+        ruler_tab.dwidth   *= ruler_tab.DPIScaleFactor;
+        ruler_tab.dwidth2  *= ruler_tab.DPIScaleFactor;
+        ruler_tab.dwidth3  *= ruler_tab.DPIScaleFactor;
+        ruler_tab.dwidth4  *= ruler_tab.DPIScaleFactor;
+        ruler_tab.textoff  *= ruler_tab.DPIScaleFactor;
+    }
+
     ImplInit( nWinStyle );
+
 }
 
 Ruler::~Ruler()
@@ -432,7 +463,7 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nTop, long nB
 {
     double nCenter = nTop + ((nBottom - nTop) / 2);
 
-    long nTickLength3 = (nBottom - nTop) * 0.5;
+    long nTickLength3 = (nBottom - nTop) * 0.5 * ruler_tab.DPIScaleFactor;
     long nTickLength2 = nTickLength3 * 0.66;
     long nTickLength1 = nTickLength2 * 0.66;
 
@@ -495,7 +526,7 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nTop, long nB
     const long nTextOff = 4;
 
     // Determine the number divider for ruler drawn numbers - means which numbers
-    // should be shown on the ruler and which should be skipped because the ruller
+    // should be shown on the ruler and which should be skipped because the ruler
     // is not big enough to draw them
     if ( nTickWidth < nTxtWidth + nTextOff )
     {
@@ -599,8 +630,10 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nTop, long nB
 
                     if(nMin < nHorizontalLocation && nHorizontalLocation < nMax)
                     {
-                        ImplVDrawLine(nHorizontalLocation, nBottom, nHorizontalLocation, nBottom - 1);
-                        ImplVDrawLine(nHorizontalLocation, nTop,    nHorizontalLocation, nTop    + 1);
+                        ImplVDrawLine(nHorizontalLocation, nBottom, nHorizontalLocation,
+                            nBottom - 1 * ruler_tab.DPIScaleFactor);
+                        ImplVDrawLine(nHorizontalLocation, nTop,    nHorizontalLocation,
+                            nTop    + 1 * ruler_tab.DPIScaleFactor);
                     }
 
                     nHorizontalLocation = nStart - n;
@@ -608,8 +641,10 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nTop, long nB
 
                     if(nMin < nHorizontalLocation && nHorizontalLocation < nMax)
                     {
-                        ImplVDrawLine( nHorizontalLocation, nBottom, nHorizontalLocation, nBottom - 1 );
-                        ImplVDrawLine( nHorizontalLocation, nTop,    nHorizontalLocation, nTop    + 1 );
+                        ImplVDrawLine( nHorizontalLocation, nBottom, nHorizontalLocation,
+                            nBottom - 1 * ruler_tab.DPIScaleFactor );
+                        ImplVDrawLine( nHorizontalLocation, nTop,    nHorizontalLocation,
+                            nTop    + 1 * ruler_tab.DPIScaleFactor );
                     }
                 }
                 // Tick/Tick2 - Output (Strokes)
@@ -837,17 +872,17 @@ static void ImplCenterTabPos( Point& rPos, sal_uInt16 nTabStyle )
 {
     bool bRTL  = 0 != (nTabStyle & RULER_TAB_RTL);
     nTabStyle &= RULER_TAB_STYLE;
-    rPos.Y() += RULER_TAB_HEIGHT/2;
+    rPos.Y() += ruler_tab.height/2;
 
     if ( (!bRTL && nTabStyle == RULER_TAB_LEFT) ||
          ( bRTL && nTabStyle == RULER_TAB_RIGHT) )
     {
-        rPos.X() -= RULER_TAB_WIDTH / 2;
+        rPos.X() -= ruler_tab.width / 2;
     }
     else if ( (!bRTL && nTabStyle == RULER_TAB_RIGHT) ||
               ( bRTL && nTabStyle == RULER_TAB_LEFT) )
     {
-        rPos.X() += RULER_TAB_WIDTH / 2;
+        rPos.X() += ruler_tab.width / 2;
     }
 }
 
@@ -879,6 +914,11 @@ static void ImplDrawRulerTab( OutputDevice* pDevice, const Point& rPos,
     sal_uInt16 nTabStyle = nStyle & RULER_TAB_STYLE;
     bool bRTL = 0 != (nStyle & RULER_TAB_RTL);
 
+    // Scale by the screen DPI scaling factor
+    // However when doing this some of the rectangles
+    // drawn become asymmetric due to the +1 offsets
+    sal_uInt16 DPIOffset  = pDevice->GetDPIScaleFactor() - 1;
+
     Rectangle aRect1;
     Rectangle aRect2;
     Rectangle aRect3;
@@ -887,59 +927,59 @@ static void ImplDrawRulerTab( OutputDevice* pDevice, const Point& rPos,
 
     if ( nTabStyle == RULER_TAB_DEFAULT )
     {
-        aRect1.Left()   = rPos.X() - RULER_TAB_DWIDTH2 + 1;
-        aRect1.Top()    = rPos.Y() - RULER_TAB_DHEIGHT2 + 1;
-        aRect1.Right()  = rPos.X() - RULER_TAB_DWIDTH2 + RULER_TAB_DWIDTH;
+        aRect1.Left()   = rPos.X() - ruler_tab.dwidth2 + 1;
+        aRect1.Top()    = rPos.Y() - ruler_tab.dheight2 + 1;
+        aRect1.Right()  = rPos.X() - ruler_tab.dwidth2 + ruler_tab.dwidth + DPIOffset;
         aRect1.Bottom() = rPos.Y();
 
-        aRect2.Left()   = rPos.X() - RULER_TAB_DWIDTH2 + RULER_TAB_DWIDTH3;
-        aRect2.Top()    = rPos.Y() - RULER_TAB_DHEIGHT + 1;
-        aRect2.Right()  = rPos.X() - RULER_TAB_DWIDTH2 + RULER_TAB_DWIDTH3 + RULER_TAB_DWIDTH4 - 1;
+        aRect2.Left()   = rPos.X() - ruler_tab.dwidth2 + ruler_tab.dwidth3;
+        aRect2.Top()    = rPos.Y() - ruler_tab.dheight + 1;
+        aRect2.Right()  = rPos.X() - ruler_tab.dwidth2 + ruler_tab.dwidth3 + ruler_tab.dwidth4 - 1;
         aRect2.Bottom() = rPos.Y();
 
     }
     else if ( (!bRTL && nTabStyle == RULER_TAB_LEFT) || ( bRTL && nTabStyle == RULER_TAB_RIGHT))
     {
         aRect1.Left()   = rPos.X();
-        aRect1.Top()    = rPos.Y() - RULER_TAB_HEIGHT2 + 1;
-        aRect1.Right()  = rPos.X() + RULER_TAB_WIDTH - 1;
+        aRect1.Top()    = rPos.Y() - ruler_tab.height2 + 1;
+        aRect1.Right()  = rPos.X() + ruler_tab.width - 1;
         aRect1.Bottom() = rPos.Y();
 
         aRect2.Left()   = rPos.X();
-        aRect2.Top()    = rPos.Y() - RULER_TAB_HEIGHT + 1;
-        aRect2.Right()  = rPos.X() + RULER_TAB_WIDTH2 - 1;
+        aRect2.Top()    = rPos.Y() - ruler_tab.height + 1;
+        aRect2.Right()  = rPos.X() + ruler_tab.width2 - 1;
         aRect2.Bottom() = rPos.Y();
     }
     else if ( (!bRTL && nTabStyle == RULER_TAB_RIGHT) ||( bRTL && nTabStyle == RULER_TAB_LEFT))
     {
-        aRect1.Left()   = rPos.X() - RULER_TAB_WIDTH + 1;
-        aRect1.Top()    = rPos.Y() - RULER_TAB_HEIGHT2 + 1;
+        aRect1.Left()   = rPos.X() - ruler_tab.width + 1;
+        aRect1.Top()    = rPos.Y() - ruler_tab.height2 + 1;
         aRect1.Right()  = rPos.X();
         aRect1.Bottom() = rPos.Y();
 
-        aRect2.Left()   = rPos.X() - RULER_TAB_WIDTH2 + 1;
-        aRect2.Top()    = rPos.Y() - RULER_TAB_HEIGHT + 1;
+        aRect2.Left()   = rPos.X() - ruler_tab.width2 + 1;
+        aRect2.Top()    = rPos.Y() - ruler_tab.height + 1;
         aRect2.Right()  = rPos.X();
         aRect2.Bottom() = rPos.Y();
     }
     else
     {
-        aRect1.Left()   = rPos.X() - RULER_TAB_CWIDTH2 + 1;
-        aRect1.Top()    = rPos.Y() - RULER_TAB_HEIGHT2 + 1;
-        aRect1.Right()  = rPos.X() - RULER_TAB_CWIDTH2 + RULER_TAB_CWIDTH;
+        aRect1.Left()   = rPos.X() - ruler_tab.cwidth2 + 1;
+        aRect1.Top()    = rPos.Y() - ruler_tab.height2 + 1;
+        aRect1.Right()  = rPos.X() - ruler_tab.cwidth2 + ruler_tab.cwidth + DPIOffset;
         aRect1.Bottom() = rPos.Y();
 
-        aRect2.Left()   = rPos.X() - RULER_TAB_CWIDTH2 + RULER_TAB_CWIDTH3;
-        aRect2.Top()    = rPos.Y() - RULER_TAB_HEIGHT + 1;
-        aRect2.Right()  = rPos.X() - RULER_TAB_CWIDTH2 + RULER_TAB_CWIDTH3 + RULER_TAB_CWIDTH4 - 1;
+        aRect2.Left()   = rPos.X() - ruler_tab.cwidth2 + ruler_tab.cwidth3;
+        aRect2.Top()    = rPos.Y() - ruler_tab.height + 1;
+        aRect2.Right()  = rPos.X() - ruler_tab.cwidth2 + ruler_tab.cwidth3 + ruler_tab.cwidth4 - 1;
         aRect2.Bottom() = rPos.Y();
 
         if ( nTabStyle == RULER_TAB_DECIMAL )
         {
-            aRect3.Left()   = rPos.X() - RULER_TAB_CWIDTH2 + RULER_TAB_CWIDTH - 1;
-            aRect3.Top()    = rPos.Y() - RULER_TAB_HEIGHT + 1 + 1;
-            aRect3.Right()  = rPos.X() - RULER_TAB_CWIDTH2 + RULER_TAB_CWIDTH;
-            aRect3.Bottom() = rPos.Y() - RULER_TAB_HEIGHT + 1 + 2 ;
+            aRect3.Left()   = rPos.X() - ruler_tab.cwidth2 + ruler_tab.cwidth - 1;
+            aRect3.Top()    = rPos.Y() - ruler_tab.height + 1 + 1 - DPIOffset;
+            aRect3.Right()  = rPos.X() - ruler_tab.cwidth2 + ruler_tab.cwidth + DPIOffset;
+            aRect3.Bottom() = rPos.Y() - ruler_tab.height + 1 + 2;
         }
     }
     if( 0 == (nWinBits & WB_HORZ) )
@@ -1468,7 +1508,7 @@ bool Ruler::ImplHitTest( const Point& rPos, RulerSelection* pHitTest,
     // so that leftover tabs and indents are taken into account
     long nXExtraOff;
     if ( !mpData->pTabs.empty() || !mpData->pIndents.empty() )
-        nXExtraOff = (mnVirHeight/2) - 4;
+        nXExtraOff = (mnVirHeight / 2) - 4;
     else
         nXExtraOff = 0;
 
@@ -1494,7 +1534,7 @@ bool Ruler::ImplHitTest( const Point& rPos, RulerSelection* pHitTest,
     if ( !mpData->pTabs.empty() )
     {
         aRect.Bottom()  = nHitBottom;
-        aRect.Top()     = aRect.Bottom() - RULER_TAB_HEIGHT-RULER_OFF;
+        aRect.Top()     = aRect.Bottom() - ruler_tab.height - RULER_OFF;
 
         for ( i = mpData->pTabs.size() - 1; i >= 0; i-- )
         {
@@ -1511,17 +1551,17 @@ bool Ruler::ImplHitTest( const Point& rPos, RulerSelection* pHitTest,
                     if ( nStyle == RULER_TAB_LEFT )
                     {
                         aRect.Left()  = n1;
-                        aRect.Right() = n1 + RULER_TAB_WIDTH - 1;
+                        aRect.Right() = n1 + ruler_tab.width - 1;
                     }
                     else if ( nStyle == RULER_TAB_RIGHT )
                     {
                         aRect.Right() = n1;
-                        aRect.Left()  = n1 - RULER_TAB_WIDTH - 1;
+                        aRect.Left()  = n1 - ruler_tab.width - 1;
                     }
                     else
                     {
-                        aRect.Left()  = n1 - RULER_TAB_CWIDTH2 + 1;
-                        aRect.Right() = n1 - RULER_TAB_CWIDTH2 + RULER_TAB_CWIDTH;
+                        aRect.Left()  = n1 - ruler_tab.cwidth2 + 1;
+                        aRect.Right() = n1 - ruler_tab.cwidth2 + ruler_tab.cwidth;
                     }
 
                     if ( aRect.IsInside( Point( nX, nY ) ) )
@@ -1538,8 +1578,8 @@ bool Ruler::ImplHitTest( const Point& rPos, RulerSelection* pHitTest,
     // Indents
     if ( !mpData->pIndents.empty() )
     {
-        long nIndentHeight = (mnVirHeight/2) - 1;
-        long nIndentWidth2 = nIndentHeight-3;
+        long nIndentHeight = (mnVirHeight / 2) - 1;
+        long nIndentWidth2 = nIndentHeight - 3;
 
         for ( i = mpData->pIndents.size(); i; i-- )
         {
@@ -1703,17 +1743,17 @@ bool Ruler::ImplHitTest( const Point& rPos, RulerSelection* pHitTest,
                     if ( nStyle == RULER_TAB_LEFT )
                     {
                         aRect.Left()  = n1;
-                        aRect.Right() = n1 + RULER_TAB_WIDTH - 1;
+                        aRect.Right() = n1 + ruler_tab.width - 1;
                     }
                     else if ( nStyle == RULER_TAB_RIGHT )
                     {
                         aRect.Right() = n1;
-                        aRect.Left()  = n1 - RULER_TAB_WIDTH - 1;
+                        aRect.Left()  = n1 - ruler_tab.width - 1;
                     }
                     else
                     {
-                        aRect.Left()  = n1 - RULER_TAB_CWIDTH2 + 1;
-                        aRect.Right() = n1 - RULER_TAB_CWIDTH2 + RULER_TAB_CWIDTH;
+                        aRect.Left()  = n1 - ruler_tab.cwidth2 + 1;
+                        aRect.Right() = n1 - ruler_tab.cwidth2 + ruler_tab.cwidth;
                     }
 
                     aRect.Left()--;
@@ -2156,7 +2196,7 @@ void Ruler::Resize()
     if ( nNewHeight )
     {
         mbCalc = true;
-        mnVirHeight = nNewHeight - mnBorderWidth - (RULER_OFF*2);
+        mnVirHeight = nNewHeight - mnBorderWidth - ( RULER_OFF * 2 );
     }
     else
     {
@@ -2192,9 +2232,9 @@ void Ruler::Resize()
                     aRect.Top() = mnHeight-RULER_RESIZE_OFF;
                 else
                     aRect.Top() = aWinSize.Height()-RULER_RESIZE_OFF;
-                aRect.Bottom() = aRect.Top()+RULER_RESIZE_OFF;
+                aRect.Bottom() = aRect.Top() + RULER_RESIZE_OFF;
                 aRect.Left()    = RULER_OFF;
-                aRect.Right()   = RULER_OFF+mnVirHeight;
+                aRect.Right()   = RULER_OFF + mnVirHeight;
             }
 
             Invalidate( aRect );
diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx
index b869689..39ae343 100644
--- a/svx/source/dialog/svxruler.cxx
+++ b/svx/source/dialog/svxruler.cxx
@@ -157,6 +157,26 @@ struct SvxRuler_Impl {
 
 };
 
+static RulerTabData ruler_tab_svx =
+{
+    0, // DPIScaleFactor to be set
+    7, // ruler_tab_width
+    6, // ruler_tab_height
+    0, // ruler_tab_height2
+    0, // ruler_tab_width2
+    0, // ruler_tab_cwidth
+    0, // ruler_tab_cwidth2
+    0, // ruler_tab_cwidth3
+    0, // ruler_tab_cwidth4
+    0, // ruler_tab_dheight
+    0, // ruler_tab_dheight2
+    0, // ruler_tab_dwidth
+    0, // ruler_tab_dwidth2
+    0, // ruler_tab_dwidth3
+    0, // ruler_tab_dwidth4
+    0  // ruler_tab_textoff
+};
+
 void SvxRuler_Impl::SetPercSize(sal_uInt16 nSize)
 {
     if(nSize > nPercSize)
@@ -312,6 +332,11 @@ SvxRuler::SvxRuler(
         SetExtraType(RULER_EXTRA_NULLOFFSET, 0);
 
     rBindings.LeaveRegistrations();
+
+    ruler_tab_svx.DPIScaleFactor = pParent->GetDPIScaleFactor();
+    ruler_tab_svx.height *= ruler_tab_svx.DPIScaleFactor;
+    ruler_tab_svx.width  *= ruler_tab_svx.DPIScaleFactor;
+
 }
 
 SvxRuler::~SvxRuler()
@@ -3421,7 +3446,7 @@ void SvxRuler::Command( const CommandEvent& rCommandEvent )
             PopupMenu aMenu;
             aMenu.SetSelectHdl(LINK(this, SvxRuler, TabMenuSelect));
             VirtualDevice aDev;
-            const Size aSz(RULER_TAB_WIDTH + 2, RULER_TAB_HEIGHT + 2);
+            const Size aSz(ruler_tab_svx.width + 2, ruler_tab_svx.height + 2);
             aDev.SetOutputSize(aSz);
             aDev.SetBackground(Wallpaper(Color(COL_WHITE)));
             Color aFillColor(aDev.GetSettings().GetStyleSettings().GetShadowColor());


More information about the Libreoffice-commits mailing list