Changeset 684


Ignore:
Timestamp:
Jul 26, 2025, 10:38:53 PM (10 hours ago)
Author:
chronos
Message:
  • Modified: Improved forms painting if resized to bigger dimensions.
Location:
trunk
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/LocalPlayer/CityType.lfm

    • Property svn:mime-type deleted
  • trunk/LocalPlayer/CityType.pas

    r558 r684  
    1010
    1111type
     12
     13  { TCityTypeDlg }
     14
    1215  TCityTypeDlg = class(TFramedDlg)
    1316    CloseBtn: TButtonB;
     
    2528  protected
    2629    procedure OffscreenPaint; override;
     30    procedure DoOnResize; override;
    2731  private
    2832    nPool, dragiix, ctype: Integer;
     
    190194end;
    191195
     196procedure TCityTypeDlg.DoOnResize;
     197begin
     198  inherited;
     199  CloseBtn.Left := Width - 36;
     200end;
     201
    192202procedure TCityTypeDlg.LoadType(NewType: Integer);
    193203var
  • trunk/LocalPlayer/Diagram.pas

    r622 r684  
    1111type
    1212  TDiagramKind = (dkChart, dkShip);
     13
     14  { TDiaDlg }
    1315
    1416  TDiaDlg = class(TFramedDlg)
     
    2325    procedure PlayerClick(Sender: TObject);
    2426    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
     27  private
     28    Kind: TDiagramKind;
     29    Player: Integer;
     30    Mode: Integer;
     31  protected
     32    procedure DoOnResize; override;
    2533  public
    2634    procedure OffscreenPaint; override;
    2735    procedure ShowNewContent_Charts(NewMode: TWindowMode);
    2836    procedure ShowNewContent_Ship(NewMode: TWindowMode; P: Integer = -1);
    29   private
    30     Kind: TDiagramKind;
    31     Player: Integer;
    32     Mode: Integer;
    3337  end;
    3438
     
    369373end;
    370374
     375procedure TDiaDlg.DoOnResize;
     376begin
     377  inherited;
     378  CloseBtn.Left := Width - 38;
     379end;
     380
    371381end.
  • trunk/LocalPlayer/Draft.pas

    r673 r684  
    1212
    1313type
     14
     15  { TDraftDlg }
     16
    1417  TDraftDlg = class(TBufferedDrawDlg)
    1518    OKBtn: TButtonA;
     
    3639  protected
    3740    procedure OffscreenPaint; override;
     41    procedure DoOnResize; override;
    3842  public
    3943    procedure ShowNewContent(NewMode: TWindowMode);
     
    403407end;
    404408
     409procedure TDraftDlg.DoOnResize;
     410begin
     411  inherited;
     412  CloseBtn.Left := Width - 31;
     413end;
     414
    405415procedure TDraftDlg.SetDomain(D: Integer);
    406416
  • trunk/LocalPlayer/Enhance.pas

    r622 r684  
    4242    Page: Integer;
    4343    procedure OffscreenPaint; override;
     44    procedure DoOnResize; override;
    4445  public
    4546    procedure ShowNewContent(NewMode: TWindowMode; TerrType: Integer = -1);
     
    299300end;
    300301
     302procedure TEnhanceDlg.DoOnResize;
     303begin
     304  inherited;
     305  CloseBtn.Left := Width - 38;
     306end;
     307
    301308procedure TEnhanceDlg.CloseBtnClick(Sender: TObject);
    302309begin
  • trunk/LocalPlayer/Help.pas

    r658 r684  
    141141  protected
    142142    procedure OffscreenPaint; override;
     143    procedure DoOnResize; override;
    143144  public
    144145    HistItems: THistItems;
     
    867868  end;
    868869  MarkUsedOffscreen(InnerWidth, InnerHeight + 13 + 48);
     870end;
     871
     872procedure THelpDlg.DoOnResize;
     873begin
     874  inherited;
     875  SearchBtn.Left := Width - 67;
     876  CloseBtn.Left := Width - 38;
    869877end;
    870878
  • trunk/LocalPlayer/Rates.pas

    r622 r684  
    1111
    1212type
     13
     14  { TRatesDlg }
     15
    1316  TRatesDlg = class(TBufferedDrawDlg)
    1417    CloseBtn: TButtonB;
     
    2326  protected
    2427    procedure OffscreenPaint; override;
     28    procedure DoOnResize; override;
    2529  public
    2630    procedure ShowNewContent(NewMode: TWindowMode);
     
    153157end;
    154158
     159procedure TRatesDlg.DoOnResize;
     160begin
     161  inherited;
     162  CloseBtn.Left := Width - 38;
     163end;
     164
    155165procedure TRatesDlg.ShowNewContent(NewMode: TWindowMode);
    156166begin
  • trunk/LocalPlayer/Select.pas

    r675 r684  
    9595    procedure OnMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
    9696    procedure SetSelectionIndex(Index: Integer);
     97  protected
     98    procedure DoOnResize; override;
    9799  public
    98100    Result: Integer;
     
    19171919end;
    19181920
     1921procedure TListDlg.DoOnResize;
     1922begin
     1923  inherited;
     1924  CloseBtn.Left := Width - 38;
     1925end;
     1926
    19191927procedure TListDlg.FormKeyDown(Sender: TObject; var Key: Word;
    19201928  Shift: TShiftState);
  • trunk/LocalPlayer/TechTree.pas

    r648 r684  
    3030    procedure CloseBtnClick(Sender: TObject);
    3131    procedure TimerKeyPressedTimer(Sender: TObject);
     32  protected
     33    procedure DoOnResize; override;
    3234  private
    3335    Offset: TPoint;
     
    273275end;
    274276
     277procedure TTechTreeDlg.DoOnResize;
     278begin
     279  inherited;
     280  CloseBtn.Left := Width - 43;
     281end;
     282
    275283procedure TTechTreeDlg.Move(Diff: TPoint);
    276284begin
  • trunk/LocalPlayer/Wonders.pas

    r565 r684  
    2929  protected
    3030    procedure OffscreenPaint; override;
     31    procedure DoOnResize; override;
    3132  public
    3233    procedure ShowNewContent(NewMode: TWindowMode);
     
    278279
    279280  MarkUsedOffscreen(ClientWidth, ClientHeight);
     281end;
     282
     283procedure TWondersDlg.DoOnResize;
     284begin
     285  inherited;
     286  CloseBtn.Left := Width - 38;
    280287end;
    281288
  • trunk/Packages/CevoComponents/BaseWin.pas

    r657 r684  
    2323    procedure OffscreenPaint; virtual;
    2424    procedure VPaint; virtual;
     25    procedure DoOnResize; override;
    2526  public
    2627    UserLeft: Integer;
     
    4041  end;
    4142
     43  { TFramedDlg }
     44
    4245  TFramedDlg = class(TBufferedDrawDlg)
    4346  protected
     
    5356    procedure VPaint; override;
    5457    procedure FillOffscreen(Left, Top, Width, Height: Integer);
     58    procedure DoOnResize; override;
    5559  public
    5660    constructor Create(AOwner: TComponent); override;
     
    167171begin
    168172  BitBltCanvas(Canvas, 0, 0, ClientWidth, ClientHeight, Offscreen.Canvas, 0, 0);
     173end;
     174
     175procedure TBufferedDrawDlg.DoOnResize;
     176begin
     177  inherited;
     178  SmartUpdateContent;
    169179end;
    170180
     
    232242end;
    233243
    234 constructor TFramedDlg.Create;
     244constructor TFramedDlg.Create(AOwner: TComponent);
    235245begin
    236246  OnCreate := FormCreate;
     
    247257  ModalIndication := True;
    248258  Canvas.Brush.Style := TBrushStyle.bsClear;
    249   InnerWidth := Width - 2 * SideFrame;
    250   InnerHeight := Height - TitleHeight - NarrowFrame;
     259  DoOnResize;
    251260end;
    252261
     
    304313  L := BiColorTextWidth(Canvas, Caption);
    305314  Cut := (ClientWidth - L) div 2;
    306   xTexOffset := (Maintexture.Width - ClientWidth) div 2;
    307   yTexOffset := (Maintexture.Height - ClientHeight) div 2;
     315  xTexOffset := 0; //(Maintexture.Width - ClientWidth) div 2;
     316  yTexOffset := 0; //(Maintexture.Height - ClientHeight) div 2;
    308317  if WideBottom then
    309318    InnerBottom := ClientHeight - WideFrame
     
    332341  Frame(Canvas, SideFrame - 1, TitleHeight - 1, ClientWidth - SideFrame,
    333342    InnerBottom, MainTexture.ColorBevelShade, MainTexture.ColorBevelLight);
     343
    334344  // RFrame(Canvas,SideFrame - 2, TitleHeight - 2, ClientWidth - SideFrame + 1,
    335345  // InnerBottom + 1, MainTexture.ColorBevelShade, MainTexture.ColorBevelLight);
     
    471481begin
    472482  Fill(Offscreen.Canvas, Left, Top, Width, Height,
    473     SideFrame + (Maintexture.Width - ClientWidth) div 2,
    474     TitleHeight + (Maintexture.Height - ClientHeight) div 2);
     483    SideFrame, TitleHeight);
     484end;
     485
     486procedure TFramedDlg.DoOnResize;
     487begin
     488  inherited;
     489  InnerWidth := Width - 2 * SideFrame;
     490  InnerHeight := Height - TitleHeight - NarrowFrame;
     491  SmartUpdateContent;
    475492end;
    476493
  • trunk/Packages/CevoComponents/DrawDlg.pas

    r622 r684  
    7373begin
    7474  inherited;
     75
     76  // Make all dialogs resizable
     77  //BorderStyle := TBorderStyle.bsSizeable;
     78  //BorderIcons := [TBorderIcon.biSystemMenu, TBorderIcon.biMinimize, TBorderIcon.biMaximize];
     79
    7580  Color := clBlack;
    7681  TitleHeight := 0;
  • trunk/Packages/CevoComponents/ScreenTools.pas

    r666 r684  
    11231123
    11241124procedure Fill(Canvas: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer);
    1125 begin
    1126   //Assert((Left + xOffset >= 0) and (Left + xOffset + Width <= MainTexture.Width) and
    1127   //  (Top + yOffset >= 0) and (Top + yOffset + Height <= MainTexture.Height));
    1128   BitBltCanvas(Canvas, Left, Top, Width, Height, MainTexture.Image.Canvas,
    1129     Left + xOffset, Top + yOffset);
     1125var
     1126  X, Y: Integer;
     1127  XX, YY: Integer;
     1128  W, H: Integer;
     1129begin
     1130  // BitBltCanvas(Canvas, Left, Top, Width, Height, MainTexture.Image.Canvas,
     1131  //   Left + xOffset, Top + yOffset);
     1132  if Width < MainTexture.Width then W := Width
     1133    else W := MainTexture.Width;
     1134  if Height < MainTexture.Height then H := Height
     1135    else H := MainTexture.Height;
     1136  if MainTexture.Height > 0 then YY := Trunc(Height / MainTexture.Height)
     1137    else YY := 0;
     1138  if MainTexture.Width > 0 then XX := Trunc(Width / MainTexture.Width)
     1139    else XX := 0;
     1140  for Y := 0 to YY do
     1141  for X := 0 to XX do
     1142    begin
     1143    BitBltCanvas(Canvas, Left + X * MainTexture.Width, Top + Y * MainTexture.Height,
     1144      W, H, MainTexture.Image.Canvas, 0, 0);
     1145  end;
    11301146end;
    11311147
     
    12121228procedure PaintBackground(Canvas: TCanvas; Left, Top, Width, Height, FormWidth,
    12131229  FormHeight: Integer);
    1214 var
    1215   X, Y: Integer;
    1216   XX, YY: Integer;
    1217 begin
    1218   if MainTexture.Height > 0 then YY := Trunc(Height / MainTexture.Height)
    1219     else YY := 0;
    1220   if MainTexture.Width > 0 then XX := Trunc(Width / MainTexture.Width)
    1221     else XX := 0;
    1222   for Y := 0 to YY do
    1223   for X := 0 to XX do
    1224   begin
    1225     Fill(Canvas, Left + X * MainTexture.Width, Top + Y * MainTexture.Height, Width, Height,
    1226       -(Left + X * MainTexture.Width), -(Top + Y * MainTexture.Height));
    1227   end;
     1230begin
     1231  Fill(Canvas, Left, Top, Width, Height, 0, 0)
    12281232end;
    12291233
  • trunk/Packages/DpiControls/Dpi.Controls.pas

    r642 r684  
    122122    procedure SetParentFont(AValue: Boolean);
    123123    procedure SetShowHint(AValue: Boolean);
    124     procedure NativeFormResize(Sender: TObject);
     124    procedure NativeResize(Sender: TObject);
    125125    procedure NativeChangeBounds(Sender: TObject);
    126     procedure DoFormResize;
    127126    procedure DoChangeBounds;
    128127    procedure MouseDownHandler(Sender: TObject; Button: TMouseButton; Shift: TShiftState;
     
    138137    function ColorIsStored: Boolean; virtual;
    139138  protected
     139    procedure DoOnResize; virtual;
    140140    procedure DoBorderSpacingChange(Sender: TObject; InnerSpaceChanged: Boolean); virtual;
    141141    function GetText: TCaption; virtual;
     
    604604begin
    605605  Font.NativeFont := GetNativeControl.Font;
    606   GetNativeControl.OnResize := NativeFormResize;
     606  GetNativeControl.OnResize := NativeResize;
    607607  GetNativeControl.OnChangeBounds := NativeChangeBounds;
    608608
     
    10341034end;
    10351035
    1036 procedure TControl.NativeFormResize(Sender: TObject);
     1036procedure TControl.NativeResize(Sender: TObject);
    10371037var
    10381038  R: TRect;
     
    10431043  FWidth := R.Width;
    10441044  FHeight := R.Height;
    1045   DoFormResize;
     1045  DoOnResize;
    10461046end;
    10471047
     
    10601060end;
    10611061
    1062 procedure TControl.DoFormResize;
     1062procedure TControl.DoOnResize;
    10631063begin
    10641064  if Assigned(FOnResize) then begin
Note: See TracChangeset for help on using the changeset viewer.