Changeset 454


Ignore:
Timestamp:
Nov 26, 2012, 7:38:56 AM (11 years ago)
Author:
chronos
Message:
  • Added: Now PixelFormat for tests where TBitmap is used can be changed.
  • Fixed: Stopping of test of all methods.
Location:
GraphicTest
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • GraphicTest/GraphicTest.lpi

    r453 r454  
    223223        <UseMsgFile Value="True"/>
    224224      </CompilerMessages>
    225       <CustomOptions Value="-dopengl"/>
     225      <CustomOptions Value="-dopengl
     226-dGR32"/>
    226227      <CompilerPath Value="$(CompPath)"/>
    227228    </Other>
  • GraphicTest/Methods/UBGRABitmapPaintBox.pas

    r447 r454  
    77uses
    88  Classes, SysUtils, UDrawMethod, UFastBitmap, BGRABitmap, BGRABitmapTypes,
    9   Controls;
     9  Controls, Graphics;
    1010
    1111type
     
    1515    BGRABitmap: TBGRABitmap;
    1616    procedure Paint(Sender: TObject); override;
    17     procedure Init(Parent: TWinControl; Size: TPoint); override;
     17    procedure Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat); override;
    1818    constructor Create; override;
    1919    destructor Destroy; override;
     
    3232end;
    3333
    34 procedure TBGRABitmapPaintBox.Init(Parent: TWinControl; Size: TPoint);
     34procedure TBGRABitmapPaintBox.Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat);
    3535begin
    36   inherited Init(Parent, Size);
     36  inherited;
    3737  BGRABitmap.SetSize(PaintBox.Width, PaintBox.Height);
    3838end;
  • GraphicTest/Methods/UCanvasPixels.pas

    r447 r454  
    2525  inherited;
    2626  Caption := 'TBitmap.Canvas.Pixels';
     27  Description.Add('This is simple naive approach to copy image by accessing Pixels property. ' +
     28  'Method is slow because of much of overhead in access methods like multiple nested method calls, ' +
     29  'pixel format conversion, update notification, etc.');
    2730end;
    2831
  • GraphicTest/Methods/UCanvasPixelsUpdateLock.pas

    r447 r454  
    2525  inherited;
    2626  Caption := 'TBitmap.Canvas.Pixels Update locking';
     27  Description.Add('This method improves basic canvas pixel access by eliminating ' +
     28    'updating of visible area during complete operation. Image data is ' +
     29    'painted only one at the end of complete operation');
    2730end;
    2831
  • GraphicTest/Methods/UDummyMethod.pas

    r447 r454  
    2525  inherited Create;
    2626  Caption := 'Dummy';
     27  Description.Add('This method doesn''t draw anything. It''s purpose is to measure ' +
     28    'and compare speed of system and event handling.');
    2729end;
    2830
  • GraphicTest/Methods/UGraphics32Method.pas

    r450 r454  
    66
    77uses
    8   Classes, SysUtils, UFastBitmap, UDrawMethod, GR32, GR32_Image, Controls;
     8  Classes, SysUtils, UFastBitmap, UDrawMethod, GR32, GR32_Image, Controls,
     9  Graphics;
    910
    1011type
     
    1617    destructor Destroy; override;
    1718    procedure DrawFrame(FastBitmap: TFastBitmap); override;
    18     procedure Init(Parent: TWinControl; Size: TPoint); override;
     19    procedure Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat); override;
    1920    procedure Done; override;
    2021  end;
     
    2930  inherited Create;
    3031  Caption := 'TGR32Image';
     32  Description.Add('Graphics32 is well implemented highly optimized Delphi graphic ' +
     33    'library also ported to Lazarus/LCL. It uses static 32-bit wide pixel:');
     34  Description.Add('TColor32Entry = packed record');
     35  Description.Add('  case Integer of');
     36  Description.Add('    0: (B, G, R, A: Byte);');
     37  Description.Add('    1: (ARGB: TColor32);');
     38  Description.Add('    2: (Planes: array[0..3] of Byte);');
     39  Description.Add('    3: (Components: array[TColor32Component] of Byte);');
     40  Description.Add('end;');
    3141end;
    3242
     
    6676end;
    6777
    68 procedure TGraphics32Method.Init(Parent: TWinControl; Size: TPoint);
     78procedure TGraphics32Method.Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat);
    6979begin
    70   inherited Init(Parent, Size);
     80  inherited;
    7181  Image := TImage32.Create(Parent);
    7282  Image.Parent := Parent;
  • GraphicTest/Methods/ULazIntfImageColorsNoCopy.pas

    r447 r454  
    1313  TLazIntfImageColorsNoCopy = class(TDrawMethodImage)
    1414    TempIntfImage: TLazIntfImage;
    15     procedure Init(Parent: TWinControl; Size: TPoint); override;
     15    procedure Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat); override;
    1616    constructor Create; override;
    1717    destructor Destroy; override;
     
    2424{ TLazIntfImageColorsNoCopy }
    2525
    26 procedure TLazIntfImageColorsNoCopy.Init(Parent: TWinControl; Size: TPoint);
     26procedure TLazIntfImageColorsNoCopy.Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat);
    2727begin
    28   inherited Init(Parent, Size);
     28  inherited;
    2929  TempIntfImage.Free;
    3030  TempIntfImage := Image.Picture.Bitmap.CreateIntfImage;
  • GraphicTest/Methods/UOpenGLPBOMethod.pas

    r452 r454  
    66
    77uses
    8   Classes, SysUtils, UDrawMethod, UFastBitmap, Controls
     8  Classes, SysUtils, UDrawMethod, UFastBitmap, Controls, Graphics
    99  {$IFDEF opengl}, GL, GLExt, OpenGLContext{$ENDIF};
    1010
     
    1616    pboIds: array[0..1] of GLuint;
    1717    Index, NextIndex: Integer;
    18     procedure Init(AParent: TWinControl; Size: TPoint); override;
     18    procedure Init(AParent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat); override;
    1919    constructor Create; override;
    2020    destructor Destroy; override;
     
    3131//procedure glGenBuffersARB2 : procedure(n : GLsizei; buffers : PGLuint); extdecl;
    3232
    33 procedure TOpenGLPBOMethod.Init(AParent: TWinControl; Size: TPoint);
     33procedure TOpenGLPBOMethod.Init(AParent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat);
    3434var
    3535  DataSize: Integer;
  • GraphicTest/UDrawMethod.pas

    r453 r454  
    3333    function GetFPS: Real;
    3434    property FPS: Real read FFPS write FFPS;
    35     procedure Init(Parent: TWinControl; Size: TPoint); virtual;
     35    procedure Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat); virtual;
    3636    procedure Done; virtual;
    3737    constructor Create; virtual;
     
    4848  TDrawMethodImage = class(TDrawMethod)
    4949    Image: TImage;
    50     procedure Init(Parent: TWinControl; Size: TPoint); override;
     50    procedure Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat); override;
    5151    procedure Done; override;
    5252  end;
     
    5757    PaintBox: TPaintBox;
    5858    procedure Paint(Sender: TObject); virtual;
    59     procedure Init(Parent: TWinControl; Size: TPoint); override;
     59    procedure Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat); override;
    6060    procedure Done; override;
    6161  end;
     
    7171    procedure InitGL;
    7272    procedure OpenGLControlResize(Sender: TObject);
    73     procedure Init(AParent: TWinControl; Size: TPoint); override;
     73    procedure Init(AParent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat); override;
    7474    procedure Done; override;
    7575  end;
     
    8888end;
    8989
    90 procedure TDrawMethodPaintBox.Init(Parent: TWinControl; Size: TPoint);
    91 begin
    92   inherited Init(Parent, Size);
     90procedure TDrawMethodPaintBox.Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat);
     91begin
     92  inherited;
    9393  PaintBox := TPaintBox.Create(Parent);
    9494  PaintBox.Parent := Parent;
     
    106106{ TDrawMethodImage }
    107107
    108 procedure TDrawMethodImage.Init(Parent: TWinControl; Size: TPoint);
    109 begin
    110   inherited Init(Parent, Size);
     108procedure TDrawMethodImage.Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat);
     109begin
     110  inherited;
    111111  Image := TImage.Create(Parent);
    112112  Image.Parent := Parent;
    113113  Image.SetBounds(0, 0, Size.X, Size.Y);
    114114  Image.Picture.Bitmap.SetSize(Size.X, Size.Y);
    115   Image.Picture.Bitmap.PixelFormat := pf24bit;
     115  Image.Picture.Bitmap.PixelFormat := PixelFormat;
    116116  Image.Show;
    117117end;
     
    128128{ TDrawMethodOpenGL }
    129129
    130 procedure TDrawMethodOpenGL.Init(AParent: TWinControl; Size: TPoint);
    131 begin
    132   inherited Init(aParent, Size);
     130procedure TDrawMethodOpenGL.Init(AParent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat);
     131begin
     132  inherited;
    133133  OpenGLControl := TOpenGLControl.Create(AParent);
    134134  with OpenGLControl do begin
     
    193193end;
    194194
    195 procedure TDrawMethod.Init(Parent: TWinControl; Size: TPoint);
     195procedure TDrawMethod.Init(Parent: TWinControl; Size: TPoint; PixelFormat: TPixelFormat);
    196196begin
    197197  if (TempBitmap.Width <> Size.X) or (TempBitmap.Height <> Size.Y) then
  • GraphicTest/UMainForm.lfm

    r453 r454  
    11object MainForm: TMainForm
    2   Left = 165
     2  Left = 258
    33  Height = 444
    4   Top = 117
     4  Top = 176
    55  Width = 857
    66  Caption = 'Graphic test'
     
    2424    object TabSheet1: TTabSheet
    2525      Caption = 'Description'
    26       ClientHeight = 388
     26      ClientHeight = 399
    2727      ClientWidth = 390
    2828      object Memo1: TMemo
    2929        Left = 0
    30         Height = 388
     30        Height = 399
    3131        Top = 0
    3232        Width = 390
     
    534534    TabOrder = 1
    535535    object ListViewMethods: TListView
    536       Left = 9
    537       Height = 349
    538       Top = 8
    539       Width = 443
     536      Left = 4
     537      Height = 324
     538      Top = 4
     539      Width = 448
    540540      Anchors = [akTop, akLeft, akRight, akBottom]
    541541      Columns = <     
     
    579579      Left = 8
    580580      Height = 25
    581       Top = 364
     581      Top = 336
    582582      Width = 115
    583       Anchors = [akLeft, akBottom]
    584       Caption = 'Test one method'
    585       OnClick = ButtonSingleTestClick
     583      Action = ATestOneMethod
     584      Anchors = [akLeft, akBottom]
    586585      TabOrder = 1
    587586    end
     
    589588      Left = 136
    590589      Height = 25
    591       Top = 364
     590      Top = 336
    592591      Width = 112
    593       Anchors = [akLeft, akBottom]
    594       Caption = 'Test all methods'
    595       OnClick = ButtonBenchmarkClick
     592      Action = ATestAllMethods
     593      Anchors = [akLeft, akBottom]
    596594      TabOrder = 2
    597595    end
    598596    object FloatSpinEdit1: TFloatSpinEdit
    599597      Left = 88
    600       Height = 23
    601       Top = 394
     598      Height = 21
     599      Top = 368
    602600      Width = 58
    603601      Anchors = [akLeft, akBottom]
     
    611609      Left = 256
    612610      Height = 25
    613       Top = 364
     611      Top = 336
    614612      Width = 75
    615       Anchors = [akLeft, akBottom]
    616       Caption = 'Stop'
    617       OnClick = ButtonStopClick
     613      Action = ATestStop
     614      Anchors = [akLeft, akBottom]
    618615      TabOrder = 4
    619616    end
    620617    object Label1: TLabel
    621618      Left = 8
    622       Height = 15
    623       Top = 398
    624       Width = 78
     619      Height = 13
     620      Top = 372
     621      Width = 69
    625622      Anchors = [akLeft, akBottom]
    626623      Caption = 'Step duration:'
     
    629626    object Label2: TLabel
    630627      Left = 152
    631       Height = 15
    632       Top = 398
     628      Height = 13
     629      Top = 372
    633630      Width = 5
    634631      Anchors = [akLeft, akBottom]
     
    638635    object SpinEditWidth: TSpinEdit
    639636      Left = 204
    640       Height = 23
    641       Top = 394
     637      Height = 21
     638      Top = 368
    642639      Width = 58
    643640      Anchors = [akLeft, akBottom]
     
    649646    object SpinEditHeight: TSpinEdit
    650647      Left = 273
    651       Height = 23
    652       Top = 394
     648      Height = 21
     649      Top = 368
    653650      Width = 58
    654651      Anchors = [akLeft, akBottom]
     
    660657    object Label3: TLabel
    661658      Left = 169
    662       Height = 15
    663       Top = 399
    664       Width = 25
     659      Height = 13
     660      Top = 373
     661      Width = 23
    665662      Anchors = [akLeft, akBottom]
    666663      Caption = 'Size:'
     
    669666    object Label4: TLabel
    670667      Left = 265
    671       Height = 15
    672       Top = 398
     668      Height = 13
     669      Top = 372
    673670      Width = 6
    674671      Anchors = [akLeft, akBottom]
     
    678675    object CheckBoxDoubleBuffered: TCheckBox
    679676      Left = 336
    680       Height = 24
    681       Top = 357
    682       Width = 118
     677      Height = 17
     678      Top = 336
     679      Width = 98
    683680      Anchors = [akLeft, akBottom]
    684681      Caption = 'Double buffered'
     
    688685    object CheckBoxEraseBackground: TCheckBox
    689686      Left = 336
    690       Height = 24
    691       Top = 374
    692       Width = 124
     687      Height = 17
     688      Top = 353
     689      Width = 106
    693690      Anchors = [akLeft, akBottom]
    694691      Caption = 'Erase background'
     
    698695    object CheckBox1: TCheckBox
    699696      Left = 336
    700       Height = 24
    701       Top = 394
    702       Width = 69
     697      Height = 17
     698      Top = 369
     699      Width = 58
    703700      Anchors = [akLeft, akBottom]
    704701      Caption = 'Opaque'
    705702      OnChange = CheckBox1Change
    706703      TabOrder = 9
     704    end
     705    object Label5: TLabel
     706      Left = 8
     707      Height = 13
     708      Top = 399
     709      Width = 61
     710      Anchors = [akLeft, akBottom]
     711      Caption = 'Pixel format:'
     712      ParentColor = False
     713    end
     714    object ComboBox1: TComboBox
     715      Left = 89
     716      Height = 21
     717      Top = 394
     718      Width = 100
     719      Anchors = [akLeft, akBottom]
     720      ItemHeight = 13
     721      OnChange = ComboBox1Change
     722      Style = csDropDownList
     723      TabOrder = 10
    707724    end
    708725  end
     
    747764      OnExecute = AExportAsWikiTextExecute
    748765    end
    749     object Action1: TAction
    750       Caption = 'Action1'
     766    object ATestOneMethod: TAction
     767      Caption = 'Test one method'
     768      OnExecute = ATestOneMethodExecute
     769      ShortCut = 113
    751770    end
    752771    object FileExit1: TFileExit
     
    755774      Hint = 'Exit'
    756775      ShortCut = 32883
     776    end
     777    object ATestStop: TAction
     778      Caption = 'Stop'
     779      Hint = 'Stop'
     780      OnExecute = ATestStopExecute
     781      ShortCut = 114
     782    end
     783    object ATestAllMethods: TAction
     784      Caption = 'Test all methods'
     785      Hint = 'Test all methods'
     786      OnExecute = ATestAllMethodsExecute
     787      ShortCut = 114
     788    end
     789    object AShowDrawForm: TAction
     790      Caption = 'Draw form'
     791      OnExecute = AShowDrawFormExecute
    757792    end
    758793  end
     
    769804      end
    770805    end
     806    object MenuItemTest: TMenuItem
     807      Caption = 'Test'
     808      object MenuItem5: TMenuItem
     809        Action = ATestOneMethod
     810      end
     811      object MenuItem6: TMenuItem
     812        Action = ATestAllMethods
     813      end
     814      object MenuItem7: TMenuItem
     815        Action = ATestStop
     816      end
     817    end
     818    object MenuItem4: TMenuItem
     819      Caption = 'View'
     820      object MenuItem8: TMenuItem
     821        Action = AShowDrawForm
     822      end
     823    end
    771824  end
    772825  object SaveDialog1: TSaveDialog
  • GraphicTest/UMainForm.pas

    r453 r454  
    99  Graphics, Dialogs, ComCtrls, ExtCtrls, StdCtrls, DateUtils, UPlatform,
    1010  LCLType, IntfGraphics, fpImage, Math, GraphType, Contnrs, LclIntf, Spin,
    11   ActnList, Menus, StdActns, UFastBitmap, UDrawMethod;
     11  ActnList, Menus, StdActns, UFastBitmap, UDrawMethod, typinfo;
    1212
    1313const
     
    1919
    2020  TMainForm = class(TForm)
    21     Action1: TAction;
     21    AShowDrawForm: TAction;
     22    ATestAllMethods: TAction;
     23    ATestOneMethod: TAction;
     24    ATestStop: TAction;
    2225    AExportAsWikiText: TAction;
    2326    ActionList1: TActionList;
     
    2831    CheckBoxDoubleBuffered: TCheckBox;
    2932    CheckBoxEraseBackground: TCheckBox;
     33    ComboBox1: TComboBox;
    3034    FileExit1: TFileExit;
    3135    FloatSpinEdit1: TFloatSpinEdit;
     
    3438    Label3: TLabel;
    3539    Label4: TLabel;
     40    Label5: TLabel;
    3641    ListViewMethods: TListView;
    3742    MainMenu1: TMainMenu;
     
    4045    MenuItem2: TMenuItem;
    4146    MenuItem3: TMenuItem;
     47    MenuItem4: TMenuItem;
     48    MenuItem8: TMenuItem;
     49    MenuItemTest: TMenuItem;
     50    MenuItem5: TMenuItem;
     51    MenuItem6: TMenuItem;
     52    MenuItem7: TMenuItem;
    4253    PageControl1: TPageControl;
    4354    Panel1: TPanel;
     
    5263    TimerUpdateList: TTimer;
    5364    procedure AExportAsWikiTextExecute(Sender: TObject);
    54     procedure ButtonBenchmarkClick(Sender: TObject);
    55     procedure ButtonSingleTestClick(Sender: TObject);
    56     procedure ButtonStopClick(Sender: TObject);
     65    procedure AShowDrawFormExecute(Sender: TObject);
     66    procedure ATestAllMethodsExecute(Sender: TObject);
     67    procedure ATestOneMethodExecute(Sender: TObject);
     68    procedure ATestStopExecute(Sender: TObject);
    5769    procedure CheckBox1Change(Sender: TObject);
    5870    procedure CheckBoxDoubleBufferedChange(Sender: TObject);
    5971    procedure CheckBoxEraseBackgroundChange(Sender: TObject);
     72    procedure ComboBox1Change(Sender: TObject);
    6073    procedure FormCreate(Sender: TObject);
    6174    procedure FormDestroy(Sender: TObject);
     
    8194  public
    8295    FrameSize: TPoint;
     96    PixelFormat: TPixelFormat;
    8397    DrawMethods: TObjectList; // TObjectList<TDrawMethod>
    8498    Scenes: TObjectList; // TObjectList<TFastBitmap>
     
    114128  NewDrawMethod: TDrawMethod;
    115129  I: Integer;
     130  PF: TPixelFormat;
    116131begin
    117132  Scenes := TObjectList.Create;
     
    126141  end;
    127142
     143  for PF := Low(TPixelFormat) to High(TPixelFormat) do
     144    ComboBox1.Items.Add(GetEnumName(TypeInfo(TPixelFormat), Integer(PF)));
     145
    128146  PageControl1.TabIndex := 0;
    129147end;
     
    135153begin
    136154  with Method do begin
    137     Init(DrawForm, FrameSize);
    138     TestTerminated := False;
     155    Init(DrawForm, FrameSize, PixelFormat);
    139156    //Application.ProcessMessages;
    140157    StartTime := NowPrecise;
     
    154171    //FPS := GetFPS;
    155172    Done;
    156   end;
    157 end;
    158 
    159 procedure TMainForm.ButtonSingleTestClick(Sender: TObject);
    160 begin
    161   if Assigned(ListViewMethods.Selected) then
    162   try
    163     SingleTestActive := True;
    164     UpdateInterface;
    165     TimerUpdateList.Enabled := True;
    166     MethodIndex := ListViewMethods.Selected.Index;
    167     TestTimeout := -1;
    168     if MethodIndex >= 0 then
    169       TestMethod(TDrawMethod(DrawMethods[MethodIndex]));
    170   finally
    171     //TimerUpdateList.Enabled := False;
    172     SingleTestActive := False;
    173     UpdateInterface;
    174   end;
    175 end;
    176 
    177 procedure TMainForm.ButtonBenchmarkClick(Sender: TObject);
    178 var
    179   I: Integer;
    180 begin
    181   try
    182     AllTestActive := True;
    183     UpdateInterface;
    184     TimerUpdateList.Enabled := True;
    185     TestTerminated := False;
    186     TestTimeout := FloatSpinEdit1.Value;
    187     with ListViewMethods, Items do
    188     for I := 0 to DrawMethods.Count - 1 do
    189     with TDrawMethod(DrawMethods[I]) do begin
    190       TestMethod(TDrawMethod(DrawMethods[I]));
    191     end;
    192   finally
    193     TimerUpdateList.Enabled := False;
    194     AllTestActive := False;
    195     UpdateInterface;
    196173  end;
    197174end;
     
    225202end;
    226203
    227 procedure TMainForm.ButtonStopClick(Sender: TObject);
     204procedure TMainForm.AShowDrawFormExecute(Sender: TObject);
     205begin
     206  DrawForm.Show;
     207end;
     208
     209procedure TMainForm.ATestAllMethodsExecute(Sender: TObject);
     210var
     211  I: Integer;
     212begin
     213  try
     214    AllTestActive := True;
     215    UpdateInterface;
     216    TimerUpdateList.Enabled := True;
     217    TestTerminated := False;
     218    TestTimeout := FloatSpinEdit1.Value;
     219    with ListViewMethods, Items do
     220    for I := 0 to DrawMethods.Count - 1 do
     221    with TDrawMethod(DrawMethods[I]) do begin
     222      TestMethod(TDrawMethod(DrawMethods[I]));
     223      if TestTerminated then Break;
     224    end;
     225  finally
     226    TimerUpdateList.Enabled := False;
     227    AllTestActive := False;
     228    UpdateInterface;
     229  end;
     230end;
     231
     232procedure TMainForm.ATestOneMethodExecute(Sender: TObject);
     233begin
     234  if Assigned(ListViewMethods.Selected) then
     235  try
     236    SingleTestActive := True;
     237    UpdateInterface;
     238    TimerUpdateList.Enabled := True;
     239    TestTerminated := False;
     240    MethodIndex := ListViewMethods.Selected.Index;
     241    TestTimeout := -1;
     242    if MethodIndex >= 0 then
     243      TestMethod(TDrawMethod(DrawMethods[MethodIndex]));
     244  finally
     245    //TimerUpdateList.Enabled := False;
     246    SingleTestActive := False;
     247    UpdateInterface;
     248  end;
     249end;
     250
     251procedure TMainForm.ATestStopExecute(Sender: TObject);
    228252begin
    229253  TestTerminated := True;
     
    249273end;
    250274
     275procedure TMainForm.ComboBox1Change(Sender: TObject);
     276begin
     277  PixelFormat := TPixelFormat(ComboBox1.ItemIndex);
     278  UpdateInterface;
     279end;
     280
    251281procedure TMainForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
    252282begin
    253   ButtonStopClick(Self);
     283  ATestStop.Execute;
    254284end;
    255285
     
    354384  CheckBoxEraseBackground.Checked := DrawForm.EraseBackgroundEnabled;
    355385  CheckBox1.Checked := csOpaque in DrawForm.ControlStyle;
     386  ComboBox1.ItemIndex := Integer(PixelFormat);
    356387end;
    357388
Note: See TracChangeset for help on using the changeset viewer.