Procházet zdrojové kódy

label autosize use target DPI

Johann ELSASS před 4 roky
rodič
revize
2552e1ab77
2 změnil soubory, kde provedl 22 přidání a 22 odebrání
  1. 19 19
      lazpaint/lazpaintmainform.pas
  2. 3 3
      lazpaint/maintoolbar.inc

+ 19 - 19
lazpaint/lazpaintmainform.pas

@@ -784,7 +784,7 @@ type
     procedure HideFill(ATimeMs: Integer = 300; AClearTime: boolean = false);
     procedure OnImageChangedHandler({%H-}AEvent: TLazPaintImageObservationEvent);
     procedure OnImageRenderChanged({%H-}Sender: TObject);
-    procedure LabelAutosize(ALabel: TLabel);
+    procedure LabelAutosize(ALabel: TLabel; ATargetDPI: integer);
     procedure AskMergeSelection(ACaption: string);
     procedure UpdateSpecialKeys({%H-}Shift: TShiftState);
     procedure UpdateCurveModeToolbar;
@@ -1138,24 +1138,24 @@ begin
     toolbarDPI := round(96*iconSize/16);
     m.ScaleToolbars(toolbarDPI);
     ScaleControl(Panel_PenWidthPreview, OriginalDPI, toolbarDPI, toolbarDPI);
-    LabelAutosize(Label_Pen);
-    LabelAutosize(Label_Back);
-    LabelAutosize(Label_PenWidth);
-    LabelAutosize(Label_Eraser);
-    LabelAutosize(Label_Tolerance);
-    LabelAutosize(Label_Grid);
-    LabelAutosize(Label_Curve);
-    LabelAutosize(Label_Text);
-    LabelAutosize(Label_TextBlur);
-    LabelAutosize(Label_ShadowOffset);
-    LabelAutosize(Label_Shape);
-    LabelAutosize(Label_PhongBorder);
-    LabelAutosize(Label_Altitude);
-    LabelAutosize(Label_OutlineWidth);
-    LabelAutosize(Label_Brush);
-    LabelAutosize(Label_Spacing);
-    LabelAutosize(Label_Ratio);
-    LabelAutosize(Label_Donate);
+    LabelAutosize(Label_Pen, toolbarDPI);
+    LabelAutosize(Label_Back, toolbarDPI);
+    LabelAutosize(Label_PenWidth, toolbarDPI);
+    LabelAutosize(Label_Eraser, toolbarDPI);
+    LabelAutosize(Label_Tolerance, toolbarDPI);
+    LabelAutosize(Label_Grid, toolbarDPI);
+    LabelAutosize(Label_Curve, toolbarDPI);
+    LabelAutosize(Label_Text, toolbarDPI);
+    LabelAutosize(Label_TextBlur, toolbarDPI);
+    LabelAutosize(Label_ShadowOffset, toolbarDPI);
+    LabelAutosize(Label_Shape, toolbarDPI);
+    LabelAutosize(Label_PhongBorder, toolbarDPI);
+    LabelAutosize(Label_Altitude, toolbarDPI);
+    LabelAutosize(Label_OutlineWidth, toolbarDPI);
+    LabelAutosize(Label_Brush, toolbarDPI);
+    LabelAutosize(Label_Spacing, toolbarDPI);
+    LabelAutosize(Label_Ratio, toolbarDPI);
+    LabelAutosize(Label_Donate, toolbarDPI);
     m.ImageList := LazPaintInstance.Icons[iconSize];
     m.Apply;
     FLayout.Menu := m;

+ 3 - 3
lazpaint/maintoolbar.inc

@@ -255,18 +255,18 @@ begin
   end;
 end;
 
-procedure TFMain.LabelAutosize(ALabel: TLabel);
+procedure TFMain.LabelAutosize(ALabel: TLabel; ATargetDPI: integer);
 var
   delta, nextPos: integer;
   container: TWinControl;
   nextControl: TControl;
   I, prefWidth, prefHeight: Integer;
 begin
-  ALabel.Font.Height := -DoScaleY(12, OriginalDPI);
+  ALabel.Font.Height := -DoScaleY(12, OriginalDPI, ATargetDPI);
   prefWidth := ALabel.Width;
   prefHeight := ALabel.Width;
   ALabel.GetPreferredSize(prefWidth, prefHeight);
-  ALabel.Width := prefWidth+DoScaleX(5, OriginalDPI);
+  ALabel.Width := prefWidth+DoScaleX(5, OriginalDPI, ATargetDPI);
   nextPos := MaxLongInt;
   container := ALabel.Parent;
   for i := 0 to container.ControlCount-1 do