Sfoglia il codice sorgente

Merge pull request #37 from bgrabitmap/dev-lazpaint

Dev lazpaint v7.0.4
circular17 6 anni fa
parent
commit
2f08508214

+ 1 - 1
lazpaint/dialog/ubrowseimages.pas

@@ -262,7 +262,7 @@ begin
   FPreview.OnValidate:= @PreviewValidate;
   FChosenImage := TImageEntry.Empty;
 
-  BCAssignSystemStyle(ComboBox_FileExtension, False);
+  BCAssignSystemStyle(ComboBox_FileExtension, False, 0.40);
   InitComboExt;
 
   bmp := TBitmap.Create;

+ 17 - 1
lazpaint/image/uimagediff.pas

@@ -452,6 +452,8 @@ type
     sourceLayerId: integer;
     duplicateId: integer;
     useOriginal: boolean;
+    duplicateOriginal: boolean;
+    duplicateGuid: TGuid;
     procedure ApplyTo(AState: TState); override;
     procedure UnapplyTo(AState: TState); override;
     constructor Create(ADestination: TState; AUseOriginal: boolean);
@@ -2220,6 +2222,7 @@ end;
 procedure TDuplicateLayerStateDifference.ApplyTo(AState: TState);
 var sourceLayerIndex,duplicateIndex: integer;
   copy: integer;
+  stream: TMemoryStream;
 begin
   inherited ApplyTo(AState);
   with AState as TImageState do
@@ -2234,7 +2237,16 @@ begin
       LayerVisible[copy] := LayerVisible[sourceLayerIndex];
       if useOriginal then
       begin
-        LayerOriginalGuid[copy] := LayerOriginalGuid[sourceLayerIndex];
+        if duplicateOriginal then
+        begin
+          stream:= TMemoryStream.Create;
+          SaveOriginalToStream(sourceLayerIndex, stream);
+          stream.Position:= 0;
+          AddOriginalFromStream(stream, duplicateGuid, true);
+          stream.Free;
+          LayerOriginalGuid[copy] := duplicateGuid;
+        end else
+          LayerOriginalGuid[copy] := LayerOriginalGuid[sourceLayerIndex];
         LayerOriginalMatrix[copy] := LayerOriginalMatrix[sourceLayerIndex];
         LayerOriginalRenderStatus[copy] := LayerOriginalRenderStatus[sourceLayerIndex];
       end;
@@ -2255,6 +2267,7 @@ begin
     duplicateIndex := LayeredBitmap.GetLayerIndexFromId(self.duplicateId);
     LayeredBitmap.RemoveLayer(duplicateIndex);
     SelectedImageLayerIndex := sourceLayerIndex;
+    if duplicateOriginal then LayeredBitmap.RemoveUnusedOriginals;
   end;
 end;
 
@@ -2269,6 +2282,9 @@ begin
   begin
     self.sourceLayerId := LayeredBitmap.LayerUniqueId[SelectedImageLayerIndex];
     self.duplicateId := LayeredBitmap.ProduceLayerUniqueId;
+    self.duplicateOriginal := useOriginal and (LayeredBitmap.OriginalClass[SelectedImageLayerIndex]=TVectorOriginal);
+    if self.duplicateOriginal then
+      CreateGUID(duplicateGuid);
   end;
   ApplyTo(imgDest);
 end;

+ 3 - 3
lazpaint/lazpaint.lpi

@@ -21,7 +21,7 @@
     <VersionInfo>
       <UseVersionInfo Value="True"/>
       <MajorVersionNr Value="7"/>
-      <RevisionNr Value="3"/>
+      <RevisionNr Value="4"/>
       <CharSet Value="04B0"/>
       <StringTable CompanyName="http://sourceforge.net/projects/lazpaint/" ProductName="LazPaint" InternalName="lazpaint" OriginalFilename="lazpaint.exe"/>
     </VersionInfo>
@@ -321,11 +321,11 @@
     <RequiredPackages Count="5">
       <Item1>
         <PackageName Value="bgracontrols"/>
-        <MinVersion Major="6" Minor="4" Valid="True"/>
+        <MinVersion Major="6" Minor="5" Valid="True"/>
       </Item1>
       <Item2>
         <PackageName Value="BGRABitmapPack"/>
