Kaydet (Commit) 8748ae64 authored tarafından dbeurle's avatar dbeurle Kaydeden (comit) Caolán McNamara

HiDPI changes to ruler to respect screen DPI

Change-Id: I4cbb303b395ad60d4935bff55fbaea08f13334a0
Reviewed-on: https://gerrit.libreoffice.org/13867Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarTomaž Vajngerl <quikee@gmail.com>
Tested-by: 's avatarTomaž Vajngerl <quikee@gmail.com>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 1049511c
......@@ -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;
......
......@@ -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());
......
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