mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 02:19:16 +02:00
Gtk3: implemented GetCanvasScaleFactor()
This commit is contained in:
parent
ae798b4443
commit
4bcd45bc10
@ -77,7 +77,7 @@ type
|
||||
published
|
||||
class procedure AddControl(const AControl: TControl); override;
|
||||
class function CanFocus(const AWincontrol: TWinControl): Boolean; override;
|
||||
|
||||
class function GetCanvasScaleFactor(const AControl: TControl): Double; override;
|
||||
class function GetClientBounds(const AWincontrol: TWinControl; var ARect: TRect): Boolean; override;
|
||||
class function GetClientRect(const AWincontrol: TWinControl; var ARect: TRect): Boolean; override;
|
||||
class procedure GetPreferredSize(const AWinControl: TWinControl; var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); override;
|
||||
@ -207,6 +207,20 @@ begin
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
class function TGtk3WSWinControl.GetCanvasScaleFactor(const AControl: TControl
|
||||
): Double;
|
||||
var
|
||||
W: TGtk3Widget;
|
||||
begin
|
||||
Result := 1;
|
||||
if TWinControl(AControl).HandleAllocated then
|
||||
begin
|
||||
W := TGtk3Widget(TWinControl(AControl).Handle);
|
||||
if Gtk3IsGdkWindow(W.GetWindow) then
|
||||
Result := gdk_window_get_scale_factor(W.GetWindow);
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TGtk3WSWinControl.GetClientBounds(const AWincontrol: TWinControl; var ARect: TRect): Boolean;
|
||||
begin
|
||||
// for now default to the WinAPI version
|
||||
|
Loading…
Reference in New Issue
Block a user