-        <MinVersion Major="10" Minor="6" Valid="True"/>
+        <MinVersion Major="10" Minor="6" Release="2" Valid="True"/>
       </Item2>
       <Item3>
         <PackageName Value="lazpaintcontrols"/>

+ 1 - 1
lazpaint/lazpaintembeddedpack.lpk

@@ -26,7 +26,7 @@
         </Debugging>
       </Linking>
     </CompilerOptions>
-    <Version Major="7" Release="3"/>
+    <Version Major="7" Release="4"/>
     <Files Count="94">
       <Item1>
         <Filename Value="lazpaintinstance.pas"/>

+ 41 - 41
lazpaint/lazpaintmainform.lfm

@@ -223,7 +223,7 @@ object FMain: TFMain
       ParentFont = False
     end
     object Label_Back: TLabel
-      Left = 137
+      Left = 138
       Height = 28
       Top = 1
       Width = 39
@@ -235,7 +235,7 @@ object FMain: TFMain
       ParentFont = False
     end
     object Image_SwapColors: TImage
-      Left = 113
+      Left = 112
       Height = 20
       Hint = 'Switch color'
       Top = 5
@@ -732,7 +732,7 @@ object FMain: TFMain
       end
     end
     object SpinEdit_Tolerance: TBCTrackbarUpdown
-      Left = 83
+      Left = 82
       Height = 25
       Top = 2
       Width = 51
@@ -847,12 +847,12 @@ object FMain: TFMain
     end
   end
   object Panel_GradientType: TPanel
-    Left = 328
+    Left = 340
     Height = 45
     Top = 190
-    Width = 280
+    Width = 332
     ClientHeight = 45
-    ClientWidth = 280
+    ClientWidth = 332
     Font.Height = -15
     ParentColor = False
     ParentFont = False
@@ -911,10 +911,10 @@ object FMain: TFMain
       end
     end
     object Combo_GradientColorspace: TBCComboBox
-      Left = 154
+      Left = 150
       Height = 26
       Top = 2
-      Width = 111
+      Width = 165
       ItemIndex = -1
       ArrowSize = 8
       ArrowWidth = 16
@@ -1701,7 +1701,7 @@ object FMain: TFMain
     PopupMenu = PopupToolbar
     TabOrder = 16
     object ToolBar4: TToolBar
-      Left = 83
+      Left = 82
       Height = 28
       Top = 1
       Width = 59
@@ -2041,9 +2041,9 @@ object FMain: TFMain
     Left = 10
     Height = 45
     Top = 190
-    Width = 302
+    Width = 315
     ClientHeight = 45
-    ClientWidth = 302
+    ClientWidth = 315
     Font.Height = -15
     ParentColor = False
     ParentFont = False
@@ -2052,7 +2052,7 @@ object FMain: TFMain
       Left = 5
       Height = 28
       Top = 1
-      Width = 47
+      Width = 48
       AutoSize = False
       Caption = 'Curve'
       Font.Height = -15
@@ -2061,7 +2061,7 @@ object FMain: TFMain
       ParentFont = False
     end
     object ToolBar20: TToolBar
-      Left = 175
+      Left = 190
       Height = 28
       Top = 0
       Width = 117
@@ -2105,7 +2105,7 @@ object FMain: TFMain
       Left = 56
       Height = 26
       Top = 2
-      Width = 117
+      Width = 132
       ItemIndex = -1
       ArrowSize = 8
       ArrowWidth = 16
@@ -2321,7 +2321,7 @@ object FMain: TFMain
       Height = 25
       Hint = 'Text size'
       Top = 2
-      Width = 57
+      Width = 58
       AllowNegativeValues = False
       BarExponent = 1
       Increment = 1
@@ -2500,7 +2500,7 @@ object FMain: TFMain
       end
     end
     object SpinEdit_PhongBorderSize: TBCTrackbarUpdown
-      Left = 327
+      Left = 328
       Height = 25
       Hint = 'Border size'
       Top = 2
@@ -2875,7 +2875,7 @@ object FMain: TFMain
       ParentFont = False
     end
     object Label_Spacing: TLabel
-      Left = 117
+      Left = 118
       Height = 28
       Top = 1
       Width = 59
@@ -3107,7 +3107,7 @@ object FMain: TFMain
     ParentFont = False
     TabOrder = 27
     object Combo_Ratio: TComboBox
