31#include <svtools/strings.hrc>
44#define RULER_RESIZE_OFF 4
45#define RULER_MIN_SIZE 3
47#define RULER_VAR_SIZE 8
49#define RULER_UPDATE_LINES 0x01
53#define RULER_UNIT_MM 0
54#define RULER_UNIT_CM 1
56#define RULER_UNIT_KM 3
57#define RULER_UNIT_INCH 4
58#define RULER_UNIT_FOOT 5
59#define RULER_UNIT_MILE 6
60#define RULER_UNIT_POINT 7
61#define RULER_UNIT_PICA 8
62#define RULER_UNIT_CHAR 9
63#define RULER_UNIT_LINE 10
64#define RULER_UNIT_COUNT 11
81 std::unique_ptr<SalLayout> pLayout = rRenderContext.
ImplLayout(
82 rText, 0, rText.getLength(),
Point(0, 0), 0, {}, {}, SalLayoutFlags::GlyphItemsOnly);
87 rTextGlyphs = pLayout->GetGlyphs();
132 nLeftFrameMargin (0),
133 nRightFrameMargin (0),
136 bAutoPageWidth (true),
143{ MapUnit::Map100thMM, 100, 25.0, 25.0, 50.0, 100.0,
" mm" },
144{ MapUnit::Map100thMM, 1000, 100.0, 500.0, 1000.0, 1000.0,
" cm" },
145{ MapUnit::MapMM, 1000, 10.0, 250.0, 500.0, 1000.0,
" m" },
146{ MapUnit::MapCM, 100000, 12500.0, 25000.0, 50000.0, 100000.0,
" km" },
147{ MapUnit::Map1000thInch, 1000, 62.5, 125.0, 500.0, 1000.0,
"\"" },
148{ MapUnit::Map100thInch, 1200, 120.0, 120.0, 600.0, 1200.0,
"'" },
149{ MapUnit::Map10thInch, 633600, 63360.0, 63360.0, 316800.0, 633600.0,
" miles" },
150{ MapUnit::MapPoint, 1, 12.0, 12.0, 12.0, 36.0,
" pt" },
151{ MapUnit::Map100thMM, 423, 423.0, 423.0, 423.0, 846.0,
" pc" },
152{ MapUnit::Map100thMM, 371, 371.0, 371.0, 371.0, 743.0,
" ch" },
153{ MapUnit::Map100thMM, 551, 551.0, 551.0, 551.0, 1102.0,
" li" }
341 = lcl_GetRulerTextGlyphs(rRenderContext, rText,
maTextGlyphs[rText]);
342 rRenderContext.
GetTextBoundRect(aRect, rText, 0, 0, -1, 0, {}, {}, pTextLayout);
350 rRenderContext.
DrawText(
Point(nX - nShiftX, nY - nShiftY), rText, 0, -1,
nullptr,
351 nullptr, pTextLayout);
353 rRenderContext.
DrawText(
Point(nY - nShiftX, nX - nShiftY), rText, 0, -1,
nullptr,
354 nullptr, pTextLayout);
380 if ((
n >= nRulX1) && (
n < nRulX2))
399 rRenderContext.
Erase(aTempRect);
411 rRenderContext.
Erase(aTempRect);
421 double nCenter = nTop + ((nBottom - nTop) / 2);
433 double nTickUnit = 0;
435 bool bNoTicks =
false;
460 nTickWidth = aPixSize.
Width();
470 nTickWidth = aPixSize.
Height();
475 nMaxWidth = -nMaxWidth;
478 nMaxWidth /= nTickUnit;
482 OUString aNumString = OUString::number(nMaxWidth);
489 if (nTickWidth < nTxtWidth + nTextOff)
495 while (nTickWidth < nTxtWidth + nTextOff)
500 else if (nMulti < 10)
502 else if (nMulti < 100)
504 else if (nMulti < 1000)
510 if (nMulti < nOldMulti)
516 nTick4 = nOrgTick4 * nMulti;
519 nTickWidth = aPixSize.
Width();
521 nTickWidth = aPixSize.
Height();
552 while (((nStart -
n) >= nMin) || ((nStart +
n) <= nMax))
577 double aStep = nTick / nTick4;
578 double aRest = std::abs(aStep - std::floor(aStep));
579 double nAcceptanceDelta = 0.0001;
582 if (aRest < nAcceptanceDelta)
585 aNumString = OUString::number(nTick / nTickUnit);
590 ImplVDrawText(rRenderContext, nHorizontalLocation, nCenter, aNumString, nMin, nMax);
592 if (nMin < nHorizontalLocation && nHorizontalLocation < nMax)
594 ImplVDrawRect(rRenderContext, nHorizontalLocation, nBottom - 1 * nScale, nHorizontalLocation + DPIOffset, nBottom);
595 ImplVDrawRect(rRenderContext, nHorizontalLocation, nTop, nHorizontalLocation + DPIOffset, nTop + 1 * nScale);
598 nHorizontalLocation = nStart -
n;
599 ImplVDrawText(rRenderContext, nHorizontalLocation, nCenter, aNumString, nMin, nMax);
601 if (nMin < nHorizontalLocation && nHorizontalLocation < nMax)
604 nHorizontalLocation + DPIOffset, nBottom - 1 * nScale);
606 nHorizontalLocation + DPIOffset, nTop + 1 * nScale);
614 aStep = (nTick / nTick2);
615 aRest = std::abs(aStep - std::floor(aStep));
616 if (aRest < nAcceptanceDelta)
617 nTickLength = nTickLength2;
619 aStep = (nTick / nTick3);
620 aRest = std::abs(aStep - std::floor(aStep));
621 if (aRest < nAcceptanceDelta )
622 nTickLength = nTickLength3;
624 if ((nTickLength == nTickLength1 && nTickGap1 > 6) ||
625 (nTickLength == nTickLength2 && nTickGap2 > 6) ||
626 (nTickLength == nTickLength3 && nTickGap3 > 6))
655 for (std::vector<RulerBorder>::size_type
i = 0;
i <
mpData->
pBorders.size();
i++)
663 if (((
n1 >= nMin) && (
n1 <= nMax)) || ((
n2 >= nMin) && (
n2 <= nMax)))
688 nTemp2 = nVirTop + (((nVirBottom - nVirTop + 1) -
RULER_VAR_SIZE) / 2);
694 while (nTempY <= nTemp4)
696 ImplVDrawLine(rRenderContext, nTemp1, nTempY, nTemp3, nTempY);
702 while (nTempY <= nTemp4)
704 ImplVDrawLine(rRenderContext, nTemp1, nTempY, nTemp3, nTempY);
745 aPolygon.
Optimize(PolyOptimizeFlags::CLOSE);
757 for (std::vector<RulerIndent>::size_type j = 0; j <
mpData->
pIndents.size(); j++)
766 if ((
n >= nMin) && (
n <= nMax))
788 for (sal_uInt16
i = 0;
i < 5;
i++)
791 Point aSet(nVirBottom - aTmp.
Y(), aTmp.
X());
847 sal_uInt16 nStyle,
WinBits nWinBits)
964 aPosition = rTab.
nPos;
967 if (nMin <= aPosition && aPosition <= nMax)
978 return ( (3*nOrig) / 8) * 2 + 1;
1000 if (aColor !=
maVirDev->GetBackground().GetColor())
1021 if (bForeground || bFont)
1063 nNotVisPageWidth -=
mnWinOff-nRulWinOff;
1066 nNotVisPageWidth = 0;
1142 if (aVirDevSize !=
maVirDev->GetOutputSizePixel())
1143 maVirDev->SetOutputSizePixel(aVirDevSize);
1171 if (nM2 > nVirRight)
1210 if (nP1 >= nVirLeft)
1220 if (nP2 <= nVirRight + 1)
1236 if (nP2 < nVirRight)
1344 bool bEraseRect =
false;
1378 Point aDraw(aCenter);
1381 if (0 == (nWinBits &
WB_HORZ))
1384 aDraw.
setY( 2 * aCenter.
Y() - aDraw.
Y() );
1389 aDraw.
setX( aDraw.
Y() );
1390 aDraw.
setY( nTemp );
1449 pHitTest->
bSize =
false;
1461 if ( (nX < mpData->nRulVirOff - nXExtraOff) ||
1472 pHitTest->
nPos = nX;
1530 if ( (! bRequireStyle || nIndentStyle == nRequiredStyle) &&
1561 int nBorderTolerance = 1;
1575 n1 -= nBorderTolerance;
1576 n2 += nBorderTolerance;
1580 if ( (nX >=
n1) && (nX <=
n2) )
1610 if ( nX <=
n1+nMOff )
1612 pHitTest->
bSize =
true;
1615 else if ( nX >=
n2-nMOff )
1617 pHitTest->
bSize =
true;
1641 if ( (nX >=
n1 - nMarginTolerance) && (nX <=
n1 + nMarginTolerance) )
1644 pHitTest->
bSize =
true;
1651 if ( (nX >=
n1 - nMarginTolerance) && (nX <=
n1 + nMarginTolerance) )
1654 pHitTest->
bSize =
true;
1714 bool bRequiredStyle =
false;
1719 bRequiredStyle =
true;
1735 if (
ImplDoHitTest( aPos, pHitTest, bRequiredStyle, nRequiredStyle ) )
1751 if (
ImplDoHitTest( aPos, pHitTest, bRequiredStyle, nRequiredStyle ) )
1839 if ( nX < mpData->nRulVirOff )
1878 if ( nY > nOutHeight + 2 )
1926 sal_uInt16 nMouseClicks = rMEvt.
GetClicks();
1944 if ( nMouseClicks == 1 )
1946 if ( bHitTestResult )
2002 ePtrStyle = PointerStyle::TabSelectW;
2004 ePtrStyle = PointerStyle::TabSelectE;
2006 ePtrStyle = PointerStyle::ESize;
2011 ePtrStyle = PointerStyle::WindowNSize;
2013 ePtrStyle = PointerStyle::WindowSSize;
2015 ePtrStyle = PointerStyle::SSize;
2021 ePtrStyle = PointerStyle::HSizeBar;
2023 ePtrStyle = PointerStyle::VSizeBar;
2074 nNewHeight = aWinSize.
Height();
2081 nNewHeight = aWinSize.
Width();
2153 Window::StateChanged(
nType );
2155 if (
nType == StateChangedType::InitShow )
2157 else if (
nType == StateChangedType::UpdateMode )
2162 else if ( (
nType == StateChangedType::Zoom) ||
2163 (
nType == StateChangedType::ControlFont) )
2168 else if (
nType == StateChangedType::ControlForeground )
2173 else if (
nType == StateChangedType::ControlBackground )
2182 Window::DataChanged( rDCEvt );
2184 if ( (rDCEvt.
GetType() == DataChangedEventType::FONTS) ||
2185 (rDCEvt.
GetType() == DataChangedEventType::DISPLAY) ||
2186 (rDCEvt.
GetType() == DataChangedEventType::FONTSUBSTITUTION) ||
2187 ((rDCEvt.
GetType() == DataChangedEventType::SETTINGS) &&
2188 (rDCEvt.
GetFlags() & AllSettingsFlags::STYLE)) )
2244 sal_uInt16 nMouseClicks = rMEvt.
GetClicks();
2263 if ( nMouseClicks == 1 )
2269 if ( aHitTest.
bSize )
2272 aPtr = PointerStyle::ESize;
2274 aPtr = PointerStyle::SSize;
2279 aPtr = PointerStyle::HSizeBar;
2281 aPtr = PointerStyle::VSizeBar;
2287 else if ( nMouseClicks == 2 )
2331 return aHitTest.
eType;
2380 if (
meUnit == eNewUnit )
2398 case FieldUnit::INCH:
2401 case FieldUnit::FOOT:
2404 case FieldUnit::MILE:
2407 case FieldUnit::POINT:
2410 case FieldUnit::PICA:
2413 case FieldUnit::CHAR:
2416 case FieldUnit::LINE:
2420 SAL_WARN(
"svtools.control",
"Ruler::SetUnit() - Wrong Unit" );
2432 if (
maZoom != rNewZoom )
2495 "Ruler::SetMargin2() - Margin2 < Margin1" );
2510 sal_uInt32
i = aLineArraySize;
2511 std::vector<RulerLine>::const_iterator aItr1 =
mpData->
pLines.begin();
2515 if ( aItr1->nPos != pAry2->
nPos )
2534 if ( !aLineArraySize || !pLineArray )
2547 std::copy( pLineArray,
2548 pLineArray + aLineArraySize,
2558 if ( !aBorderArraySize || !pBorderArray )
2572 sal_uInt32
i = aBorderArraySize;
2577 if ( (pAry1->
nPos != pAry2->
nPos) ||
2588 std::copy( pBorderArray,
2589 pBorderArray + aBorderArraySize,
2599 if ( !aIndentArraySize || !pIndentArray )
2613 sal_uInt32
i = aIndentArraySize;
2618 if ( (pAry1->
nPos != pAry2->
nPos) ||
2629 std::copy( pIndentArray,
2630 pIndentArray + aIndentArraySize,
2639 if ( aTabArraySize == 0 || pTabArray ==
nullptr )
2653 sal_uInt32
i = aTabArraySize;
2654 std::vector<RulerTab>::iterator aTabIterator =
mpData->
pTabs.begin();
2655 const RulerTab* pInputArray = pTabArray;
2658 RulerTab& aCurrent = *aTabIterator;
2659 if ( aCurrent.
nPos != pInputArray->
nPos ||
2671 std::copy(pTabArray, pTabArray + aTabArraySize,
mpData->
pTabs.begin());
2701 rRenderContext.
Pop();
2755 OSL_ENSURE( pParent,
"-SvxRuler::CreateAccessible(): No Parent!" );
2756 uno::Reference< XAccessible > xAccParent = pParent->
GetAccessible();
2757 if( xAccParent.is() )
2775 return uno::Reference< XAccessible >();
const StyleSettings & GetStyleSettings() const
DataChangedEventType GetType() const
AllSettingsFlags GetFlags() const
sal_Int32 GetNumerator() const
std::vector< RulerLine > pLines
std::vector< RulerIndent > pIndents
RulerMarginStyle nMargin2Style
tools::Long nRightFrameMargin
tools::Long nLeftFrameMargin
RulerMarginStyle nMargin1Style
std::vector< RulerBorder > pBorders
std::vector< RulerTab > pTabs
void SetScaleY(const Fraction &rScaleY)
void SetMapUnit(MapUnit eUnit)
void SetScaleX(const Fraction &rScaleX)
sal_uInt16 GetModifier() const
sal_uInt16 GetClicks() const
const Point & GetPosPixel() const
const vcl::Font & GetFont() const
float GetDPIScaleFactor() const
void SetFont(const vcl::Font &rNewFont)
SAL_WARN_UNUSED_RESULT Point PixelToLogic(const Point &rDevicePt) const
void DrawRect(const tools::Rectangle &rRect)
void DrawLine(const Point &rStartPt, const Point &rEndPt)
bool GetTextBoundRect(tools::Rectangle &rRect, const OUString &rStr, sal_Int32 nBase=0, sal_Int32 nIndex=0, sal_Int32 nLen=-1, sal_uLong nLayoutWidth=0, KernArraySpan aDXArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}, const SalLayoutGlyphs *pGlyphs=nullptr) const
void Invert(const tools::Rectangle &rRect, InvertFlags nFlags=InvertFlags::NONE)
tools::Long GetTextWidth(const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, vcl::text::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
void DrawPolygon(const tools::Polygon &rPoly)
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
SAL_DLLPRIVATE void DrawOutDev(const Point &, const Size &, const Point &, const Size &, const Printer &)=delete
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
std::unique_ptr< SalLayout > ImplLayout(const OUString &, sal_Int32 nIndex, sal_Int32 nLen, const Point &rLogicPos=Point(0, 0), tools::Long nLogicWidth=0, KernArraySpan aKernArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}, SalLayoutFlags flags=SalLayoutFlags::NONE, vcl::text::TextLayoutCache const *=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr) const
void DrawText(const Point &rStartPt, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pLayoutCache=nullptr)
const AllSettings & GetSettings() const
constexpr tools::Long Y() const
void setX(tools::Long nX)
void setY(tools::Long nY)
tools::Long AdjustY(tools::Long nVertMove)
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
SVT_DLLPRIVATE void ImplDrag(const Point &rPos)
void SetPagePos(tools::Long nOff=0, tools::Long nWidth=0)
virtual void MouseMove(const MouseEvent &rMEvt) override
SVT_DLLPRIVATE void ImplDrawExtra(vcl::RenderContext &rRenderContext)
tools::Long GetMargin1() const
SVT_DLLPRIVATE void ImplDrawBorders(vcl::RenderContext &rRenderContext, tools::Long nMin, tools::Long nMax, tools::Long nVirTop, tools::Long nVirBottom)
SVT_DLLPRIVATE void ImplFormat(vcl::RenderContext const &rRenderContext)
void SetTabs(sal_uInt32 n=0, const RulerTab *pTabAry=nullptr)
SVT_DLLPRIVATE void ImplInitExtraField(bool bUpdate)
virtual void Tracking(const TrackingEvent &rTEvt) override
sal_uInt16 mnDragModifier
SVT_DLLPRIVATE bool ImplDocHitTest(const Point &rPos, RulerType eDragType, RulerSelection *pHitTest) const
virtual void MouseButtonDown(const MouseEvent &rMEvt) override
SVT_DLLPRIVATE bool ImplDoHitTest(const Point &rPosition, RulerSelection *pHitTest, bool bRequiredStyle=false, RulerIndentStyle nRequiredStyle=RulerIndentStyle::Top) const
void SetNullOffset(tools::Long nPos)
SVT_DLLPRIVATE void ImplVDrawLine(vcl::RenderContext &rRenderContext, tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2)
virtual ~Ruler() override
SVT_DLLPRIVATE void ImplDrawIndents(vcl::RenderContext &rRenderContext, tools::Long nMin, tools::Long nMax, tools::Long nVirTop, tools::Long nVirBottom)
std::unique_ptr< RulerSelection > mxPreviousHitTest
virtual void StateChanged(StateChangedType nStateChange) override
SVT_DLLPRIVATE void ImplInit(WinBits nWinBits)
void SetWinPos(tools::Long nOff, tools::Long nWidth=0)
ScopedVclPtr< VirtualDevice > maVirDev
Ruler(const Ruler &)=delete
void SetStyle(WinBits nStyle)
SVT_DLLPRIVATE void ImplUpdate(bool bMustCalc=false)
virtual void DataChanged(const DataChangedEvent &rDCEvt) override
virtual void dispose() override
std::unique_ptr< RulerSelection > mxCurrentHitTest
static SVT_DLLPRIVATE void ImplDrawIndent(vcl::RenderContext &rRenderContext, const tools::Polygon &rPoly, bool bIsHit)
tools::Long GetPageOffset() const
std::unique_ptr< ImplRulerData > mpDragData
tools::Long GetNullOffset() const
void SetLeftFrameMargin(tools::Long nPos)
void SetIndents(sal_uInt32 n=0, const RulerIndent *pIndentAry=nullptr)
static void DrawTab(vcl::RenderContext &rRenderContext, const Color &rFillColor, const Point &rPos, sal_uInt16 nStyle)
void SetBorderPos(tools::Long nOff=0)
bool StartDocDrag(const MouseEvent &rMEvt, RulerType eDragType)
Link< Ruler *, void > maDoubleClickHdl
rtl::Reference< SvtRulerAccessible > mxAccContext
SVT_DLLPRIVATE void ImplCalc()
virtual void Resize() override
void SetLines(sal_uInt32 n=0, const RulerLine *pLineAry=nullptr)
tools::Long mnStartDragPos
SVT_DLLPRIVATE void ImplInvertLines(vcl::RenderContext &rRenderContext)
SVT_DLLPRIVATE void ImplVDrawRect(vcl::RenderContext &rRenderContext, tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2)
tools::Long mnBorderWidth
SVT_DLLPRIVATE bool ImplStartDrag(RulerSelection const *pHitTest, sal_uInt16 nModifier)
const RulerUnitData & GetCurrentRulerUnit() const
void SetExtraType(RulerExtra eNewExtraType, sal_uInt16 nStyle=0)
SVT_DLLPRIVATE void ImplDraw(vcl::RenderContext &rRenderContext)
void SetZoom(const Fraction &rNewZoom)
SVT_DLLPRIVATE void ImplEndDrag()
SVT_DLLPRIVATE void ImplInitSettings(bool bFont, bool bForeground, bool bBackground)
SVT_DLLPRIVATE void ImplDrawTicks(vcl::RenderContext &rRenderContext, tools::Long nMin, tools::Long nMax, tools::Long nStart, tools::Long nVirTop, tools::Long nVirBottom)
RulerSelection maHoverSelection
void SetRightFrameMargin(tools::Long nPos)
void SetBorders(sal_uInt32 n=0, const RulerBorder *pBrdAry=nullptr)
void Deactivate() override
tools::Long GetMargin2() const
SVT_DLLPRIVATE void ImplDrawTab(vcl::RenderContext &rRenderContext, const Point &rPos, sal_uInt16 nStyle)
tools::Rectangle maExtraRect
void SetTextRTL(bool bRTL)
const std::vector< RulerTab > & GetTabs() const
virtual void ApplySettings(vcl::RenderContext &rRenderContext) override
std::map< OUString, SalLayoutGlyphs > maTextGlyphs
SVT_DLLPRIVATE void ImplDrawTabs(vcl::RenderContext &rRenderContext, tools::Long nMin, tools::Long nMax, tools::Long nVirTop, tools::Long nVirBottom)
RulerType GetRulerType(const Point &rPos, sal_uInt16 *pAryPos=nullptr)
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect) override
void SetUnit(FieldUnit eNewUnit)
SVT_DLLPRIVATE void ImplVDrawText(vcl::RenderContext &rRenderContext, tools::Long nX, tools::Long nY, const OUString &rText, tools::Long nMin=LONG_MIN, tools::Long nMax=LONG_MAX)
std::unique_ptr< ImplRulerData > mpSaveData
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
tools::Long AdjustWidth(tools::Long n)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
const Color & GetDarkShadowColor() const
const Color & GetWindowColor() const
const Color & GetShadowColor() const
const Color & GetWorkspaceColor() const
const Color & GetCheckedColor() const
const Color & GetLightColor() const
const vcl::Font & GetToolFont() const
const Color & GetDialogColor() const
const Color & GetFaceColor() const
const Color & GetButtonTextColor() const
bool IsTrackingEnded() const
bool IsTrackingCanceled() const
const MouseEvent & GetMouseEvent() const
void SetFontSize(const Size &)
void SetOrientation(Degree10 nLineOrientation)
const Size & GetFontSize() const
const Wallpaper & GetBackground() const
float GetDPIScaleFactor() const
bool IsReallyVisible() const
void StartTracking(StartTrackingFlags nFlags=StartTrackingFlags::NONE)
void ApplyControlBackground(vcl::RenderContext &rRenderContext, const Color &rDefaultColor)
void SetAccessible(const css::uno::Reference< css::accessibility::XAccessible > &)
bool IsUpdateMode() const
vcl::Window * GetAccessibleParentWindow() const
virtual void EnableRTL(bool bEnable=true)
virtual void SetOutputSizePixel(const Size &rNewSize)
const AllSettings & GetSettings() const
::OutputDevice const * GetOutDev() const
const vcl::Font & GetFont() const
const Color & GetTextColor() const
css::uno::Reference< css::accessibility::XAccessible > GetAccessible(bool bCreate=true)
Size GetOutputSizePixel() const
Window(vcl::Window *pParent, WinBits nStyle=0)
virtual void SetPointer(PointerStyle)
void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
void ApplyControlFont(vcl::RenderContext &rRenderContext, const vcl::Font &rDefaultFont)
void SetType(WindowType nType)
void ApplyControlForeground(vcl::RenderContext &rRenderContext, const Color &rDefaultColor)
Color GetTextFillColor() const
#define DBG_ASSERT(sCon, aError)
#define SAL_WARN(area, stream)
static void ImplCenterTabPos(Point &rPos, sal_uInt16 nTabStyle)
static RulerTabData ruler_tab
#define RULER_UPDATE_LINES
static int adjustSize(int nOrig)
static void ImplDrawRulerTab(vcl::RenderContext &rRenderContext, const Point &rPos, sal_uInt16 nStyle, WinBits nWinBits)
const RulerUnitData aImplRulerUnitTab[RULER_UNIT_COUNT]
static void lcl_RotateRect_Impl(tools::Rectangle &rRect, const tools::Long nReference, bool bRightAligned)
constexpr auto RULER_MOUSE_BORDERMOVE
constexpr sal_uInt16 RULER_STYLE_DONTKNOW
constexpr sal_uInt16 RULER_TAB_STYLE
constexpr auto RULER_MOUSE_BORDERWIDTH
constexpr WinBits WB_EXTRAFIELD
constexpr sal_uInt16 RULER_TAB_DEFAULT
constexpr sal_uInt16 RULER_TAB_RIGHT
constexpr sal_uInt16 RULER_STYLE_HIGHLIGHT
constexpr sal_uInt16 RULER_STYLE_INVISIBLE
constexpr sal_uInt16 RULER_TAB_RTL
constexpr sal_uInt16 RULER_TAB_LEFT
constexpr WinBits WB_RIGHT_ALIGNED
constexpr auto RULER_MOUSE_MARGINWIDTH
constexpr sal_uInt16 RULER_TAB_DECIMAL
sal_uInt16 DPIScaleFactor
OUString SvtResId(TranslateId aId)