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