|
@@ -33,6 +33,7 @@ type
|
|
protected
|
|
protected
|
|
FInstance: TLazPaintCustomInstance;
|
|
FInstance: TLazPaintCustomInstance;
|
|
FInstalledScripts: TStringList;
|
|
FInstalledScripts: TStringList;
|
|
|
|
+ FTargetDPI: integer;
|
|
procedure AddMenus(AMenu: TMenuItem; AActionList: TActionList; AActionsCommaText: string; AIndex: integer = -1); overload;
|
|
procedure AddMenus(AMenu: TMenuItem; AActionList: TActionList; AActionsCommaText: string; AIndex: integer = -1); overload;
|
|
procedure AddMenus(AMenuName: string; AActionsCommaText: string); overload;
|
|
procedure AddMenus(AMenuName: string; AActionsCommaText: string); overload;
|
|
procedure AddInstalledScripts(AMenu: TMenuItem; AIndex: integer = -1);
|
|
procedure AddInstalledScripts(AMenu: TMenuItem; AIndex: integer = -1);
|
|
@@ -45,6 +46,7 @@ type
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
procedure PredefinedMainMenus(const AMainMenus: array of TMenuItem);
|
|
procedure PredefinedMainMenus(const AMainMenus: array of TMenuItem);
|
|
procedure Toolbars(const AToolbars: array of TPanel; AToolbarBackground: TPanel);
|
|
procedure Toolbars(const AToolbars: array of TPanel; AToolbarBackground: TPanel);
|
|
|
|
+ procedure ScaleToolbars(ATargetDPI: integer);
|
|
procedure CycleTool(var ATool: TPaintToolType; var AShortCut: TUTF8Char);
|
|
procedure CycleTool(var ATool: TPaintToolType; var AShortCut: TUTF8Char);
|
|
procedure Apply;
|
|
procedure Apply;
|
|
procedure ArrangeToolbars(ClientWidth: integer);
|
|
procedure ArrangeToolbars(ClientWidth: integer);
|
|
@@ -185,6 +187,7 @@ begin
|
|
item.Caption := rsIconSize;
|
|
item.Caption := rsIconSize;
|
|
item.OnClick:=@IconSizeMenuClick;
|
|
item.OnClick:=@IconSizeMenuClick;
|
|
AddSubItem('16px', @IconSizeItemClick, 16);
|
|
AddSubItem('16px', @IconSizeItemClick, 16);
|
|
|
|
+ AddSubItem('20px', @IconSizeItemClick, 20);
|
|
AddSubItem('24px', @IconSizeItemClick, 24);
|
|
AddSubItem('24px', @IconSizeItemClick, 24);
|
|
AddSubItem('32px', @IconSizeItemClick, 32);
|
|
AddSubItem('32px', @IconSizeItemClick, 32);
|
|
AddSubItem('40px', @IconSizeItemClick, 40);
|
|
AddSubItem('40px', @IconSizeItemClick, 40);
|
|
@@ -364,7 +367,7 @@ end;
|
|
|
|
|
|
function TMainFormMenu.GetIndividualToolbarHeight: integer;
|
|
function TMainFormMenu.GetIndividualToolbarHeight: integer;
|
|
begin
|
|
begin
|
|
- result := DoScaleY(26,OriginalDPI);
|
|
|
|
|
|
+ result := DoScaleY(24,OriginalDPI,FTargetDPI);
|
|
end;
|
|
end;
|
|
|
|
|
|
constructor TMainFormMenu.Create(AInstance: TLazPaintCustomInstance; AActionList: TActionList);
|
|
constructor TMainFormMenu.Create(AInstance: TLazPaintCustomInstance; AActionList: TActionList);
|
|
@@ -372,6 +375,7 @@ begin
|
|
FInstance := AInstance;
|
|
FInstance := AInstance;
|
|
FActionList := AActionList;
|
|
FActionList := AActionList;
|
|
FToolbarsHeight := 0;
|
|
FToolbarsHeight := 0;
|
|
|
|
+ FTargetDPI := OriginalDPI;
|
|
end;
|
|
end;
|
|
|
|
|
|
destructor TMainFormMenu.Destroy;
|
|
destructor TMainFormMenu.Destroy;
|
|
@@ -412,6 +416,15 @@ begin
|
|
FToolbarBackground := AToolbarBackground;
|
|
FToolbarBackground := AToolbarBackground;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TMainFormMenu.ScaleToolbars(ATargetDPI: integer);
|
|
|
|
+var
|
|
|
|
+ i: Integer;
|
|
|
|
+begin
|
|
|
|
+ FTargetDPI := ATargetDPI;
|
|
|
|
+ for i := 0 to high(FToolbars) do
|
|
|
|
+ ScaleControl(FToolbars[i].tb, OriginalDPI, ATargetDPI, ATargetDPI, true);
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TMainFormMenu.CycleTool(var ATool: TPaintToolType;
|
|
procedure TMainFormMenu.CycleTool(var ATool: TPaintToolType;
|
|
var AShortCut: TUTF8Char);
|
|
var AShortCut: TUTF8Char);
|
|
var
|
|
var
|
|
@@ -516,7 +529,7 @@ begin
|
|
begin
|
|
begin
|
|
for j := 0 to tb.ControlCount-1 do
|
|
for j := 0 to tb.ControlCount-1 do
|
|
begin
|
|
begin
|
|
- tb.Controls[j].Top := 1;
|
|
|
|
|
|
+ tb.Controls[j].Top := DoScaleY(1, OriginalDPI, FTargetDPI);
|
|
if tb.Controls[j] is TLCVectorialFillControl then
|
|
if tb.Controls[j] is TLCVectorialFillControl then
|
|
begin
|
|
begin
|
|
vfc := TLCVectorialFillControl(tb.Controls[j]);
|
|
vfc := TLCVectorialFillControl(tb.Controls[j]);
|