-      Left = 53
+      Left = 52
       Height = 34
       Top = 1
       Width = 120
@@ -3206,9 +3206,9 @@ object FMain: TFMain
     Left = 280
     Height = 45
     Top = 250
-    Width = 307
+    Width = 308
     ClientHeight = 45
-    ClientWidth = 307
+    ClientWidth = 308
     Font.Height = -15
     ParentColor = False
     ParentFont = False
@@ -3334,7 +3334,7 @@ object FMain: TFMain
       ParentFont = False
     end
     object SpinEdit_TextShadowX: TBCTrackbarUpdown
-      Left = 193
+      Left = 192
       Height = 25
       Hint = 'Horizontal shadow offset'
       Top = 1
@@ -3488,7 +3488,7 @@ object FMain: TFMain
   end
   object ImageList16: TBGRAImageList
     left = 48
-    top = 672
+    top = 673
     Bitmap = {
       4C69820000001000000010000000FFFFFF00B6B6B6FFB6B6B6FFB6B6B6FFB6B6
       B6FFB6B6B6FFB6B6B6FFB6B6B6FFB6B6B6FFB6B6B6FFB6B6B6EFB6B6B6300000
@@ -7656,7 +7656,7 @@ object FMain: TFMain
   object ActionList1: TActionList
     Images = ImageList16
     left = 48
-    top = 592
+    top = 593
     object FileNew: TAction
       Category = 'File'
       Caption = 'New...'
@@ -8737,12 +8737,12 @@ object FMain: TFMain
       'ColorT=A4A0A0'
     )
     left = 268
-    top = 592
+    top = 593
   end
   object MainMenu1: TMainMenu
     Images = ImageList16
     left = 48
-    top = 512
+    top = 513
     object MenuFile: TMenuItem
       Caption = 'File'
       OnClick = MenuFileClick
@@ -8847,32 +8847,32 @@ object FMain: TFMain
     MinFontSize = 0
     MaxFontSize = 0
     left = 268
-    top = 672
+    top = 673
   end
   object LoadSelectionDialog: TOpenPictureDialog
     Title = 'Load selection'
     Options = [ofNoDereferenceLinks, ofEnableSizing, ofViewDetail]
-    left = 412
-    top = 512
+    left = 413
+    top = 513
   end
   object OpenPictureDialog1: TOpenDialog
     Title = 'Open existing image'
     Options = [ofNoDereferenceLinks, ofEnableSizing, ofViewDetail]
     left = 564
-    top = 512
+    top = 513
   end
   object OpenTextureDialog: TOpenDialog
     Title = 'Open texture'
     DefaultExt = '.png'
     Options = [ofNoDereferenceLinks, ofEnableSizing, ofViewDetail]
-    left = 412
-    top = 672
+    left = 413
+    top = 673
   end
   object TimerUpdate: TTimer
     Interval = 50
     OnTimer = TimerUpdateTimer
     left = 268
-    top = 512
+    top = 513
   end
   object Open3DObjectDialog: TOpenDialog
     Title = 'Import 3D object'
@@ -8880,39 +8880,39 @@ object FMain: TFMain
     Filter = 'Wavefront Object file (*.obj)|*.obj;*.Obj;*.OBJ'
     Options = [ofNoDereferenceLinks, ofEnableSizing, ofViewDetail]
     left = 564
-    top = 672
+    top = 673
   end
   object SavePictureDialog1: TSaveDialog
     Title = 'Save file as...'
     DefaultExt = '.png'
     Options = [ofOverwritePrompt, ofEnableSizing, ofViewDetail]
     left = 564
-    top = 592
+    top = 593
   end
   object TimerDocking: TTimer
     Interval = 200
     OnTimer = TimerDockingTimer
     left = 716
-    top = 592
+    top = 593
   end
   object SaveSelectionDialog: TSaveDialog
     Title = 'Save selection as...'
     DefaultExt = '.lzp'
     Options = [ofOverwritePrompt, ofEnableSizing, ofViewDetail]
-    left = 412
-    top = 592
+    left = 413
+    top = 593
   end
   object OpenBrushDialog: TOpenDialog
     Title = 'Open brush'
     DefaultExt = '.lzp'
     Options = [ofNoDereferenceLinks, ofEnableSizing, ofViewDetail]
     left = 716
