Changeset 522 for trunk/Packages


Ignore:
Timestamp:
Jan 7, 2024, 10:24:51 PM (11 months ago)
Author:
chronos
Message:
  • Modified: Code cleanup.
  • Added: High DPI aware SetWindowPos function.
Location:
trunk/Packages
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Packages/CevoComponents/ScreenTools.pas

    r518 r522  
    8787procedure VDarkGradient(Canvas: TCanvas; X, Y, Height, Kind: Integer);
    8888procedure UnderlinedTitleValue(Canvas: TCanvas; Title, Value: string; X, Y, Width: Integer);
    89 procedure NumberBar(Dst: TBitmap; X, Y: Integer; Cap: string; val: Integer;
     89procedure NumberBar(Dst: TBitmap; X, Y: Integer; Cap: string; Val: Integer;
    9090  T: TTexture);
    9191procedure CountBar(Dst: TBitmap; X, Y, W: Integer; Kind: Integer;
    92   Cap: string; val: Integer; T: TTexture);
     92  Cap: string; Val: Integer; T: TTexture);
    9393procedure PaintProgressBar(Canvas: TCanvas; Kind, X, Y, Pos, Growth, Max: Integer;
    9494  T: TTexture);
     
    13971397
    13981398procedure NumberBar(Dst: TBitmap; X, Y: Integer; Cap: string;
    1399   val: Integer; T: TTexture);
     1399  Val: Integer; T: TTexture);
    14001400var
    14011401  S: string;
    14021402begin
    1403   if val > 0 then
     1403  if Val > 0 then
    14041404  begin
    14051405    DLine(Dst.Canvas, X - 2, X + 170, Y + 16, T.ColorBevelShade,
    14061406      T.ColorBevelLight);
    14071407    LoweredTextOut(Dst.Canvas, -1, T, X - 2, Y, Cap);
    1408     S := IntToStr(val);
     1408    S := IntToStr(Val);
    14091409    RisedTextOut(Dst.Canvas, X + 170 - BiColorTextWidth(Dst.Canvas,
    14101410      S), Y, S);
     
    14131413
    14141414procedure CountBar(Dst: TBitmap; X, Y, W: Integer; Kind: Integer;
    1415   Cap: string; val: Integer; T: TTexture);
     1415  Cap: string; Val: Integer; T: TTexture);
    14161416var
    14171417  I, sd, ld, cl, xIcon, yIcon: Integer;
    14181418  S: string;
    14191419begin
    1420   // val:=random(40); //!!!
    1421   if val = 0 then
     1420  // Val := Random(40); //!!!
     1421  if Val = 0 then
    14221422    Exit;
    14231423  Assert(Kind >= 0);
     
    14331433      T.ColorBevelLight);
    14341434
    1435     S := IntToStr(val);
    1436     if val < 0 then
     1435    S := IntToStr(Val);
     1436    if Val < 0 then
    14371437      cl := $0000FF
    14381438    else
     
    14421442      xIcon + W + 2 - BiColorTextWidth(Dst.Canvas, S), yIcon, S);
    14431443
    1444     if (Kind = 12) and (val >= 100) then
     1444    if (Kind = 12) and (Val >= 100) then
    14451445    begin // science with symbol for 100
    1446       val := val div 10;
    1447       sd := 14 * (val div 10 + val mod 10 - 1);
     1446      Val := Val div 10;
     1447      sd := 14 * (Val div 10 + Val mod 10 - 1);
    14481448      if sd = 0 then
    14491449        sd := 1;
     
    14521452      else
    14531453        ld := W - 44;
    1454       for I := 0 to val mod 10 - 1 do
     1454      for I := 0 to Val mod 10 - 1 do
    14551455      begin
    14561456        BitBltCanvas(Dst.Canvas, xIcon + 4 + I * (14 * ld div sd), yIcon + 2 + 1, 14,
     
    14601460          14, 14, 67 + Kind mod 8 * 15, 70 + Kind div 8 * 15);
    14611461      end;
    1462       for I := 0 to val div 10 - 1 do
     1462      for I := 0 to Val div 10 - 1 do
    14631463      begin
    1464         BitBltCanvas(Dst.Canvas, xIcon + 4 + (val mod 10) *
     1464        BitBltCanvas(Dst.Canvas, xIcon + 4 + (Val mod 10) *
    14651465          (14 * ld div sd) + I * (14 * ld div sd), yIcon + 3, 14, 14,
    14661466          HGrSystem.Mask.Canvas, 67 + 7 mod 8 * 15,
    14671467          70 + 7 div 8 * 15, SRCAND);
    1468         Sprite(Dst, HGrSystem, xIcon + 3 + (val mod 10) *
     1468        Sprite(Dst, HGrSystem, xIcon + 3 + (Val mod 10) *
    14691469          (14 * ld div sd) + I * (14 * ld div sd), yIcon + 2, 14,
    14701470          14, 67 + 7 mod 8 * 15,
     
    14741474    else
    14751475    begin
    1476       val := abs(val);
    1477       if val mod 10 = 0 then
    1478         sd := 14 * (val div 10 - 1)
     1476      Val := Abs(Val);
     1477      if Val mod 10 = 0 then
     1478        sd := 14 * (Val div 10 - 1)
    14791479      else
    1480         sd := 10 * (val mod 10 - 1) + 14 * (val div 10);
     1480        sd := 10 * (Val mod 10 - 1) + 14 * (Val div 10);
    14811481      if sd = 0 then
    14821482        sd := 1;
     
    14851485      else
    14861486        ld := W - 44;
    1487       for I := 0 to val div 10 - 1 do
     1487      for I := 0 to Val div 10 - 1 do
    14881488      begin
    14891489        BitBltCanvas(Dst.Canvas, xIcon + 4 + I * (14 * ld div sd), yIcon + 3, 14, 14,
     
    14931493          14, 14, 67 + Kind mod 8 * 15, 70 + Kind div 8 * 15);
    14941494      end;
    1495       for I := 0 to val mod 10 - 1 do
     1495      for I := 0 to Val mod 10 - 1 do
    14961496      begin
    1497         BitBltCanvas(Dst.Canvas, xIcon + 4 + (val div 10) *
     1497        BitBltCanvas(Dst.Canvas, xIcon + 4 + (Val div 10) *
    14981498          (14 * ld div sd) + I * (10 * ld div sd), yIcon + 7, 10, 10,
    14991499          HGrSystem.Mask.Canvas, 66 + Kind mod 11 * 11,
    15001500          115 + Kind div 11 * 11, SRCAND);
    1501         Sprite(Dst, HGrSystem, xIcon + 3 + (val div 10) *
     1501        Sprite(Dst, HGrSystem, xIcon + 3 + (Val div 10) *
    15021502          (14 * ld div sd) + I * (10 * ld div sd), yIcon + 6, 10,
    15031503          10, 66 + Kind mod 11 * 11,
  • trunk/Packages/DpiControls/Dpi.Common.pas

    r520 r522  
    2121function ScrollDC(Canvas: TCanvas; dx: Longint; dy: Longint; const lprcScroll: TRect;
    2222  const lprcClip:TRect; hrgnUpdate: Handle; lprcUpdate: PRect): Boolean; overload;
     23function SetWindowPos(hWnd: HWND; hWndInsertAfter: HWND;
     24  X, Y, cx, cy: Integer; uFlags: UINT): Boolean;
    2325function ScaleToNative(Value: Integer): Integer;
    2426function ScaleToNativeDist(Base, Value: Integer): Integer;
     
    8486end;
    8587
    86 function Ceil(const X: Single): Integer;
    87 begin
    88   if X > High(Integer) then
    89     Result := High(Integer)
    90   else if X < Low(Integer) then
    91     Result := Low(Integer)
    92   else begin
    93     Result := Trunc(X);
    94     if (Result <> X) then begin
    95       if (Result > 0) then Inc(Result) else Dec(Result);
    96     end;
    97   end;
     88function SetWindowPos(hWnd: HWND; hWndInsertAfter: HWND; X, Y, cx, cy: Integer;
     89  uFlags: UINT): Boolean;
     90begin
     91  LCLIntf.SetWindowPos(hWnd, hWndInsertAfter, ScaleToNative(X), ScaleToNative(Y),
     92    ScaleToNative(cx), ScaleToNative(cy), uFlags);
    9893end;
    9994
     
    110105function ScaleFromNative(Value: Integer): Integer;
    111106begin
    112   Result := Floor(Value * 96 / ScreenInfo.Dpi);
     107  Result := Round(Value * 96 / ScreenInfo.Dpi);
    113108end;
    114109
Note: See TracChangeset for help on using the changeset viewer.