mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-19 14:20:31 +02:00
Gtk3: fixed fonts dpi. issue #40960
This commit is contained in:
parent
fad6cd5192
commit
54f0c7e779
@ -399,8 +399,10 @@ begin
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
ScreenDC := GetDC(0);
|
ScreenDC := GetDC(0);
|
||||||
try
|
try
|
||||||
ScreenInfo.PixelsPerInchX := GetDeviceCaps(ScreenDC, LOGPIXELSX);
|
ScreenInfo.PixelsPerInchX := Round(gdk_screen_get_resolution(gdk_screen_get_default));
|
||||||
ScreenInfo.PixelsPerInchY := GetDeviceCaps(ScreenDC, LOGPIXELSY);
|
// GetDeviceCaps(ScreenDC, LOGPIXELSX);
|
||||||
|
ScreenInfo.PixelsPerInchY := Round(gdk_screen_get_resolution(gdk_screen_get_default));
|
||||||
|
// GetDeviceCaps(ScreenDC, LOGPIXELSY);
|
||||||
ScreenInfo.ColorDepth := GetDeviceCaps(ScreenDC, BITSPIXEL);
|
ScreenInfo.ColorDepth := GetDeviceCaps(ScreenDC, BITSPIXEL);
|
||||||
finally
|
finally
|
||||||
ReleaseDC(0, ScreenDC);
|
ReleaseDC(0, ScreenDC);
|
||||||
|
@ -720,7 +720,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
{ in points }
|
{ in points }
|
||||||
//sz:=round(96*sz/PANGO_SCALE/72);//round(2.03*sz/PANGO_SCALE);
|
//sz:=round(96*sz/PANGO_SCALE/72);//round(2.03*sz/PANGO_SCALE);
|
||||||
sz := MulDiv(PANGO_PIXELS(sz), 96{Screen.PixelsPerInch}, 72 )
|
sz := MulDiv(PANGO_PIXELS(sz), Round(gdk_screen_get_resolution(gdk_screen_get_default)), 72 );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
fLogFont.lfHeight:=sz;//round(sz/PANGO_SCALE);
|
fLogFont.lfHeight:=sz;//round(sz/PANGO_SCALE);
|
||||||
|
@ -2085,6 +2085,8 @@ var
|
|||||||
w,w_mm,h,h_mm:gint;
|
w,w_mm,h,h_mm:gint;
|
||||||
rr:double;
|
rr:double;
|
||||||
pscr:PGdkScreen;
|
pscr:PGdkScreen;
|
||||||
|
aMonitorRect: TGdkRectangle;
|
||||||
|
AMonitor: PGdkMonitor;
|
||||||
begin
|
begin
|
||||||
(* MONITOR_DPI_TYPE = (
|
(* MONITOR_DPI_TYPE = (
|
||||||
MDT_EFFECTIVE_DPI = 0,
|
MDT_EFFECTIVE_DPI = 0,
|
||||||
@ -2093,19 +2095,10 @@ begin
|
|||||||
MDT_DEFAULT = MDT_EFFECTIVE_DPI);
|
MDT_DEFAULT = MDT_EFFECTIVE_DPI);
|
||||||
TMonitorDpiType = MONITOR_DPI_TYPE;
|
TMonitorDpiType = MONITOR_DPI_TYPE;
|
||||||
*)
|
*)
|
||||||
pscr:=TGdkScreen.get_default;
|
// MDT_EFFECTIVE_DPI
|
||||||
w:=pscr^.get_width;
|
dpiX := Round(gdk_screen_get_resolution(gdk_screen_get_default));
|
||||||
w_mm:=pscr^.get_width_mm;
|
dpiY := dpiX;
|
||||||
h:=pscr^.get_height;
|
Result := 0;
|
||||||
h_mm:=pscr^.get_height_mm;
|
|
||||||
|
|
||||||
dpiX:=round(25.4*w/w_mm);
|
|
||||||
dpiY:=round(25.4*h/h_mm);
|
|
||||||
|
|
||||||
rr:=TGdkScreen.get_default^.get_resolution();
|
|
||||||
|
|
||||||
Result:=0;
|
|
||||||
//Result:=inherited GetDpiForMonitor(hmonitor, dpiType, dpiX, dpiY);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TGtk3WidgetSet.GetFocus: HWND;
|
function TGtk3WidgetSet.GetFocus: HWND;
|
||||||
|
Loading…
Reference in New Issue
Block a user