-    top = 512
+    top = 513
   end
   object PopupToolbar: TPopupMenu
     OnPopup = PopupToolbarPopup
     left = 156
-    top = 592
+    top = 593
     object MenuFileToolbar: TMenuItem
       Caption = 'Show file toolbar'
       OnClick = MenuFileToolbarClick
@@ -8941,7 +8941,7 @@ object FMain: TFMain
   object PopupToolbox: TPopupMenu
     OnPopup = PopupToolboxPopup
     left = 156
-    top = 512
+    top = 513
     object MenuDockToolboxLeft: TMenuItem
       Caption = 'Dock left'
       OnClick = MenuDockToolboxLeftClick
@@ -8959,7 +8959,7 @@ object FMain: TFMain
     Height = 48
     Width = 48
     left = 156
-    top = 672
+    top = 673
     Bitmap = {
       4C69820000003000000030000000000000000000000000000000000000000000
       0000000000000000000F000000720000007F0000007F0000007F0000007F0000

+ 1 - 1
lazpaint/lazpainttype.pas

@@ -10,7 +10,7 @@ uses
   {$IFDEF LINUX}, InterfaceBase{$ENDIF};
 
 const
-  LazPaintVersion = 7000300;
+  LazPaintVersion = 7000400;
 
   function LazPaintVersionStr: string;
 

+ 13 - 17
lazpaint/release/bin/i18n/lazpaint.es.po

@@ -97,7 +97,7 @@ msgstr "Intercambiar colores..."
 
 #: tfmain.combobox_penstyle.hint
 msgid "Pen style"
-msgstr ""
+msgstr "Estilo de lápiz"
 
 #: tfmain.editcopy.caption
 msgid "Copy"
@@ -136,19 +136,19 @@ msgstr "Invertir selección"
 
 #: tfmain.editmovedown.hint
 msgid "Move down"
-msgstr ""
+msgstr "Mover abajo"
 
 #: tfmain.editmovetoback.hint
 msgid "Send to back"
-msgstr ""
+msgstr "Enviar al fondo"
 
 #: tfmain.editmovetofront.hint
 msgid "Bring to front"
-msgstr ""
+msgstr "Traer al frente"
 
 #: tfmain.editmoveup.hint
 msgid "Move up"
-msgstr ""
+msgstr "Mover arriba"
 
 #: tfmain.editpaste.hint
 msgctxt "TFMAIN.EDITPASTE.HINT"
@@ -174,7 +174,6 @@ msgid "Select all"
 msgstr "Seleccionar todo"
 
 #: tfmain.editselectall.hint
-#, fuzzy
 msgctxt "tfmain.editselectall.hint"
 msgid "Select all"
 msgstr "Seleccionar todo"
@@ -189,27 +188,27 @@ msgstr "Encajar selección"
 
 #: tfmain.editshapealignbottom.hint
 msgid "Align shape to the bottom"
-msgstr ""
+msgstr "Alinear la forma hacia abajo"
 
 #: tfmain.editshapealignleft.hint
 msgid "Align shape left"
-msgstr ""
+msgstr "Alinear la forma a la izquierda"
 
 #: tfmain.editshapealignright.hint
 msgid "Align shape right"
-msgstr ""
+msgstr "Alinear la forma a la derecha"
 
 #: tfmain.editshapealigntop.hint
 msgid "Align shape to the top"
-msgstr ""
+msgstr "Alinear la forma hacia arriba"
 
 #: tfmain.editshapecenterhorizontally.hint
 msgid "Center shape horizontally"
-msgstr ""
+msgstr "Centrar la forma horizontalmente"
 
 #: tfmain.editshapecentervertically.hint
 msgid "Center shape vertically"
-msgstr ""
+msgstr "Centrar la forma verticalmente"
 
 #: tfmain.editundo.caption
 msgid "Undo"
@@ -597,10 +596,8 @@ msgid "Brush"
 msgstr "Pincel"
 
 #: tfmain.label_coordinates.caption
-#, fuzzy
-#| msgid "99999x99999"
 msgid "9999x9999"
-msgstr "99999x99999"
+msgstr "9999x9999"
 
 #: tfmain.label_coordinates.hint
 msgid "Coordinates"
@@ -1537,7 +1534,7 @@ msgstr "Añadir a la lista de imágenes"
 
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
-msgstr ""
+msgstr "Alinear forma"
 
 #: uresourcestrings.rsallapplications
 msgid "all"
@@ -2317,4 +2314,3 @@ msgstr "Capa vectorial"
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Sí"
-

+ 1 - 1
lazpaint/release/bin/i18n/lazpaint.fr.po

@@ -1552,7 +1552,7 @@ msgstr "tout"
 
 #: uresourcestrings.rsallsupportedfiletypes
 msgid "All supported filetypes"
-msgstr "Tous les formats de fichiers connus"
+msgstr "Tous les formats connus"
 
 #: uresourcestrings.rsaltshiftscalemode
 msgid "Hold ALT or SHIFT to scale"

+ 8 - 0
lazpaint/release/changelog

@@ -52,3 +52,11 @@ lazpaint (7.0.3) unstable; urgency=low
 
 -- circular <[email protected]>  Sat, 17 Aug 2019 12:16:00 +0100
 
+lazpaint (7.0.4) stable; urgency=low
+
+  * adjusting font size for windows
+  * fix screen update on move image
+  * duplicate vector original
+
+-- circular <[email protected]>  Sun, 18 Aug 2019 22:07:00 +0100
+

+ 8 - 0
lazpaint/release/debian/linux32/DEBIAN/changelog

@@ -52,3 +52,11 @@ lazpaint (7.0.3) unstable; urgency=low
 
 -- circular <[email protected]>  Sat, 17 Aug 2019 12:16:00 +0100
 
+lazpaint (7.0.4) stable; urgency=low
+
+  * adjusting font size for windows
+  * fix screen update on move image
+  * duplicate vector original
+
+-- circular <[email protected]>  Sun, 18 Aug 2019 22:07:00 +0100
+

+ 1 - 1
lazpaint/release/debian/linux32/DEBIAN/control

@@ -1,5 +1,5 @@
 Package: lazpaint
-Version: 7.0.3
+Version: 7.0.4
 Section: base
 Priority: optional
 Architecture: i386

+ 8 - 0
lazpaint/release/debian/linux64/DEBIAN/changelog

@@ -52,3 +52,11 @@ lazpaint (7.0.3) unstable; urgency=low
 
 -- circular <[email protected]>  Sat, 17 Aug 2019 12:16:00 +0100
 
+lazpaint (7.0.4) stable; urgency=low
+
+  * adjusting font size for windows
+  * fix screen update on move image
+  * duplicate vector original
+
+-- circular <[email protected]>  Sun, 18 Aug 2019 22:07:00 +0100
+

+ 1 - 1
lazpaint/release/debian/linux64/DEBIAN/control

@@ -1,5 +1,5 @@
 Package: lazpaint
-Version: 7.0.3
+Version: 7.0.4
 Section: base
 Priority: optional
 Architecture: amd64

+ 1 - 1
lazpaint/release/macOS/makedmg.sh

@@ -12,7 +12,7 @@ fi
 
 
 appname=LazPaint
-appversion=7.0.3
+appversion=7.0.4
 pkgversion=0
 
 appnamenospaces=LazPaint

+ 1 - 1
lazpaint/release/windows/lazpaint.iss

@@ -1,7 +1,7 @@
 #define MyAppName "LazPaint"
 #define MyAppOutputName "lazpaint"
 #define MyInstallerSuffix "_setup_win32_win64"
-#define MyAppVersion "7.0.3"
+#define MyAppVersion "7.0.4"
 #define MyAppPublisher "Circular, Fabien Wang, Lainz and others"
 #define MyAppURL "http://sourceforge.net/projects/lazpaint/"
 #define MyAppExeName "lazpaint.exe"

+ 13 - 8
lazpaint/ugraph.pas

@@ -58,8 +58,8 @@ procedure DrawPenStyle(AComboBox: TBCComboBox; ARect: TRect; APenStyle: TPenStyl
 procedure DrawPenStyle(ABitmap: TBGRABitmap; ARect: TRect; APenStyle: TPenStyle; c: TBGRAPixel); overload;
 procedure DrawArrow(AComboBox: TBCComboBox; ARect: TRect; AStart: boolean; AKindStr: string; ALineCap: TPenEndCap; State: TOwnerDrawState); overload;
 procedure DrawArrow(ABitmap: TBGRABitmap; ARect: TRect; AStart: boolean; AKindStr: string; ALineCap: TPenEndCap; AColor: TBGRAPixel); overload;
-procedure BCAssignSystemStyle(AButton: TBCButton; ADarkTheme: boolean; AFontHeightRatio: single = 0.45);
-procedure BCAssignSystemStyle(ACombo: TBCComboBox; ADarkTheme: boolean; AFontHeightRatio: single = 0.45);
+procedure BCAssignSystemStyle(AButton: TBCButton; ADarkTheme: boolean; AFontHeightRatio: single = 0.5);
+procedure BCAssignSystemStyle(ACombo: TBCComboBox; ADarkTheme: boolean; AFontHeightRatio: single = 0.5);
 
 implementation
 
@@ -128,6 +128,7 @@ procedure BCAssignSystemStyle(AButton: TBCButton; ADarkTheme: boolean; AFontHeig
   end;
 
 var highlight, btnFace, btnShadow, btnText: TColor;
+  fh: Int64;
 begin
   if ADarkTheme then
   begin
@@ -153,18 +154,19 @@ begin
     BCAssignSystemState(StateNormal, btnText, btnFace, highlight, btnFace, btnShadow, btnShadow);
     BCAssignSystemState(StateHover, HoverColor(btnText), HoverColor(btnFace), HoverColor(highlight), HoverColor(btnFace), HoverColor(btnShadow), HoverColor(btnShadow));
     BCAssignSystemState(StateClicked, HoverColor(btnText), HoverColor(MergeColor(btnFace,btnShadow)), HoverColor(btnFace), HoverColor(MergeColor(btnFace,btnShadow)), HoverColor(btnShadow), HoverColor(btnShadow));
+    fh := round((AButton.Height+4)*AFontHeightRatio);
     StateNormal.Border.LightWidth := 0;
-    StateNormal.FontEx.Height := round(AButton.Height*AFontHeightRatio);
+    StateNormal.FontEx.Height := fh;
     StateNormal.FontEx.ShadowColorOpacity:= 70;
     StateNormal.FontEx.TextAlignment:= bcaLeftCenter;
     StateNormal.FontEx.PaddingLeft:= DoScaleX(3, OriginalDPI);
     StateHover.Border.LightWidth := 0;
-    StateHover.FontEx.Height := round(AButton.Height*AFontHeightRatio);
+    StateHover.FontEx.Height := fh;
     StateHover.FontEx.ShadowColorOpacity:= 70;
     StateHover.FontEx.TextAlignment:= bcaLeftCenter;
     StateHover.FontEx.PaddingLeft:= DoScaleX(3, OriginalDPI);
     StateClicked.Border.LightWidth := 0;
-    StateClicked.FontEx.Height := round(AButton.Height*AFontHeightRatio);
+    StateClicked.FontEx.Height := fh;
     StateClicked.FontEx.ShadowColorOpacity:= 70;
     StateClicked.FontEx.TextAlignment:= bcaLeftCenter;
     StateClicked.FontEx.PaddingLeft:= DoScaleX(3, OriginalDPI);
@@ -173,15 +175,18 @@ end;
 
 procedure BCAssignSystemStyle(ACombo: TBCComboBox; ADarkTheme: boolean;
   AFontHeightRatio: single);
+var
+  fh: Int64;
 begin
   BCAssignSystemStyle(ACombo.Button, ADarkTheme, AFontHeightRatio);
   with ACombo do
   begin
-    Button.StateNormal.FontEx.Height := round(AFontHeightRatio*Height);
+    fh := round((Height+4)*AFontHeightRatio);
+    Button.StateNormal.FontEx.Height := fh;
     Button.StateNormal.FontEx.ShadowColorOpacity:= 96;
-    Button.StateClicked.FontEx.Height := round(AFontHeightRatio*Height);
+    Button.StateClicked.FontEx.Height := fh;
     Button.StateClicked.FontEx.ShadowColorOpacity:= 96;
-    Button.StateHover.FontEx.Height := round(AFontHeightRatio*Height);
+    Button.StateHover.FontEx.Height := fh;
     Button.StateHover.FontEx.ShadowColorOpacity:= 96;
     if ADarkTheme then
     begin

+ 7 - 3
lazpaint/uimageview.pas

@@ -57,7 +57,7 @@ type
     procedure OnZoomChanged({%H-}sender: TZoom; {%H-}ANewZoom: single; AWorkArea: TRect);
     procedure UpdateCursor(X,Y: integer; ACanvasOfs: TPoint; AWorkArea: TRect; AControl: TControl;
                           AWinControlOfs: TPoint; AWinControl: TWinControl);
-    procedure UpdatePicture(ACanvasOfs: TPoint; AWorkArea: TRect; {%H-}AWinControl: TWinControl);
+    procedure UpdatePicture({%H-}ACanvasOfs: TPoint; AWorkArea: TRect; {%H-}AWinControl: TWinControl);
     function BitmapToForm(pt: TPointF): TPointF;
     function BitmapToForm(X, Y: Single): TPointF;
     function BitmapToVirtualScreen(ptF: TPointF): TPointF;
@@ -465,6 +465,7 @@ var
   area: TRect;
 begin
   area := GetRectToInvalidate(AInvalidateAll, AWorkArea);
+  IntersectRect(area, area, AWorkArea);
   OffsetRect(area, AControlOfs.X,AControlOfs.Y);
   InvalidateRect(AWinControl.Handle,@area,False);
 end;
@@ -565,8 +566,11 @@ begin
   if prevVSArea <> FLastPictureParameters.virtualScreenArea then
     PaintBlueAreaImplementation(ACanvasOfs, AWorkArea);
   {$ELSE}
-  InvalidateRect(AWinControl.Handle, @updateArea, false);
-  AWinControl.Update;
+  if IntersectRect(updateArea, updateArea, AWorkArea) then
+  begin
+    InvalidateRect(AWinControl.Handle, @updateArea, false);
+    AWinControl.Update;
+  end;
   {$ENDIF}
 end;
 

+ 3 - 3
lazpaint/ulayerstack.pas

@@ -279,8 +279,8 @@ begin
   Toolbar2.Top := Toolbar1.Top + Toolbar1.Height;
   Panel1.Height := Toolbar2.Top+Toolbar2.Height+2;
 
-  ComboBox_BlendOp.Top := ToolBar1.Top;
-  ComboBox_BlendOp.Height := ToolBar1.ButtonHeight+1;
+  ComboBox_BlendOp.Top := ToolBar1.Top-1;
+  ComboBox_BlendOp.Height := ToolBar1.ButtonHeight+2;
 
   if Toolbar2.Top+Toolbar2.Height+2 > Panel1.Height then
     Panel1.Height := Toolbar2.Top+Toolbar2.Height+2;
@@ -844,7 +844,7 @@ begin
   DarkThemeInstance.Apply(ToolBar2, DarkTheme);
   DarkThemeInstance.Apply(ToolBar3, DarkTheme);
   BGRALayerStack.Color:= GetBackColor(False);
-  BCAssignSystemStyle(ComboBox_BlendOp, DarkTheme, 0.5);
+  BCAssignSystemStyle(ComboBox_BlendOp, DarkTheme, 0.55);
 end;
 
 function TFLayerStack.GetTextColor(ASelected: boolean): TColor;

+ 3 - 3
lazpaint/umenu.pas

@@ -254,7 +254,7 @@ begin
           end;
         end else
         if Controls[j] is TBCComboBox then
-          BCAssignSystemStyle(TBCComboBox(Controls[j]), FDarkTheme, 0.4) else
+          BCAssignSystemStyle(TBCComboBox(Controls[j]), FDarkTheme, 0.50) else
         if Controls[j] is TBCTrackbarUpdown then
         begin
           if FDarkTheme then
@@ -339,9 +339,9 @@ begin
         if (Controls[j].Name = 'Label_Coordinates') or
            (Controls[j].Name = 'Label_CurrentZoom') or
            (Controls[j].Name = 'Label_CurrentDiff') then
-          Controls[j].Font.Size := Controls[j].Height*38 div ScreenInfo.PixelsPerInchY
+          Controls[j].Font.Height := -Controls[j].Height*55 div ScreenInfo.PixelsPerInchY
         else
-          Controls[j].Font.Size := Controls[j].Height*33 div ScreenInfo.PixelsPerInchY;
+          Controls[j].Font.Height := -Controls[j].Height*50 div ScreenInfo.PixelsPerInchY;
       end;
     end;
   end;