From aee4dc4bb4178e6c151e6ad206bf56d76a89767b Mon Sep 17 00:00:00 2001 From: Mark van Renswoude Date: Wed, 1 Sep 2004 17:41:06 +0000 Subject: [PATCH] Fixed: DrawGraphic failed for X/Y > 0 --- Packages/D6/X2CLGL.dof | 198 ++++++++++++++++++++++--------------- Packages/D6/X2CLGLD.dof | 35 ++++--- Source/X2CLGraphicList.pas | 34 +++++-- Test/GL.dof | 24 +++++ 4 files changed, 196 insertions(+), 95 deletions(-) diff --git a/Packages/D6/X2CLGL.dof b/Packages/D6/X2CLGL.dof index e910286..8c66008 100644 --- a/Packages/D6/X2CLGL.dof +++ b/Packages/D6/X2CLGL.dof @@ -81,84 +81,126 @@ OriginalFilename= ProductName= ProductVersion=1.0.0.0 Comments= -[Excluded Packages] -c:\delphi6\Projects\Bpl\PNGImage_D6.bpl=PNGImage -c:\delphi6\Bin\dcl31w60.bpl=Delphi 1.0 Compatibility Components -c:\delphi6\Bin\dclact60.bpl=Borland ActionBar Components -c:\delphi6\Bin\applet60.bpl=Borland Control Panel Applet Package -C:\Delphi6\Bin\dbx60.bpl=Borland SQL Explorer UI Package -C:\Delphi6\Projects\Bpl\tb2k_d6.bpl=Toolbar2000 Components (Jordan Russell) -c:\delphi6\Projects\Bpl\tb2kdsgn_d6.bpl=Toolbar2000 Design Package (Jordan Russell) -c:\delphi6\Bin\DCLNMF60.bpl=NetMasters Fastnet Tools -c:\delphi6\Bin\dclado60.bpl=Borland ADO DB Components -c:\delphi6\Bin\dclclxdb60.bpl=Borland CLX Database Components -C:\Delphi6\Bin\dclclxstd60.bpl=Borland CLX Standard Components -c:\delphi6\Bin\dclie60.bpl=Internet Explorer Components -C:\Delphi6\Projects\Bpl\aSQLitepkg.bpl=Aducom Software -- SQLite RunTime Components -c:\delphi6\Projects\Bpl\asqlite.bpl=Aducom Software -- SQLite Design Time Components -c:\delphi6\Projects\Bpl\PCtrlExd6.bpl=PageControlEx -c:\delphi6\Projects\Bpl\JvCoreD6D.bpl=JVCL Core Components -c:\delphi6\Projects\Bpl\JvSystemD6D.bpl=JVCL System Components -c:\delphi6\Projects\Bpl\JvStdCtrlsD6D.bpl=JVCL Standard Controls -c:\delphi6\Projects\Bpl\JvCtrlsD6D.bpl=JVCL Visual Controls -c:\delphi6\Projects\Bpl\JvCmpD6D.bpl=JVCL Non-Visual Components -c:\delphi6\Projects\Bpl\JvCustomD6D.bpl=JVCL Custom Controls -c:\delphi6\Projects\Bpl\JvDlgsD6D.bpl=JVCL Dialog Components -c:\delphi6\Projects\Bpl\JvCryptD6D.bpl=JVCL Encryption and Compression Components -c:\delphi6\Projects\Bpl\JvMMD6D.bpl=JVCL Multimedia and Image Components -c:\delphi6\Projects\Bpl\JvNetD6D.bpl=JVCL Network Components -c:\delphi6\Projects\Bpl\JvAppFrmD6D.bpl=JVCL Application and Form Components -c:\delphi6\Projects\Bpl\JvDBD6D.bpl=JVCL Database Components -c:\delphi6\Projects\Bpl\JvBDED6D.bpl=JVCL BDE Components -c:\delphi6\Projects\Bpl\JvInterpreterD6D.bpl=JVCL Interpreter Components -c:\delphi6\Projects\Bpl\JvBandsD6D.bpl=JVCL Band Objects -c:\delphi6\Projects\Bpl\JvPluginD6D.bpl=JVCL Plugin Components -c:\delphi6\Projects\Bpl\JvJansD6D.bpl=JVCL Jans Components -c:\delphi6\Projects\Bpl\JvGlobusD6D.bpl=JVCL Globus Components -c:\delphi6\Projects\Bpl\JvPrintPreviewD6D.bpl=JVCL Print Preview Components -c:\delphi6\Projects\Bpl\JvPageCompsD6D.bpl=JVCL Page Style Components -c:\delphi6\Projects\Bpl\JvValidatorsD6D.bpl=JVCL Validators and Error Provider Components -c:\delphi6\Projects\Bpl\JvUIBD6D.bpl=JVCL Unified Interbase Components -c:\delphi6\Projects\Bpl\JvWizardD6D.bpl=JVCL Wizard Design Time Package -c:\delphi6\Projects\Bpl\JvTimeFrameworkD6D.bpl=JVCL Time Framework -c:\delphi6\Projects\Bpl\JvHMID6D.bpl=JVCL HMI Controls design time unit -c:\delphi6\Projects\Bpl\JvManagedThreadsD6D.bpl=JVCL Managed Threads -c:\delphi6\Projects\Bpl\JvXPCtrlsD6D.bpl=JVCL XP Controls -c:\delphi6\Projects\Bpl\JvDockingD6D.bpl=JVCL Docking Components -c:\delphi6\Projects\Bpl\JvDotNetCtrlsD6D.bpl=JVCL DotNet Controls -c:\delphi6\Projects\Bpl\dclIndyCore60.bpl=Indy 10 Core Design Time -c:\delphi6\Projects\Bpl\dclIndyProtocols60.bpl=Indy 10 Protocols Design Time -c:\delphi6\Projects\Bpl\SysILS.bpl=System ImageList -c:\delphi6\Projects\Bpl\DragDropD6.bpl=Drag and Drop Component Suite -C:\Projects\Components\DevExpress\OrgChart Suite\Lib\dcldxOrgCD6.bpl=ExpressOrgChart by Developer Express Inc. -C:\Projects\Components\DevExpress\OrgChart Suite\Lib\dcldxDBOrD6.bpl=ExpressDBOrgChart by Developer Express Inc. -c:\delphi6\Projects\Bpl\BalloonD6.bpl=Balloon 2.0 -c:\delphi6\Projects\Bpl\DIPasDocD6.bpl=DiPasDoc - Designtime -C:\Delphi6\Projects\Bpl\DIContainers_D6.bpl=The Delphi Inspiration -- DIContainers -c:\delphi6\Bin\dclshlctrls60.bpl=Shell Control Property and Component Editors -c:\delphi6\Bin\dclsmp60.bpl=Borland Sample Components -c:\delphi6\Bin\dclbde60.bpl=Borland BDE DB Components -c:\delphi6\Bin\dclcds60.bpl=Borland Base Cached ClientDataset Component -C:\Delphi6\Bin\dclmid60.bpl=Borland MyBase DataAccess Components -c:\delphi6\Bin\dclbdecds60.bpl=Borland Local BDE ClientDataset Components -c:\delphi6\Bin\dclib60.bpl=InterBase Data Access Components -c:\delphi6\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package -c:\delphi6\Bin\dcloffice2k60.bpl=Microsoft Office 2000 Sample Automation Server Wrapper Components -c:\delphi6\Bin\dcltee60.bpl=TeeChart Components -c:\delphi6\Bin\dcltqr60.bpl=TeeChart for QuickReport Components -c:\delphi6\Bin\dclnet60.bpl=Borland Internet Components -c:\delphi6\Bin\dclite60.bpl=Borland Integrated Translation Environment -c:\delphi6\Bin\dcldbx60.bpl=Borland dbExpress Components -c:\delphi6\Bin\dclsoap60.bpl=Borland SOAP Components -c:\delphi6\Bin\dclocx60.bpl=Borland Sample Imported ActiveX Controls -c:\delphi6\Bin\dcldbxcds60.bpl=Borland Local DBX ClientDataset Components -C:\Program Files\madCollection\madRemote\Delphi 6\madRemote_.bpl=madRemote 1.1b · www.madshi.net -C:\Program Files\madCollection\madKernel\Delphi 6\madKernel_.bpl=madKernel 1.3 · www.madshi.net -C:\Program Files\madCollection\madCodeHook\Delphi 6\madCodeHook_.bpl=madCodeHook 2.1b · www.madshi.net -C:\Program Files\madCollection\madSecurity\Delphi 6\madSecurity_.bpl=madSecurity 1.1n · www.madshi.net -C:\Program Files\madCollection\madShell\Delphi 6\madShell_.bpl=madShell 1.3k · www.madshi.net -C:\WINDOWS\System32\ibevnt60.bpl=Borland Interbase Event Alerter Component -c:\delphi6\Projects\Bpl\PsychoTidyD6.bpl=PsychoTidy IDE Expert [HistoryLists\hlUnitAliases] Count=1 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +[Excluded Packages] +C:\Program Files\Borland\Delphi6\Bin\dcldb60.bpl=Borland Database Components +c:\program files\borland\delphi6\Projects\Bpl\VirtualTreesD6D.bpl=Virtual Treeview +C:\Program Files\Borland\Delphi6\Bin\dclact60.bpl=Borland ActionBar Components +c:\program files\borland\delphi6\Bin\dclcds60.bpl=Borland Base Cached ClientDataset Component +C:\Program Files\Borland\Delphi6\Bin\dclmid60.bpl=Borland MyBase DataAccess Components +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\JvCoreD6D.bpl=JVCL Core Components +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\JvStdCtrlsD6D.bpl=JVCL Standard Controls +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvCtrlsD6D.bpl=JVCL Visual Controls +c:\program files\borland\delphi6\Projects\Bpl\dclIndyCore60.bpl=Indy 10 Core Design Time +c:\program files\borland\delphi6\Projects\Bpl\dclIndyProtocols60.bpl=Indy 10 Protocols Design Time +c:\program files\borland\delphi6\Projects\Bpl\BalloonD6.bpl=Balloon 2.0 +c:\program files\borland\delphi6\Projects\Bpl\SysILS.bpl=(untitled) +c:\program files\borland\delphi6\Projects\Bpl\DragDropD6.bpl=Drag and Drop Component Suite +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvCustomD6D.bpl=JVCL Custom Controls +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvWizardD6D.bpl=JVCL Wizard Design Time Package +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\GR32_D6.bpl=Graphics32 +c:\program files\borland\delphi6\Projects\Bpl\GR32_DSGN_D6.bpl=Graphics32 Design Time Package +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\PNGImage_D6.bpl=PNGImage +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tbx_d6.bpl=Toolbar2000 -- TBX Extensions (Alex Denisov) +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tb2k_d6.bpl=Toolbar2000 Components (Jordan Russell) +c:\program files\borland\delphi6\Projects\Bpl\tbxdsgn_d6.bpl=Toolbar2000 -- TBX Extensions Design Package (Alex Denisov) +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tb2kdsgn_d6.bpl=Toolbar2000 Design Package (Jordan Russell) +c:\program files\borland\delphi6\Bin\applet60.bpl=Borland Control Panel Applet Package +F:\Delphi\Components\DevExpress\OrgChart Suite\Lib\dcldxOrgCD6.bpl=ExpressOrgChart by Developer Express Inc. +F:\Delphi\Components\DevExpress\OrgChart Suite\Lib\dcldxDBOrD6.bpl=ExpressDBOrgChart by Developer Express Inc. +c:\program files\borland\delphi6\Projects\Bpl\TntUnicodeVcl_D60.bpl=Tnt Unicode Controls +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvJansD6D.bpl=JVCL Jans Components +c:\program files\borland\delphi6\Projects\Bpl\P164_D60.bpl=TurboPower OfficePartner 1.64 Design-time package - VCL60 +c:\program files\borland\delphi6\Projects\Bpl\v103_d60.bpl=TurboPower VisualPlanIt 1.03 designtime package - VCL60 +c:\program files\borland\delphi6\Bin\dclsoap60.bpl=Borland SOAP Components +c:\program files\borland\delphi6\Projects\Bpl\ColorPickerButtonD6.bpl=ColorPickerButton +C:\Program Files\Borland\Delphi6\Projects\Bpl\ThreadNameExpert60.bpl=JCL Thread Name IDE expert for Delphi 6 +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvDlgsD6D.bpl=JVCL Dialog Components +c:\program files\borland\delphi6\Projects\Bpl\asqlite.bpl=Aducom Software -- SQLite Design Time Components +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\aSQLitepkg.bpl=Aducom Software -- SQLite RunTime Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvAppFrmD6D.bpl=JVCL Application and Form Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvBandsD6D.bpl=JVCL Band Objects +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvCmpD6D.bpl=JVCL Non-Visual Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvCryptD6D.bpl=JVCL Encryption and Compression Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvDockingD6D.bpl=JVCL Docking Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvDotNetCtrlsD6D.bpl=JVCL DotNet Controls +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvGlobusD6D.bpl=JVCL Globus Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvHMID6D.bpl=JVCL HMI Controls design time unit +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvInterpreterD6D.bpl=JVCL Interpreter Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvManagedThreadsD6D.bpl=JVCL Managed Threads +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvMMD6D.bpl=JVCL Multimedia and Image Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvNetD6D.bpl=JVCL Network Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvPageCompsD6D.bpl=JVCL Page Style Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvPluginD6D.bpl=JVCL Plugin Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvPrintPreviewD6D.bpl=JVCL Print Preview Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvSystemD6D.bpl=JVCL System Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvTimeFrameworkD6D.bpl=JVCL Time Framework +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvValidatorsD6D.bpl=JVCL Validators and Error Provider Components +C:\Program Files\Borland\Delphi6\Projects\Bpl\JvXPCtrlsD6D.bpl=JVCL XP Controls +c:\program files\borland\delphi6\Projects\Bpl\GJLSoftwareD5.bpl=GJL Software ExDBGrid Components +c:\program files\borland\delphi6\Projects\Bpl\FREEREP6.bpl=FreeReport 2.32 Components +c:\program files\borland\delphi6\Projects\Bpl\PageControlExD6.bpl=PageControlEx +c:\program files\borland\delphi6\Projects\Bpl\ZCore.bpl=Zeos Core Classes and Intefaces +c:\program files\borland\delphi6\Projects\Bpl\ZParse.bpl=Zeos Parsing Classes and Intefaces +c:\program files\borland\delphi6\Projects\Bpl\ZParseSql.bpl=Zeos SQL Parsing Classes and Intefaces +c:\program files\borland\delphi6\Projects\Bpl\ZPlain.bpl=Zeos Plain Database API +c:\program files\borland\delphi6\Projects\Bpl\ZDbc.bpl=Zeos Low Level Database API +c:\program files\borland\delphi6\Projects\Bpl\ZComponent.bpl=Zeos Database Components +c:\program files\borland\delphi6\Projects\Bpl\IconXPD6.bpl=IconXP +c:\program files\borland\delphi6\Projects\Bpl\NLDVDBT_D6D.bpl=NLDVirtualDBTree +c:\program files\borland\delphi6\Projects\Bpl\ff2_d60.bpl=TurboPower FlashFiler Designtime Package - VCL60 +c:\program files\borland\delphi6\Projects\Bpl\SynEdit_D6.bpl=SynEdit component suite +c:\program files\borland\delphi6\Projects\Bpl\DelphiX_for5.bpl=DelphiX - DirectX components for Delphi +c:\program files\borland\delphi6\Projects\Bpl\NLDMBD6D.bpl=NLDMessageBox +c:\program files\borland\delphi6\Bin\dcl31w60.bpl=Delphi 1.0 Compatibility Components +c:\program files\borland\delphi6\Projects\Bpl\NLDTrayIconD6.bpl=NLDTrayIcon donated by SVG_1986 +c:\program files\borland\delphi6\Projects\Bpl\ServerListD6D.bpl=SOF2Manager - Server List Designtime +F:\Delphi\Components\madCollection\madBasic\Delphi 6\madHelp_.bpl=madHelp 1.1 · www.madshi.net +F:\Delphi\Components\madCollection\madRemote\Delphi 6\madRemote_.bpl=madRemote 1.1a · www.madshi.net +F:\Delphi\Components\madCollection\madKernel\Delphi 6\madKernel_.bpl=madKernel 1.2z · www.madshi.net +F:\Delphi\Components\madCollection\madCodeHook\Delphi 6\madCodeHook_.bpl=madCodeHook 2.0a · www.madshi.net +F:\Delphi\Components\madCollection\madSecurity\Delphi 6\madSecurity_.bpl=madSecurity 1.1n · www.madshi.net +F:\Delphi\Components\madCollection\madShell\Delphi 6\madShell_.bpl=madShell 1.3i · www.madshi.net +c:\program files\borland\delphi6\Projects\Bpl\BMSpinEditD6.bpl=BMSpinEdit +c:\program files\borland\delphi6\Projects\Bpl\GLScene6.bpl=GLScene - OpenGL 3D library +c:\program files\borland\delphi6\Bin\dclsmp60.bpl=Borland Sample Components +c:\program files\borland\delphi6\Projects\Bpl\X2MultiMon_D6D.bpl=X2MultiMon Designtime Package +F:\Delphi\Components\ZipForge\Lib\Delphi 6\dclZipForged6.bpl=ZipForge Package +c:\program files\borland\delphi6\Bin\dclado60.bpl=Borland ADO DB Components +c:\program files\borland\delphi6\Bin\dclbde60.bpl=Borland BDE DB Components +C:\Program Files\Borland\Delphi6\Bin\dbx60.bpl=Borland SQL Explorer UI Package +c:\program files\borland\delphi6\Bin\DCLIB60.bpl=InterBase Data Access Components +c:\program files\borland\delphi6\Bin\dclbdecds60.bpl=Borland Local BDE ClientDataset Components +c:\program files\borland\delphi6\Bin\dclqrt60.bpl=QuickReport Components +c:\program files\borland\delphi6\Bin\dcltee60.bpl=TeeChart Components +c:\program files\borland\delphi6\Bin\dcldss60.bpl=Borland Decision Cube Components +c:\program files\borland\delphi6\Bin\dcltqr60.bpl=TeeChart for QuickReport Components +c:\program files\borland\delphi6\Bin\dclclxdb60.bpl=Borland CLX Database Components +C:\Program Files\Borland\Delphi6\Bin\dclclxstd60.bpl=Borland CLX Standard Components +c:\program files\borland\delphi6\Bin\dclmcn60.bpl=Borland DataSnap Connection Components +c:\program files\borland\delphi6\Bin\dclshlctrls60.bpl=Shell Control Property and Component Editors +c:\program files\borland\delphi6\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package +c:\program files\borland\delphi6\Bin\dclwbm60.bpl=Borland InternetExpress Components +c:\program files\borland\delphi6\Bin\dclie60.bpl=Internet Explorer Components +c:\program files\borland\delphi6\Bin\dclwebsnap60.bpl=Borland WebSnap Components +c:\program files\borland\delphi6\Bin\dclite60.bpl=Borland Integrated Translation Environment +c:\program files\borland\delphi6\Bin\dcldbx60.bpl=Borland dbExpress Components +c:\program files\borland\delphi6\Bin\dcldbxcds60.bpl=Borland Local DBX ClientDataset Components +H:\Downloads\commentexpert.bpl=Comment Expert v1.0 Alpha +c:\program files\borland\delphi6\Projects\Bpl\dclIndy60.bpl=Internet Direct (Indy) for D6 Property and Component Editors +C:\WINDOWS\System32\ibevnt60.bpl=Borland Interbase Event Alerter Component +c:\program files\borland\delphi6\Projects\Bpl\PngComponentsDesigntime.bpl=Png components designtime +[Included Packages] +C:\Program Files\Borland\Delphi6\Bin\dclstd60.bpl=Borland Standard Components +F:\Delphi\Components\madCollection\madBasic\Delphi 6\madBasic_.bpl=madBasic 1.1f · www.madshi.net +F:\Delphi\Components\madCollection\madDisAsm\Delphi 6\madDisAsm_.bpl=madDisAsm 2.0a · www.madshi.net +F:\Delphi\Components\madCollection\madExcept\Delphi 6\madExcept_.bpl=madExcept 2.6a · www.madshi.net +F:\Delphi\Components\madCollection\madExcept\Delphi 6\madExceptWizard_.bpl=madExceptWizard 2.6 · www.madshi.net +c:\program files\borland\delphi6\Bin\dclsmpedit60.bpl=Borland Editor Script Enhancements +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\ThemeManager6.bpl=Windows XP Theme Manager +c:\program files\borland\delphi6\Projects\Bpl\X2CLGLD.bpl=X²CL GraphicList (Designtime) +c:\program files\borland\delphi6\Bin\dclnet60.bpl=Borland Internet Components +F:\Delphi\Components\madCollection\madExcept\Delphi 6\madExceptIde_.bpl=madExceptIde 1.0b · www.madshi.net +c:\program files\borland\delphi6\Bin\dclemacsedit60.bpl=Borland Editor Emacs Enhancements diff --git a/Packages/D6/X2CLGLD.dof b/Packages/D6/X2CLGLD.dof index ccc75eb..7ae5920 100644 --- a/Packages/D6/X2CLGLD.dof +++ b/Packages/D6/X2CLGLD.dof @@ -85,6 +85,9 @@ OriginalFilename= ProductName= ProductVersion=1.0.0.0 Comments= +[HistoryLists\hlUnitAliases] +Count=1 +Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [Excluded Packages] C:\Program Files\Borland\Delphi6\Bin\dcldb60.bpl=Borland Database Components c:\program files\borland\delphi6\Projects\Bpl\VirtualTreesD6D.bpl=Virtual Treeview @@ -93,14 +96,6 @@ c:\program files\borland\delphi6\Bin\dclcds60.bpl=Borland Base Cached ClientData C:\Program Files\Borland\Delphi6\Bin\dclmid60.bpl=Borland MyBase DataAccess Components C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\JvCoreD6D.bpl=JVCL Core Components C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\JvStdCtrlsD6D.bpl=JVCL Standard Controls -C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tbx_d6.bpl=Toolbar2000 -- TBX Extensions (Alex Denisov) -C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tb2k_d6.bpl=Toolbar2000 Components (Jordan Russell) -c:\program files\borland\delphi6\Projects\Bpl\tbxdsgn_d6.bpl=Toolbar2000 -- TBX Extensions Design Package (Alex Denisov) -C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tb2kdsgn_d6.bpl=Toolbar2000 Design Package (Jordan Russell) -c:\program files\borland\delphi6\Bin\applet60.bpl=Borland Control Panel Applet Package -F:\Delphi\Components\DevExpress\OrgChart Suite\Lib\dcldxOrgCD6.bpl=ExpressOrgChart by Developer Express Inc. -F:\Delphi\Components\DevExpress\OrgChart Suite\Lib\dcldxDBOrD6.bpl=ExpressDBOrgChart by Developer Express Inc. -C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\PNGImage_D6.bpl=PNGImage C:\Program Files\Borland\Delphi6\Projects\Bpl\JvCtrlsD6D.bpl=JVCL Visual Controls c:\program files\borland\delphi6\Projects\Bpl\dclIndyCore60.bpl=Indy 10 Core Design Time c:\program files\borland\delphi6\Projects\Bpl\dclIndyProtocols60.bpl=Indy 10 Protocols Design Time @@ -111,6 +106,14 @@ C:\Program Files\Borland\Delphi6\Projects\Bpl\JvCustomD6D.bpl=JVCL Custom Contro C:\Program Files\Borland\Delphi6\Projects\Bpl\JvWizardD6D.bpl=JVCL Wizard Design Time Package C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\GR32_D6.bpl=Graphics32 c:\program files\borland\delphi6\Projects\Bpl\GR32_DSGN_D6.bpl=Graphics32 Design Time Package +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\PNGImage_D6.bpl=PNGImage +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tbx_d6.bpl=Toolbar2000 -- TBX Extensions (Alex Denisov) +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tb2k_d6.bpl=Toolbar2000 Components (Jordan Russell) +c:\program files\borland\delphi6\Projects\Bpl\tbxdsgn_d6.bpl=Toolbar2000 -- TBX Extensions Design Package (Alex Denisov) +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tb2kdsgn_d6.bpl=Toolbar2000 Design Package (Jordan Russell) +c:\program files\borland\delphi6\Bin\applet60.bpl=Borland Control Panel Applet Package +F:\Delphi\Components\DevExpress\OrgChart Suite\Lib\dcldxOrgCD6.bpl=ExpressOrgChart by Developer Express Inc. +F:\Delphi\Components\DevExpress\OrgChart Suite\Lib\dcldxDBOrD6.bpl=ExpressDBOrgChart by Developer Express Inc. c:\program files\borland\delphi6\Projects\Bpl\TntUnicodeVcl_D60.bpl=Tnt Unicode Controls C:\Program Files\Borland\Delphi6\Projects\Bpl\JvJansD6D.bpl=JVCL Jans Components c:\program files\borland\delphi6\Projects\Bpl\P164_D60.bpl=TurboPower OfficePartner 1.64 Design-time package - VCL60 @@ -192,6 +195,16 @@ c:\program files\borland\delphi6\Bin\dcldbxcds60.bpl=Borland Local DBX ClientDat H:\Downloads\commentexpert.bpl=Comment Expert v1.0 Alpha c:\program files\borland\delphi6\Projects\Bpl\dclIndy60.bpl=Internet Direct (Indy) for D6 Property and Component Editors C:\WINDOWS\System32\ibevnt60.bpl=Borland Interbase Event Alerter Component -[HistoryLists\hlUnitAliases] -Count=1 -Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +c:\program files\borland\delphi6\Projects\Bpl\PngComponentsDesigntime.bpl=Png components designtime +[Included Packages] +C:\Program Files\Borland\Delphi6\Bin\dclstd60.bpl=Borland Standard Components +F:\Delphi\Components\madCollection\madBasic\Delphi 6\madBasic_.bpl=madBasic 1.1f · www.madshi.net +F:\Delphi\Components\madCollection\madDisAsm\Delphi 6\madDisAsm_.bpl=madDisAsm 2.0a · www.madshi.net +F:\Delphi\Components\madCollection\madExcept\Delphi 6\madExcept_.bpl=madExcept 2.6a · www.madshi.net +F:\Delphi\Components\madCollection\madExcept\Delphi 6\madExceptWizard_.bpl=madExceptWizard 2.6 · www.madshi.net +c:\program files\borland\delphi6\Bin\dclsmpedit60.bpl=Borland Editor Script Enhancements +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\ThemeManager6.bpl=Windows XP Theme Manager +c:\program files\borland\delphi6\Projects\Bpl\X2CLGLD.bpl=X²CL GraphicList (Designtime) +c:\program files\borland\delphi6\Bin\dclnet60.bpl=Borland Internet Components +F:\Delphi\Components\madCollection\madExcept\Delphi 6\madExceptIde_.bpl=madExceptIde 1.0b · www.madshi.net +c:\program files\borland\delphi6\Bin\dclemacsedit60.bpl=Borland Editor Emacs Enhancements diff --git a/Source/X2CLGraphicList.pas b/Source/X2CLGraphicList.pas index 9c22af1..bea085e 100644 --- a/Source/X2CLGraphicList.pas +++ b/Source/X2CLGraphicList.pas @@ -32,14 +32,18 @@ type } TX2GraphicCollectionItem = class(TCollectionItem, IChangeNotifier) private + FName: String; FPicture: TPicture; procedure SetPicture(const Value: TPicture); + procedure SetName(const Value: String); protected function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall; function _AddRef(): Integer; stdcall; function _Release(): Integer; stdcall; + function GetDisplayName(): String; override; + procedure NotifierChanged(); procedure IChangeNotifier.Changed = NotifierChanged; public @@ -48,6 +52,7 @@ type procedure AssignTo(Dest: TPersistent); override; published + property Name: String read FName write SetName; property Picture: TPicture read FPicture write SetPicture; end; @@ -217,11 +222,26 @@ begin end; +function TX2GraphicCollectionItem.GetDisplayName; +begin + if Length(FName) > 0 then + Result := FName + else + Result := inherited GetDisplayName(); +end; + + procedure TX2GraphicCollectionItem.NotifierChanged; begin Changed(False); end; +procedure TX2GraphicCollectionItem.SetName; +begin + FName := Value; + Changed(False); +end; + procedure TX2GraphicCollectionItem.SetPicture; begin FPicture.Assign(Value); @@ -427,7 +447,8 @@ end; Graphics ========================================} function TX2GraphicList.DrawGraphic; - procedure InternalDrawGraphic(const ADest: TCanvas); + procedure InternalDrawGraphic(const ADest: TCanvas; + const ADestX, ADestY: Integer); var bmpTemp: TBitmap; iHeight: Integer; @@ -438,7 +459,7 @@ function TX2GraphicList.DrawGraphic; begin with FContainer.Graphics[AIndex].Picture do if (Width <= Self.Width) and (Height <= Self.Height) then - ADest.Draw(AX, AY, Graphic) + ADest.Draw(ADestX, ADestY, Graphic) else begin iWidth := Width; @@ -450,7 +471,8 @@ function TX2GraphicList.DrawGraphic; if iHeight > Self.Height then iHeight := Self.Height; - rDest := Rect(AX, AY, AX + iWidth, AY + iHeight); + rDest := Rect(ADestX, ADestY, + ADestX + iWidth, ADestY + iHeight); rSource := Rect(0, 0, iWidth, iHeight); case FStretchMode of @@ -502,7 +524,7 @@ begin if AEnabled then // Enabled, simply draw the graphic - InternalDrawGraphic(ACanvas) + InternalDrawGraphic(ACanvas, AX, AY) else begin // Disabled, need to draw the image using 50% transparency. There's only @@ -524,14 +546,14 @@ begin end; bmpBlend.Assign(bmpBackground); - InternalDrawGraphic(bmpBlend.Canvas); + InternalDrawGraphic(bmpBlend.Canvas, 0, 0); // Blend graphic with background at 50% for iY := 0 to bmpBackground.Height - 1 do begin pBackground := bmpBackground.ScanLine[iY]; pBlend := bmpBlend.ScanLine[iY]; - + for iX := 0 to bmpBackground.Width - 1 do with pBlend^[iX] do begin diff --git a/Test/GL.dof b/Test/GL.dof index 370e627..410c3cd 100644 --- a/Test/GL.dof +++ b/Test/GL.dof @@ -166,3 +166,27 @@ c:\delphi6\Projects\Bpl\PsychoTidyD6.bpl=PsychoTidy IDE Expert [HistoryLists\hlUnitAliases] Count=1 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +[Included Packages] +C:\Program Files\Borland\Delphi6\Bin\dclstd60.bpl=Borland Standard Components +F:\Delphi\Components\madCollection\madBasic\Delphi 6\madBasic_.bpl=madBasic 1.1f · www.madshi.net +F:\Delphi\Components\madCollection\madDisAsm\Delphi 6\madDisAsm_.bpl=madDisAsm 2.0a · www.madshi.net +F:\Delphi\Components\madCollection\madExcept\Delphi 6\madExcept_.bpl=madExcept 2.6a · www.madshi.net +F:\Delphi\Components\madCollection\madExcept\Delphi 6\madExceptWizard_.bpl=madExceptWizard 2.6 · www.madshi.net +c:\program files\borland\delphi6\Bin\dclsmpedit60.bpl=Borland Editor Script Enhancements +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\ThemeManager6.bpl=Windows XP Theme Manager +c:\program files\borland\delphi6\Projects\Bpl\X2CLGLD.bpl=X²CL GraphicList (Designtime) +C:\Program Files\Borland\Delphi6\Bin\dcldb60.bpl=Borland Database Components +c:\program files\borland\delphi6\Projects\Bpl\VirtualTreesD6D.bpl=Virtual Treeview +C:\Program Files\Borland\Delphi6\Bin\dclact60.bpl=Borland ActionBar Components +c:\program files\borland\delphi6\Bin\dclcds60.bpl=Borland Base Cached ClientDataset Component +C:\Program Files\Borland\Delphi6\Bin\dclmid60.bpl=Borland MyBase DataAccess Components +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\JvCoreD6D.bpl=JVCL Core Components +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\JvStdCtrlsD6D.bpl=JVCL Standard Controls +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\PNGImage_D6.bpl=PNGImage +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tbx_d6.bpl=Toolbar2000 -- TBX Extensions (Alex Denisov) +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tb2k_d6.bpl=Toolbar2000 Components (Jordan Russell) +c:\program files\borland\delphi6\Projects\Bpl\tbxdsgn_d6.bpl=Toolbar2000 -- TBX Extensions Design Package (Alex Denisov) +C:\PROGRA~1\Borland\Delphi6\Projects\Bpl\tb2kdsgn_d6.bpl=Toolbar2000 Design Package (Jordan Russell) +c:\program files\borland\delphi6\Bin\applet60.bpl=Borland Control Panel Applet Package +F:\Delphi\Components\DevExpress\OrgChart Suite\Lib\dcldxOrgCD6.bpl=ExpressOrgChart by Developer Express Inc. +F:\Delphi\Components\DevExpress\OrgChart Suite\Lib\dcldxDBOrD6.bpl=ExpressDBOrgChart by Developer Express Inc.