Changeset 129 for trunk/Packages/Common
- Timestamp:
- Jan 17, 2022, 10:11:05 PM (3 years ago)
- Location:
- trunk/Packages/Common
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Packages/Common/Common.lpk
r122 r129 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <CONFIG> 3 <Package Version=" 4">3 <Package Version="5"> 4 4 <PathDelim Value="\"/> 5 5 <Name Value="Common"/> … … 33 33 <Other> 34 34 <CompilerMessages> 35 <IgnoredMessages idx 5024="True"/>35 <IgnoredMessages idx6058="True" idx5024="True" idx3124="True" idx3123="True"/> 36 36 </CompilerMessages> 37 37 </Other> … … 172 172 </Item29> 173 173 </Files> 174 <CompatibilityMode Value="True"/> 174 175 <i18n> 175 176 <EnableI18N Value="True"/> -
trunk/Packages/Common/UAboutDialog.pas
r122 r129 7 7 uses 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus, 9 StdCtrls,ExtCtrls, UApplicationInfo, UCommon, UTranslator, UTheme, UFormAbout;9 ExtCtrls, UApplicationInfo, UCommon, UTranslator, UTheme, UFormAbout; 10 10 11 11 type -
trunk/Packages/Common/UCommon.pas
r122 r129 6 6 7 7 uses 8 {$ ifdef Windows}Windows,{$endif}9 {$ ifdef Linux}baseunix,{$endif}8 {$IFDEF WINDOWS}Windows,{$ENDIF} 9 {$IFDEF UNIX}baseunix,{$ENDIF} 10 10 Classes, SysUtils, StrUtils, Dialogs, Process, LCLIntf, 11 11 FileUtil; //, ShFolder, ShellAPI; … … 35 35 DLLHandle1: HModule; 36 36 37 {$IFDEF W indows}37 {$IFDEF WINDOWS} 38 38 GetUserNameEx: procedure (NameFormat: DWORD; 39 39 lpNameBuffer: LPSTR; nSize: PULONG); stdcall; … … 292 292 function Explode(Separator: char; Data: string): TArrayOfString; 293 293 begin 294 Result := nil; 294 295 SetLength(Result, 0); 295 296 while Pos(Separator, Data) > 0 do begin … … 346 347 Name: UtsName; 347 348 begin 349 Name := Default(UtsName); 348 350 fpuname(Name); 349 351 Result := Name.Nodename; … … 505 507 I: Integer; 506 508 begin 509 Result := Default(TArrayOfString); 507 510 SetLength(Result, Length(A) + Length(B)); 508 511 for I := 0 to Length(A) - 1 do -
trunk/Packages/Common/UFindFile.pas
r93 r129 59 59 FilterAll = '*.*'; 60 60 {$ENDIF} 61 {$IFDEF LINUX}61 {$IFDEF UNIX} 62 62 FilterAll = '*'; 63 63 {$ENDIF} -
trunk/Packages/Common/UGeometric.pas
r116 r129 96 96 I: Integer; 97 97 begin 98 Result := Default(TPointArray); 98 99 SetLength(Result, Length(P)); 99 100 for I := 0 to High(P) do -
trunk/Packages/Common/UMetaCanvas.pas
r116 r129 142 142 procedure RoundRect(const Rect: TRect; RX,RY: Integer); overload; 143 143 procedure TextOut(X,Y: Integer; const Text: String); override; 144 procedure Polygon(Points: PPoint; NumPts: Integer; Winding: boolean = False); override;144 procedure Polygon(Points: PPoint; NumPts: Integer; Winding: Boolean = False); override; 145 145 procedure Ellipse(x1, y1, x2, y2: Integer); override; 146 146 procedure StretchDraw(const DestRect: TRect; SrcGraphic: TGraphic); override; … … 502 502 end; 503 503 504 procedure TMetaCanvas.Polygon(Points: PPoint; NumPts: Integer; Winding: boolean504 procedure TMetaCanvas.Polygon(Points: PPoint; NumPts: Integer; Winding: Boolean 505 505 ); 506 506 var … … 508 508 I: Integer; 509 509 begin 510 APoints := nil; 510 511 SetLength(APoints, NumPts); 511 512 for I := 0 to High(APoints) do -
trunk/Packages/Common/URegistry.pas
r115 r129 132 132 function TRegistryEx.OpenKey(const Key: string; CanCreate: Boolean): Boolean; 133 133 begin 134 {$IFDEF Linux}134 {$IFDEF UNIX} 135 135 //CloseKey; 136 136 {$ENDIF} … … 140 140 function TRegistryEx.GetCurrentContext: TRegistryContext; 141 141 begin 142 Result.Key := CurrentPath;142 Result.Key := String(CurrentPath); 143 143 Result.RootKey := RootKey; 144 144 end; -
trunk/Packages/Common/UScaleDPI.pas
r116 r129 8 8 9 9 uses 10 Classes, Forms, Graphics, Controls, ComCtrls, LCLType, SysUtils, StdCtrls, 11 Contnrs; 10 Classes, Forms, Graphics, Controls, ComCtrls, LCLType, SysUtils, fgl; 12 11 13 12 type 13 TControlDimensions = class; 14 14 15 15 { TControlDimension } … … 18 18 BoundsRect: TRect; 19 19 FontHeight: Integer; 20 Controls: T ObjectList; // TList<TControlDimension>20 Controls: TControlDimensions; 21 21 // Class specifics 22 22 ButtonSize: TPoint; // TToolBar … … 26 26 constructor Create; 27 27 destructor Destroy; override; 28 end; 29 30 TControlDimensions = class(TFPGObjectList<TControlDimension>) 28 31 end; 29 32 … … 73 76 constructor TControlDimension.Create; 74 77 begin 75 Controls := T ObjectList.Create;78 Controls := TControlDimensions.Create; 76 79 end; 77 80 … … 79 82 begin 80 83 FreeAndNil(Controls); 81 inherited Destroy;84 inherited; 82 85 end; 83 86 … … 212 215 TempBmp: TBitmap; 213 216 Temp: array of TBitmap; 214 NewWidth, NewHeight: integer; 217 NewWidth: Integer; 218 NewHeight: Integer; 215 219 I: Integer; 216 220 begin 217 221 ImgList.BeginUpdate; 218 NewWidth := ScaleX(ImgList.Width, FromDPI.X); 219 NewHeight := ScaleY(ImgList.Height, FromDPI.Y); 220 221 SetLength(Temp, ImgList.Count); 222 for I := 0 to ImgList.Count - 1 do 223 begin 224 TempBmp := TBitmap.Create; 225 TempBmp.PixelFormat := pf32bit; 226 ImgList.GetBitmap(I, TempBmp); 227 Temp[I] := TBitmap.Create; 228 Temp[I].SetSize(NewWidth, NewHeight); 229 {$IFDEF Linux} 230 Temp[I].PixelFormat := pf24bit; 231 {$ELSE} 232 Temp[I].PixelFormat := pf32bit; 233 {$ENDIF} 234 Temp[I].TransparentColor := TempBmp.TransparentColor; 235 //Temp[I].TransparentMode := TempBmp.TransparentMode; 236 Temp[I].Transparent := True; 237 Temp[I].Canvas.Brush.Style := bsSolid; 238 Temp[I].Canvas.Brush.Color := Temp[I].TransparentColor; 239 Temp[I].Canvas.FillRect(0, 0, Temp[I].Width, Temp[I].Height); 240 241 if (Temp[I].Width = 0) or (Temp[I].Height = 0) then Continue; 242 Temp[I].Canvas.StretchDraw(Rect(0, 0, Temp[I].Width, Temp[I].Height), TempBmp); 243 TempBmp.Free; 244 end; 245 246 ImgList.Clear; 247 ImgList.Width := NewWidth; 248 ImgList.Height := NewHeight; 249 250 for I := 0 to High(Temp) do 251 begin 252 ImgList.Add(Temp[I], nil); 253 Temp[i].Free; 254 end; 255 ImgList.EndUpdate; 222 try 223 NewWidth := ScaleX(ImgList.Width, FromDPI.X); 224 NewHeight := ScaleY(ImgList.Height, FromDPI.Y); 225 226 Temp := nil; 227 SetLength(Temp, ImgList.Count); 228 for I := 0 to ImgList.Count - 1 do 229 begin 230 TempBmp := TBitmap.Create; 231 try 232 TempBmp.PixelFormat := pf32bit; 233 ImgList.GetBitmap(I, TempBmp); 234 Temp[I] := TBitmap.Create; 235 Temp[I].SetSize(NewWidth, NewHeight); 236 {$IFDEF UNIX} 237 Temp[I].PixelFormat := pf24bit; 238 {$ELSE} 239 Temp[I].PixelFormat := pf32bit; 240 {$ENDIF} 241 Temp[I].TransparentColor := TempBmp.TransparentColor; 242 //Temp[I].TransparentMode := TempBmp.TransparentMode; 243 Temp[I].Transparent := True; 244 Temp[I].Canvas.Brush.Style := bsSolid; 245 Temp[I].Canvas.Brush.Color := Temp[I].TransparentColor; 246 Temp[I].Canvas.FillRect(0, 0, Temp[I].Width, Temp[I].Height); 247 248 if (Temp[I].Width = 0) or (Temp[I].Height = 0) then Continue; 249 Temp[I].Canvas.StretchDraw(Rect(0, 0, Temp[I].Width, Temp[I].Height), TempBmp); 250 finally 251 TempBmp.Free; 252 end; 253 end; 254 255 ImgList.Clear; 256 ImgList.Width := NewWidth; 257 ImgList.Height := NewHeight; 258 259 for I := 0 to High(Temp) do 260 begin 261 ImgList.Add(Temp[I], nil); 262 Temp[i].Free; 263 end; 264 finally 265 ImgList.EndUpdate; 266 end; 256 267 end; 257 268 … … 331 342 with TCoolBar(Control) do begin 332 343 BeginUpdate; 333 for I := 0 to Bands.Count - 1 do 334 with Bands[I] do begin 335 MinWidth := ScaleX(MinWidth, FromDPI.X); 336 MinHeight := ScaleY(MinHeight, FromDPI.Y); 337 // Workaround to bad band width auto sizing 338 //Width := ScaleX(Width, FromDPI.X); 339 Width := ScaleX(Control.Width + 28, FromDPI.X); 340 //Control.Invalidate; 344 try 345 for I := 0 to Bands.Count - 1 do 346 with Bands[I] do begin 347 MinWidth := ScaleX(MinWidth, FromDPI.X); 348 MinHeight := ScaleY(MinHeight, FromDPI.Y); 349 // Workaround to bad band width auto sizing 350 //Width := ScaleX(Width, FromDPI.X); 351 Width := ScaleX(Control.Width + 28, FromDPI.X); 352 //Control.Invalidate; 353 end; 354 // Workaround for bad autosizing of coolbar 355 if AutoSize then begin 356 AutoSize := False; 357 Height := ScaleY(Height, FromDPI.Y); 358 AutoSize := True; 341 359 end; 342 // Workaround for bad autosizing of coolbar 343 if AutoSize then begin 344 AutoSize := False; 345 Height := ScaleY(Height, FromDPI.Y); 346 AutoSize := True; 347 end; 348 EndUpdate; 360 finally 361 EndUpdate; 362 end; 349 363 end; 350 364
Note:
See TracChangeset
for help on using the changeset viewer.