- Added GTK2 support to UGUIPlatformUtils.pas

- Fixed compilation of the ImagingLib with newer Lazarus versions
- Renamed TInvalidConfigVersionExeption to TInvalidConfigException
- Cleanup in ULandscape.pas
- Removed widgetset and platform constraints from the project file
This commit is contained in:
Andreas Schneider 2008-08-09 19:38:09 +02:00
parent 5b4ea92bb1
commit 2409b861e3
9 changed files with 258 additions and 336 deletions

View File

@ -25,19 +25,19 @@
</RunParams> </RunParams>
<RequiredPackages Count="4"> <RequiredPackages Count="4">
<Item1> <Item1>
<PackageName Value="virtualtreeview_package"/>
<MinVersion Major="4" Minor="5" Release="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="lnetvisual"/>
<MinVersion Minor="5" Release="3" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
<Item4>
<PackageName Value="LazOpenGLContext"/> <PackageName Value="LazOpenGLContext"/>
<MinVersion Valid="True"/> <MinVersion Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
<Item3>
<PackageName Value="lnetvisual"/>
<MinVersion Minor="5" Release="3" Valid="True"/>
</Item3>
<Item4>
<PackageName Value="virtualtreeview_package"/>
<MinVersion Major="4" Minor="5" Release="1" Valid="True"/>
</Item4> </Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="24"> <Units Count="24">
@ -50,6 +50,7 @@
<Filename Value="UfrmMain.pas"/> <Filename Value="UfrmMain.pas"/>
<ComponentName Value="frmMain"/> <ComponentName Value="frmMain"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="UfrmMain.lrs"/> <ResourceFilename Value="UfrmMain.lrs"/>
<UnitName Value="UfrmMain"/> <UnitName Value="UfrmMain"/>
</Unit1> </Unit1>
@ -57,6 +58,7 @@
<Filename Value="UdmNetwork.pas"/> <Filename Value="UdmNetwork.pas"/>
<ComponentName Value="dmNetwork"/> <ComponentName Value="dmNetwork"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ResourceBaseClass Value="DataModule"/>
<ResourceFilename Value="UdmNetwork.lrs"/> <ResourceFilename Value="UdmNetwork.lrs"/>
<UnitName Value="UdmNetwork"/> <UnitName Value="UdmNetwork"/>
</Unit2> </Unit2>
@ -64,6 +66,7 @@
<Filename Value="UfrmLogin.pas"/> <Filename Value="UfrmLogin.pas"/>
<ComponentName Value="frmLogin"/> <ComponentName Value="frmLogin"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="UfrmLogin.lrs"/> <ResourceFilename Value="UfrmLogin.lrs"/>
<UnitName Value="UfrmLogin"/> <UnitName Value="UfrmLogin"/>
</Unit3> </Unit3>
@ -142,6 +145,7 @@
<Filename Value="UfrmAbout.pas"/> <Filename Value="UfrmAbout.pas"/>
<ComponentName Value="frmAbout"/> <ComponentName Value="frmAbout"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="UfrmAbout.lrs"/> <ResourceFilename Value="UfrmAbout.lrs"/>
<UnitName Value="UfrmAbout"/> <UnitName Value="UfrmAbout"/>
</Unit15> </Unit15>
@ -149,6 +153,7 @@
<Filename Value="Tools/UfrmHueSettings.pas"/> <Filename Value="Tools/UfrmHueSettings.pas"/>
<ComponentName Value="frmHueSettings"/> <ComponentName Value="frmHueSettings"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="Tools/UfrmHueSettings.lrs"/> <ResourceFilename Value="Tools/UfrmHueSettings.lrs"/>
<UnitName Value="UfrmHueSettings"/> <UnitName Value="UfrmHueSettings"/>
</Unit16> </Unit16>
@ -163,6 +168,7 @@
<Filename Value="UfrmLargeScaleCommand.pas"/> <Filename Value="UfrmLargeScaleCommand.pas"/>
<ComponentName Value="frmLargeScaleCommand"/> <ComponentName Value="frmLargeScaleCommand"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="UfrmLargeScaleCommand.lrs"/> <ResourceFilename Value="UfrmLargeScaleCommand.lrs"/>
<UnitName Value="UfrmLargeScaleCommand"/> <UnitName Value="UfrmLargeScaleCommand"/>
</Unit18> </Unit18>
@ -177,6 +183,7 @@
<Filename Value="Tools/UfrmFilter.pas"/> <Filename Value="Tools/UfrmFilter.pas"/>
<ComponentName Value="frmFilter"/> <ComponentName Value="frmFilter"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="Tools/UfrmFilter.lrs"/> <ResourceFilename Value="Tools/UfrmFilter.lrs"/>
<UnitName Value="UfrmFilter"/> <UnitName Value="UfrmFilter"/>
</Unit20> </Unit20>
@ -208,7 +215,6 @@
<IncludeFiles Value="../Imaging/;../"/> <IncludeFiles Value="../Imaging/;../"/>
<OtherUnitFiles Value="../;../UOLib/;../MulProvider/;../Imaging/;../Imaging/JpegLib/;../Imaging/ZLib/;Tools/"/> <OtherUnitFiles Value="../;../UOLib/;../MulProvider/;../Imaging/;../Imaging/JpegLib/;../Imaging/ZLib/;Tools/"/>
<UnitOutputDirectory Value="../obj/$(TargetCPU)-$(TargetOS)-$(LCLWidgetType)"/> <UnitOutputDirectory Value="../obj/$(TargetCPU)-$(TargetOS)-$(LCLWidgetType)"/>
<LCLWidgetType Value="gtk"/>
<SrcPath Value="$(LazarusDir)/lcl/;$(LazarusDir)/lcl/interfaces/$(LCLWidgetType)/;../;../UOLib/;../MulProvider/;../Imaging/;../Imaging/JpegLib/;../Imaging/ZLib/;Tools/"/> <SrcPath Value="$(LazarusDir)/lcl/;$(LazarusDir)/lcl/interfaces/$(LCLWidgetType)/;../;../UOLib/;../MulProvider/;../Imaging/;../Imaging/JpegLib/;../Imaging/ZLib/;Tools/"/>
</SearchPaths> </SearchPaths>
<Parsing> <Parsing>
@ -219,11 +225,9 @@
<CodeGeneration> <CodeGeneration>
<SmartLinkUnit Value="True"/> <SmartLinkUnit Value="True"/>
<Generate Value="Faster"/> <Generate Value="Faster"/>
<TargetCPU Value="i386"/>
<Optimizations> <Optimizations>
<OptimizationLevel Value="3"/> <OptimizationLevel Value="3"/>
</Optimizations> </Optimizations>
<TargetOS Value="Linux"/>
</CodeGeneration> </CodeGeneration>
<Linking> <Linking>
<Debugging> <Debugging>

View File

@ -3,9 +3,7 @@ object frmFilter: TfrmFilter
Height = 491 Height = 491
Top = 171 Top = 171
Width = 236 Width = 236
HorzScrollBar.Page = 235 ActiveControl = rgFilterType.RadioButton0
VertScrollBar.Page = 490
ActiveControl = rgFilterType
BorderIcons = [biSystemMenu, biMinimize] BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsToolWindow BorderStyle = bsToolWindow
Caption = 'Filter' Caption = 'Filter'
@ -13,6 +11,7 @@ object frmFilter: TfrmFilter
ClientWidth = 236 ClientWidth = 236
OnCreate = FormCreate OnCreate = FormCreate
OnShow = FormShow OnShow = FormShow
LCLVersion = '0.9.25'
object rgFilterType: TRadioGroup object rgFilterType: TRadioGroup
Left = 4 Left = 4
Height = 40 Height = 40
@ -30,7 +29,7 @@ object frmFilter: TfrmFilter
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 2 ChildSizing.ControlsPerLine = 2
ClientHeight = 18 ClientHeight = 21
ClientWidth = 222 ClientWidth = 222
Columns = 2 Columns = 2
ItemIndex = 0 ItemIndex = 0
@ -48,13 +47,13 @@ object frmFilter: TfrmFilter
Align = alClient Align = alClient
BorderSpacing.Around = 4 BorderSpacing.Around = 4
Caption = 'Tile filter' Caption = 'Tile filter'
ClientHeight = 236 ClientHeight = 239
ClientWidth = 222 ClientWidth = 222
TabOrder = 1 TabOrder = 1
object Label1: TLabel object Label1: TLabel
Left = 4 Left = 4
Height = 25 Height = 25
Top = 32 Top = 29
Width = 214 Width = 214
Align = alTop Align = alTop
BorderSpacing.Around = 4 BorderSpacing.Around = 4
@ -65,8 +64,8 @@ object frmFilter: TfrmFilter
object vdtFilter: TVirtualDrawTree object vdtFilter: TVirtualDrawTree
Tag = 1 Tag = 1
Left = 4 Left = 4
Height = 145 Height = 151
Top = 61 Top = 58
Width = 214 Width = 214
Align = alClient Align = alClient
BorderSpacing.Around = 4 BorderSpacing.Around = 4
@ -99,7 +98,7 @@ object frmFilter: TfrmFilter
object pnlControls: TPanel object pnlControls: TPanel
Left = 4 Left = 4
Height = 22 Height = 22
Top = 210 Top = 213
Width = 214 Width = 214
Align = alBottom Align = alBottom
BorderSpacing.Around = 4 BorderSpacing.Around = 4
@ -114,83 +113,40 @@ object frmFilter: TfrmFilter
Width = 23 Width = 23
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
810900002F2A2058504D202A2F0A7374617469632063686172202A6772617068 36040000424D3604000000000000360000002800000010000000100000000100
69635B5D203D207B0A223136203136203131332032222C0A222E2E2063204E6F 20000000000000040000640000006400000000000000000000004F91AB005588
6E65222C0A222E2C20632023444436413638222C0A222E2D2063202344433634 9C0043718A004E6974003E4B4C00457796003E6A950037556C005C7E8800548B
3633222C0A222E2A20632023444136343631222C0A222E612063202344393633 A00031464100FFFFFF002B3238002D3B430074B9C8007FC4D5004788A7004A92
3544222C0A222E6220632023444636413641222C0A222E632063202345443933 B500435E6F002E3040002E3538003D5E7B003853BEFF3551BDFF304BBCFF2E4E
3845222C0A222E6420632023463843334245222C0A222E652063202346394433 B8FF303B3600FFFFFF00313637002C2D2B00588997007BC3D400365F8400396E
4343222C0A222E6620632023463943424334222C0A222E672063202346344234 9A003B6282003A5564004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178
4141222C0A222E6820632023453237303636222C0A222E692063202344313545 E4FF334DC1FF2B4AB7FFFFFFFF0036423900486B710061B4CE00396F9600375C
3533222C0A222E6A20632023453036393641222C0A222E6B2063202346324144 83004085B1004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84
4141222C0A222E6C20632023464444434438222C0A222E6D2063202346414241 EEFF9EA0F4FF515DD7FF2B4AB7FFFFFFFF00354C4C004D94AF00375D7F003348
4145222C0A222E6E20632023464141333931222C0A222E6F2063202346413944 5C005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56
3842222C0A222E7020632023464241393943222C0A222E712063202346434337 E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FFFFFFFF004A90A6003B5864003D5B
4241222C0A222E7220632023453937423730222C0A222E732063202343433542 6A004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59
3443222C0A222E7420632023463341374133222C0A222E752063202346444442 E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF57929C00498BA40047676D005C62
4434222C0A222E7620632023464139413837222C0A222E772063202346303931 D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59
3746222C0A222E7820632023463138453741222C0A222E792063202346383934 E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF54839500FFFFFF005F63
3746222C0A222E7A20632023463939323745222C0A222E412063202346383843 DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
3736222C0A222E4220632023463842364138222C0A222E432063202345333645 FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF6FA2AF00000000006469
3633222C0A222E4420632023433735373435222C0A222E452063202345413833 DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
3744222C0A222E4620632023464344344344222C0A222E472063202346373933 FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF58B2E00000000000676A
3745222C0A222E4820632023454538413735222C0A222E492063202346363834 DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F
3643222C0A222E4A20632023463337393633222C0A222E4B2063202346384146 ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF000000000800000000E8
4134222C0A222E4C20632023443034463345222C0A222E4D2063202344453641 1D007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84
3637222C0A222E4E20632023463541464135222C0A222E4F2063202346414142 F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF000000000000000001000100DB12
3944222C0A222E5020632023463038433737222C0A222E512063202345433546 C0006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92
3534222C0A222E5220632023463237373633222C0A222E532063202346343845 F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF00000000000000002401AD00BA02
3831222C0A222E5420632023453937463738222C0A222E552063202343303533 AE002301AE006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9
3341222C0A222E5620632023444236393634222C0A222E572063202346394239 FBFFBAC7FCFF707BE9FF4C5BCCFFBB02F00000010000D8000000000000000000
4146222C0A222E5820632023464139333746222C0A222E592063202346303835 000008000000010008006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4
3730222C0A222E5A20632023464646464646222C0A222E302063202345393539 F4FF6670E2FF535ED1FF5031DE005031DE002501AC00B902AD000D040400F804
3444222C0A222E3120632023454536413545222C0A222E322063202346313944 0500F20005000A0106000C040500F8040600686ADDFF6364DCFF6164DAFF5D63
3936222C0A222E3320632023424534463336222C0A222E342063202344413633 D9FFF2000700F804610000000000710900005031DE005031DE004034DE004034
3546222C0A222E3520632023463741424131222C0A222E362063202346383836 DE0068B0E00068B0E0000E049300F8049500F2009500070102000F049500F804
3730222C0A222E3720632023463638323638222C0A222E382063202345413636 0200F2000200080104000E040200F8040400F200040009010500
3543222C0A222E3920632023463139433936222C0A222E402063202342433530
3332222C0A222E2320632023443736323543222C0A222E3B2063202345453843
3831222C0A222E3A20632023463739313745222C0A222E3D2063202346333733
3544222C0A222E2B20632023453935423446222C0A222E252063202346303833
3742222C0A222E2420632023453237423735222C0A222E282063202342413442
3245222C0A222E2920632023444235363442222C0A222E5B2063202346364142
4132222C0A222E5D20632023463036343536222C0A222C2E2063202345453636
3532222C0A222C2C20632023453635383443222C0A222C2D2063202345363541
3532222C0A222C2A20632023463541333946222C0A222C612063202343343530
3334222C0A222C6220632023434636313533222C0A222C632063202345333642
3631222C0A222C6420632023463541434131222C0A222C652063202345413543
3530222C0A222C6620632023453635393445222C0A222C672063202345363536
3443222C0A222C6820632023453635363530222C0A222C692063202346344132
3945222C0A222C6A20632023443636303534222C0A222C6B2063202342383441
3241222C0A222C6C20632023434235393439222C0A222C6D2063202345303635
3543222C0A222C6E20632023463541364131222C0A222C6F2063202345463836
3745222C0A222C7020632023453936333542222C0A222C712063202345373544
3539222C0A222C7220632023454538343744222C0A222C732063202346344130
3945222C0A222C7420632023443735443531222C0A222C752063202342373441
3242222C0A222C7620632023433635353432222C0A222C772063202343433532
3343222C0A222C7820632023453837413735222C0A222C792063202345453932
3846222C0A222C7A20632023453437383731222C0A222C412063202343313444
3333222C0A222C4220632023424535333338222C0A222C432063202342443531
3335222C0A222C4420632023424334423330222C0A222C452063202342383445
3245222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2C2E2D2E2A2E612E2E
2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E622E632E642E652E66
2E672E682E692E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E6A2E6B2E6C2E6D
2E6E2E6F2E702E712E722E732E2E2E2E2E2E222C0A222E2E2E2E2E6A2E742E75
2E762E772E782E792E7A2E412E422E432E442E2E2E2E222C0A222E2E2E2E2E45
2E462E6F2E472E482E492E492E492E492E4A2E4B2E4C2E2E2E2E222C0A222E2E
2E4D2E4E2E4F2E502E512E512E512E512E512E512E522E532E542E552E2E222C
0A222E2E2E562E572E582E592E5A2E5A2E5A2E5A2E5A2E5A2E302E312E322E33
2E2E222C0A222E2E2E342E352E362E372E5A2E5A2E5A2E5A2E5A2E5A2E302E38
2E392E402E2E222C0A222E2E2E232E3B2E3A2E3D2E302E302E302E302E302E30
2E2B2E252E242E282E2E222C0A222E2E2E2E2E292E5B2E5D2C2E2E302E302E30
2E302C2C2C2D2C2A2C612E2E2E2E222C0A222E2E2E2E2C622C632C642E512C65
2E302C662C672C682C692C6A2C6B2E2E2E2E222C0A222E2E2E2E2E2E2C6C2C6D
2C6E2C6F2C702C712C722C732C742C752E2E2E2E2E2E222C0A222E2E2E2E2E2E
2E2E2C762C772C782C792C792C7A2C412C752E2E2E2E2E2E2E2E222C0A222E2E
2E2E2E2E2E2E2E2E2E2E2C422C432C442C452E2E2E2E2E2E2E2E2E2E2E2E222C
0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
2E2E227D0A
} }
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnDeleteClick OnClick = btnDeleteClick
@ -204,78 +160,40 @@ object frmFilter: TfrmFilter
Width = 23 Width = 23
Color = clBtnFace Color = clBtnFace
Glyph.Data = { Glyph.Data = {
F10800002F2A2058504D202A2F0A7374617469632063686172202A6772617068 36040000424D3604000000000000360000002800000010000000100000000100
69635B5D203D207B0A223136203136203130342032222C0A222E2E2063204E6F 20000000000000040000640000006400000000000000000000003ADCFE004800
6E65222C0A222E2C20632023464630303030222C0A222E2D2063202346443030 3A00FEFF4800FCFF1C00FCFF1C0080FF9C00003BD700AF9AFF00002CC600FDEB
3030222C0A222E2A20632023464632423236222C0A222E612063202346463639 9B000000000000000000000000000000000000000000000000000EECFF00B2FC
3543222C0A222E6220632023464636383542222C0A222E632063202346453637 FF000046C00078D0FF000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000
3541222C0A222E6420632023464536353538222C0A222E652063202346453633 EFFF0000EDFF0000EDFFCBF3FC008905000024AEEF00E4A81C000000DB00B29E
3536222C0A222E6620632023464536313534222C0A222E672063202346433237 FF0088000D000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443
3232222C0A222E6820632023464230303030222C0A222E692063202346463641 F7FF3242F7FF141BF1FF0000EDFFFCFF1C00FCFF1C0080FF9C0004000000FFBC
3544222C0A222E6A20632023464634373433222C0A222E6B2063202346453334 00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909
3334222C0A222E6C20632023464533323332222C0A222E6D2063202346443330 F5FF161BF5FF3343F7FF141BF1FF0000EDFFE4FF5C000050FF004C0000000000
3330222C0A222E6E20632023464432443244222C0A222E6F2063202346433343 F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333
3338222C0A222E7020632023464335443446222C0A222E712063202346413235 F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF000008000052FF000000
3146222C0A222E7220632023463730303030222C0A222E732063202346463542 FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA
3538222C0A222E7420632023464643464346222C0A222E752063202346453532 FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF0000CC0088005B000000
3532222C0A222E7620632023464432463246222C0A222E772063202346443243 FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1
3243222C0A222E7820632023464334423442222C0A222E792063202346454343 FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00B8FF00E3FFA8000000
4343222C0A222E7A20632023464234433438222C0A222E412063202346423537 FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
3439222C0A222E4220632023463932333144222C0A222E432063202346353030 FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF08009000FCFF72000000
3030222C0A222E4420632023464534373433222C0A222E452063202346464633 FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
4633222C0A222E4620632023464645444544222C0A222E472063202346433443 FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF02000000E4FF5C000000
3443222C0A222E4820632023464334413441222C0A222E492063202346464543 FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2
4543222C0A222E4A20632023464646324632222C0A222E4B2063202346454341 FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FFFCFF1C00000000000000
4341222C0A222E4C20632023464132463241222C0A222E4D2063202346413531 FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC
3432222C0A222E4E20632023463330303030222C0A222E4F2063202346453333 FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000CCFF4C000000
3333222C0A222E5020632023464435303530222C0A222E512063202346454543 FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B
4543222C0A222E5220632023464133453345222C0A222E532063202346383137 FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000
3137222C0A222E5420632023463934453346222C0A222E552063202346313030 00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D
3030222C0A222E5620632023464536343537222C0A222E572063202346393344 FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000
3344222C0A222E5820632023463831363136222C0A222E592063202346373133 0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663
3133222C0A222E5A20632023463834423343222C0A222E302063202346453632 FEFF5461FEFF2227FCFF0000FBFFFCFF1C00000000000000000008000000EFEF
3535222C0A222E3120632023464332393239222C0A222E322063202346433438 EF00EFEFEF00EFEFEF000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000
3438222C0A222E3320632023463933413341222C0A222E342063202346373132 FDFF0000FDFF0000FDFF000000000000000000000000000000009034DE009034
3132222C0A222E3520632023463630463046222C0A222E362063202346383438 DE00D86FDF00D86FDF00E0A223004AC6080000000000580000005870DF000C70
3338222C0A222E3720632023464435463532222C0A222E382063202346433238 DF000000000000000000000000002070DF000000000000000000
3238222C0A222E3920632023464334373437222C0A222E402063202346464631
4631222C0A222E2320632023464545414541222C0A222E3B2063202346373334
3334222C0A222E3A20632023463530423042222C0A222E3D2063202346383435
3335222C0A222E2B20632023454630303030222C0A222E252063202346443544
3446222C0A222E2420632023464233373332222C0A222E282063202346454342
4342222C0A222E2920632023464545424542222C0A222E5B2063202346393342
3342222C0A222E5D20632023463833393339222C0A222C2E2063202346454631
4631222C0A222C2C20632023464443354335222C0A222C2D2063202346363144
3138222C0A222C2A20632023463734333333222C0A222C612063202346393030
3030222C0A222C6220632023464235383441222C0A222C632063202346423437
3432222C0A222C6420632023464443394339222C0A222C652063202346363130
3130222C0A222C6620632023463733333333222C0A222C672063202346373335
3330222C0A222C6820632023463734343334222C0A222C692063202346323142
3134222C0A222C6A20632023454430303030222C0A222C6B2063202346413533
3434222C0A222C6C20632023463932393234222C0A222C6D2063202346353043
3043222C0A222C6E20632023463530393039222C0A222C6F2063202346353142
3136222C0A222C7020632023463131423134222C0A222C712063202346353230
3141222C0A222C7220632023463934433343222C0A222C732063202346383439
3341222C0A222C7420632023463834373338222C0A222C752063202346373433
3334222C0A222C7620632023463734323332222C0A222E2E2E2E2E2E2E2E2E2E
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E
2E2E2E2C2E2C2E2C2E2C2E2D2E2D2E2D2E2D2E2E2E2E2E2E2E2E222C0A222E2E
2E2E2E2E2E2C2E2A2E612E622E632E642E652E662E672E682E2E2E2E2E2E222C
0A222E2E2E2E2E2C2E2A2E692E6A2E6B2E6C2E6D2E6E2E6F2E702E712E722E2E
2E2E222C0A222E2E2E2C2E2A2E692E732E742E752E762E772E782E792E7A2E41
2E422E432E2E222C0A222E2E2E2C2E622E442E742E452E462E472E482E492E4A
2E4B2E4C2E4D2E4E2E2E222C0A222E2E2E2C2E632E4F2E502E462E452E462E46
2E4A2E512E522E532E542E552E2E222C0A222E2E2E2D2E562E6D2E6E2E782E46
2E4A2E4A2E492E572E582E592E5A2E552E2E222C0A222E2E2E2D2E302E772E31
2E322E462E4A2E4A2E512E332E342E352E362E552E2E222C0A222E2E2E2D2E37
2E382E392E492E4A2E492E512E402E232E3B2E3A2E3D2E2B2E2E222C0A222E2E
2E682E252E242E282E4A2E292E5B2E5D2E232C2E2C2C2C2D2C2A2E2B2E2E222C
0A222E2E2C612E712C622C632C642E5B2E592C652C662C2C2C672C682C692C6A
2E2E222C0A222E2E2E2E2E722E422C6B2C6C2E342E352C6D2C6E2C6F2C2A2C70
2C6A2E2E2E2E222C0A222E2E2E2E2E2E2E432C712C722C732C742E3D2C752C76
2C702C6A2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E552E552E552E552E2B
2E2B2C6A2C6A2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D0A
} }
NumGlyphs = 0 NumGlyphs = 0
OnClick = btnClearClick OnClick = btnClearClick
@ -285,7 +203,7 @@ object frmFilter: TfrmFilter
end end
object cbTileFilter: TCheckBox object cbTileFilter: TCheckBox
Left = 4 Left = 4
Height = 24 Height = 21
Top = 4 Top = 4
Width = 214 Width = 214
Align = alTop Align = alTop
@ -304,12 +222,12 @@ object frmFilter: TfrmFilter
Align = alBottom Align = alBottom
BorderSpacing.Around = 4 BorderSpacing.Around = 4
Caption = 'Hue filter' Caption = 'Hue filter'
ClientHeight = 146 ClientHeight = 149
ClientWidth = 222 ClientWidth = 222
TabOrder = 2 TabOrder = 2
object cbHueFilter: TCheckBox object cbHueFilter: TCheckBox
Left = 4 Left = 4
Height = 24 Height = 21
Top = 4 Top = 4
Width = 214 Width = 214
Align = alTop Align = alTop
@ -319,8 +237,8 @@ object frmFilter: TfrmFilter
end end
object vdtHues: TVirtualDrawTree object vdtHues: TVirtualDrawTree
Left = 4 Left = 4
Height = 110 Height = 116
Top = 32 Top = 29
Width = 214 Width = 214
Align = alClient Align = alClient
BorderSpacing.Around = 4 BorderSpacing.Around = 4

View File

@ -21,7 +21,7 @@
* CDDL HEADER END * CDDL HEADER END
* *
* *
* Portions Copyright 2007 Andreas Schneider * Portions Copyright 2008 Andreas Schneider
*) *)
unit UGUIPlatformUtils; unit UGUIPlatformUtils;
@ -32,7 +32,8 @@ interface
uses uses
Classes, SysUtils Classes, SysUtils
{$IFDEF LCLWin32}, windows{$ENDIF} {$IFDEF LCLWin32}, windows{$ENDIF}
{$IFDEF LCLGtk}, gtk{$ENDIF}; {$IFDEF LCLGtk}, gtk{$ENDIF}
{$IFDEF LCLGtk2}, gtk2{$ENDIF};
procedure SetWindowParent(AHandle, AParent: THANDLE); procedure SetWindowParent(AHandle, AParent: THANDLE);
@ -46,7 +47,15 @@ begin
{$IFDEF LCLGtk} {$IFDEF LCLGtk}
gtk_window_set_transient_for(PGtkWindow(AHandle), PGtkWindow(AParent)); gtk_window_set_transient_for(PGtkWindow(AHandle), PGtkWindow(AParent));
{$ENDIF} {$ENDIF}
{$IFDEF LCLGtk2}
gtk_window_set_transient_for(PGtkWindow(AHandle), PGtkWindow(AParent));
{$ENDIF}
end; end;
initialization
{$IFDEF LCLGtk2}
gtk_rc_parse_string('style "user-font" { font_name = "Sans 8" } widget_class "*" style "user-font"');
{$ENDIF}
end. end.

View File

@ -1,105 +1,141 @@
object frmAbout: TfrmAbout object frmAbout: TfrmAbout
Left = 290 Left = 290
Height = 323 Height = 374
Top = 171 Top = 171
Width = 355 Width = 364
HorzScrollBar.Page = 354 HorzScrollBar.Page = 363
VertScrollBar.Page = 322 VertScrollBar.Page = 373
ActiveControl = btnClose AutoSize = True
BorderIcons = [biSystemMenu] BorderIcons = [biSystemMenu]
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'About CentrED' Caption = 'About CentrED'
ClientHeight = 323 ClientHeight = 374
ClientWidth = 355 ClientWidth = 364
OnCreate = FormCreate OnCreate = FormCreate
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '0.9.25'
object Label3: TLabel object Label3: TLabel
Left = 8 Left = 8
Height = 61 Height = 89
Top = 208 Top = 230
Width = 339 Width = 348
Align = alTop
BorderSpacing.Top = 16
BorderSpacing.Around = 8 BorderSpacing.Around = 8
Caption = 'Ultima™ Online © 1997 Electronic Arts Inc. Ultima, the UO logo, Are You With Us?, ORIGIN, the ORIGIN logo and We create worlds are trademarks or registered trademarks of Electronic Arts Inc. in the U.S. and/or other countries. All rights reserved.' Caption = 'Ultima(tm) Online (c) 1997 Electronic Arts Inc. Ultima, the UO logo, Are You With Us?, ORIGIN, the ORIGIN logo and We create worlds are trademarks or registered trademarks of Electronic Arts Inc. in the U.S. and/or other countries. All rights reserved.'
ParentColor = False ParentColor = False
WordWrap = True WordWrap = True
end end
object Label5: TLabel object Label5: TLabel
Left = 8 Left = 8
Height = 16 Height = 20
Top = 128 Top = 120
Width = 227 Width = 348
Align = alTop
BorderSpacing.Left = 8
BorderSpacing.Right = 8
Caption = 'It is using the following great components:' Caption = 'It is using the following great components:'
ParentColor = False ParentColor = False
end end
object Label6: TLabel object Label6: TLabel
Left = 16 Left = 16
Height = 46 Height = 66
Top = 144 Top = 140
Width = 218 Width = 340
Align = alTop
BorderSpacing.Left = 16
BorderSpacing.Right = 8
Caption = '- Vampyre Imaging Lib by Marek Mauder'#13#10'- lNet by Ales Katona and Micha Nelissen'#13#10'- VirtualTrees by Mike Lischke' Caption = '- Vampyre Imaging Lib by Marek Mauder'#13#10'- lNet by Ales Katona and Micha Nelissen'#13#10'- VirtualTrees by Mike Lischke'
ParentColor = False ParentColor = False
end end
object Label7: TLabel object Label7: TLabel
Left = 8 Left = 8
Height = 16 Height = 20
Top = 104 Top = 100
Width = 310 Width = 348
Align = alTop
BorderSpacing.Left = 8
BorderSpacing.Right = 8
Caption = 'CentrED has been developed using Lazarus and FreePascal.' Caption = 'CentrED has been developed using Lazarus and FreePascal.'
ParentColor = False ParentColor = False
WordWrap = True WordWrap = True
end end
object Panel1: TPanel object Panel2: TPanel
Height = 88 Height = 92
Width = 202 Width = 364
BevelInner = bvRaised Align = alTop
BevelOuter = bvLowered AutoSize = True
ClientHeight = 88 BorderSpacing.Bottom = 8
ClientWidth = 202 ClientHeight = 92
ClientWidth = 364
TabOrder = 0 TabOrder = 0
object Label1: TLabel object Panel1: TPanel
Left = 2 Left = 1
Height = 38 Height = 91
Top = 2 Top = 1
Width = 198 Width = 215
Align = alTop AutoSize = True
Alignment = taCenter BevelInner = bvRaised
AutoSize = False BevelOuter = bvLowered
Caption = 'UO CentrED' ClientHeight = 91
Font.Height = -27 ClientWidth = 215
Font.Style = [fsBold] TabOrder = 0
ParentColor = False object Label1: TLabel
end Left = 2
object lblVersion: TLabel Height = 38
Left = 6 Top = 2
Height = 18 Width = 211
Top = 40 Align = alTop
Width = 190 Alignment = taCenter
Align = alTop AutoSize = False
Alignment = taRightJustify Caption = 'UO CentrED'
BorderSpacing.Left = 4 Font.Height = -27
BorderSpacing.Right = 4 Font.Style = [fsBold]
Font.Style = [fsItalic] ParentColor = False
ParentColor = False end
end object lblVersion: TLabel
object lblCopyright: TLabel Left = 6
Left = 6 Height = 21
Height = 19 Top = 40
Top = 63 Width = 203
Width = 190 Align = alTop
Align = alBottom Alignment = taRightJustify
Alignment = taCenter BorderSpacing.Left = 4
BorderSpacing.Around = 4 BorderSpacing.Right = 4
ParentColor = False Font.Style = [fsItalic]
ParentColor = False
end
object lblCopyright: TLabel
Left = 6
Height = 22
Top = 65
Width = 203
Align = alTop
Alignment = taCenter
BorderSpacing.Around = 4
ParentColor = False
end
end end
end end
object btnClose: TButton object Panel3: TPanel
Left = 144 Left = 8
Height = 25 Height = 25
Top = 288 Top = 327
Width = 75 Width = 348
BorderSpacing.InnerBorder = 4 Align = alTop
Caption = 'Close' BorderSpacing.Around = 8
OnClick = btnCloseClick ClientHeight = 25
ClientWidth = 348
TabOrder = 1 TabOrder = 1
object btnClose: TButton
Left = 272
Height = 23
Top = 1
Width = 75
Align = alRight
BorderSpacing.InnerBorder = 4
Caption = 'Close'
TabOrder = 0
end
end end
end end

View File

@ -37,16 +37,18 @@ type
{ TfrmAbout } { TfrmAbout }
TfrmAbout = class(TForm) TfrmAbout = class(TForm)
btnClose: TButton; btnClose: TButton;
Label1: TLabel; Label1: TLabel;
lblCopyright: TLabel;
Label3: TLabel; Label3: TLabel;
lblVersion: TLabel;
Label5: TLabel; Label5: TLabel;
Label6: TLabel; Label6: TLabel;
Label7: TLabel; Label7: TLabel;
Panel1: TPanel; lblCopyright: TLabel;
lblVersion: TLabel;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
procedure btnCloseClick(Sender: TObject); procedure btnCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
private private

View File

@ -3,11 +3,9 @@ object frmMain: TfrmMain
Height = 603 Height = 603
Top = 144 Top = 144
Width = 766 Width = 766
HorzScrollBar.Page = 765
VertScrollBar.Page = 570
ActiveControl = edX ActiveControl = edX
Caption = 'UO CentrED' Caption = 'UO CentrED'
ClientHeight = 571 ClientHeight = 574
ClientWidth = 766 ClientWidth = 766
Constraints.MinHeight = 603 Constraints.MinHeight = 603
Constraints.MinWidth = 766 Constraints.MinWidth = 766
@ -18,10 +16,11 @@ object frmMain: TfrmMain
OnDestroy = FormDestroy OnDestroy = FormDestroy
Position = poScreenCenter Position = poScreenCenter
ShowInTaskBar = stAlways ShowInTaskBar = stAlways
LCLVersion = '0.9.25'
WindowState = wsMaximized WindowState = wsMaximized
object pnlBottom: TPanel object pnlBottom: TPanel
Height = 31 Height = 31
Top = 540 Top = 543
Width = 766 Width = 766
Align = alBottom Align = alBottom
BevelOuter = bvNone BevelOuter = bvNone
@ -101,7 +100,7 @@ object frmMain: TfrmMain
end end
end end
object pcLeft: TPageControl object pcLeft: TPageControl
Height = 516 Height = 519
Top = 24 Top = 24
Width = 224 Width = 224
ActivePage = tsTiles ActivePage = tsTiles
@ -110,7 +109,7 @@ object frmMain: TfrmMain
TabOrder = 1 TabOrder = 1
object tsTiles: TTabSheet object tsTiles: TTabSheet
Caption = 'Tiles' Caption = 'Tiles'
ClientHeight = 482 ClientHeight = 488
ClientWidth = 220 ClientWidth = 220
object pnlTileListSettings: TPanel object pnlTileListSettings: TPanel
Height = 56 Height = 56
@ -130,7 +129,7 @@ object frmMain: TfrmMain
end end
object cbTerrain: TCheckBox object cbTerrain: TCheckBox
Left = 4 Left = 4
Height = 24 Height = 21
Top = 8 Top = 8
Width = 64 Width = 64
Caption = 'Terrain' Caption = 'Terrain'
@ -141,7 +140,7 @@ object frmMain: TfrmMain
end end
object cbStatics: TCheckBox object cbStatics: TCheckBox
Left = 4 Left = 4
Height = 24 Height = 21
Top = 32 Top = 32
Width = 62 Width = 62
Caption = 'Statics' Caption = 'Statics'
@ -161,7 +160,7 @@ object frmMain: TfrmMain
end end
object vdtTiles: TVirtualDrawTree object vdtTiles: TVirtualDrawTree
Tag = 1 Tag = 1
Height = 228 Height = 234
Top = 56 Top = 56
Width = 220 Width = 220
Align = alClient Align = alClient
@ -203,17 +202,17 @@ object frmMain: TfrmMain
end end
object gbRandom: TGroupBox object gbRandom: TGroupBox
Height = 193 Height = 193
Top = 289 Top = 295
Width = 220 Width = 220
Align = alBottom Align = alBottom
Caption = 'Random pool' Caption = 'Random pool'
ClientHeight = 171 ClientHeight = 174
ClientWidth = 214 ClientWidth = 214
TabOrder = 2 TabOrder = 2
object vdtRandom: TVirtualDrawTree object vdtRandom: TVirtualDrawTree
Tag = 1 Tag = 1
Cursor = 63 Cursor = 63
Height = 119 Height = 122
Top = 22 Top = 22
Width = 214 Width = 214
Align = alClient Align = alClient
@ -398,7 +397,7 @@ object frmMain: TfrmMain
object pnlRandomPreset: TPanel object pnlRandomPreset: TPanel
Left = 4 Left = 4
Height = 22 Height = 22
Top = 145 Top = 148
Width = 206 Width = 206
Align = alBottom Align = alBottom
BorderSpacing.Around = 4 BorderSpacing.Around = 4
@ -503,7 +502,7 @@ object frmMain: TfrmMain
ParentShowHint = False ParentShowHint = False
end end
object cbRandomPreset: TComboBox object cbRandomPreset: TComboBox
Height = 21 Height = 25
Width = 152 Width = 152
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
MaxLength = 0 MaxLength = 0
@ -516,7 +515,7 @@ object frmMain: TfrmMain
object spTileList: TSplitter object spTileList: TSplitter
Cursor = crVSplit Cursor = crVSplit
Height = 5 Height = 5
Top = 284 Top = 290
Width = 220 Width = 220
Align = alBottom Align = alBottom
ResizeAnchor = akBottom ResizeAnchor = akBottom
@ -538,10 +537,10 @@ object frmMain: TfrmMain
end end
object tsClients: TTabSheet object tsClients: TTabSheet
Caption = 'Clients' Caption = 'Clients'
ClientHeight = 516 ClientHeight = 525
ClientWidth = 224 ClientWidth = 224
object lbClients: TListBox object lbClients: TListBox
Height = 516 Height = 525
Width = 224 Width = 224
Align = alClient Align = alClient
OnDblClick = mnuGoToClientClick OnDblClick = mnuGoToClientClick
@ -553,11 +552,11 @@ object frmMain: TfrmMain
end end
object tsLocations: TTabSheet object tsLocations: TTabSheet
Caption = 'Locations' Caption = 'Locations'
ClientHeight = 516 ClientHeight = 525
ClientWidth = 224 ClientWidth = 224
object vstLocations: TVirtualStringTree object vstLocations: TVirtualStringTree
Left = 4 Left = 4
Height = 480 Height = 489
Top = 4 Top = 4
Width = 216 Width = 216
Align = alClient Align = alClient
@ -589,7 +588,7 @@ object frmMain: TfrmMain
object pnlLocationControls: TPanel object pnlLocationControls: TPanel
Left = 4 Left = 4
Height = 24 Height = 24
Top = 488 Top = 497
Width = 216 Width = 216
Align = alBottom Align = alBottom
BorderSpacing.Around = 4 BorderSpacing.Around = 4
@ -918,16 +917,16 @@ object frmMain: TfrmMain
end end
object pnlMain: TPanel object pnlMain: TPanel
Left = 224 Left = 224
Height = 516 Height = 519
Top = 24 Top = 24
Width = 542 Width = 542
Align = alClient Align = alClient
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 516 ClientHeight = 519
ClientWidth = 542 ClientWidth = 542
TabOrder = 3 TabOrder = 3
object oglGameWindow: TOpenGLControl object oglGameWindow: TOpenGLControl
Height = 365 Height = 368
Width = 542 Width = 542
Align = alClient Align = alClient
OnDblClick = oglGameWindowDblClick OnDblClick = oglGameWindowDblClick
@ -941,7 +940,7 @@ object frmMain: TfrmMain
end end
object pnlChatHeader: TPanel object pnlChatHeader: TPanel
Height = 24 Height = 24
Top = 365 Top = 368
Width = 542 Width = 542
Align = alBottom Align = alBottom
BevelInner = bvRaised BevelInner = bvRaised
@ -967,7 +966,7 @@ object frmMain: TfrmMain
end end
object pnlChat: TPanel object pnlChat: TPanel
Height = 122 Height = 122
Top = 394 Top = 397
Width = 542 Width = 542
Align = alBottom Align = alBottom
BevelOuter = bvNone BevelOuter = bvNone
@ -1018,13 +1017,13 @@ object frmMain: TfrmMain
object spChat: TSplitter object spChat: TSplitter
Cursor = crVSplit Cursor = crVSplit
Height = 5 Height = 5
Top = 389 Top = 392
Width = 542 Width = 542
Align = alBottom Align = alBottom
AutoSnap = False AutoSnap = False
MinSize = 100 MinSize = 100
Visible = False
ResizeAnchor = akBottom ResizeAnchor = akBottom
Visible = False
end end
end end
object MainMenu1: TMainMenu object MainMenu1: TMainMenu

View File

@ -114,7 +114,7 @@ type
{ Returns file extensions of this graphic class.} { Returns file extensions of this graphic class.}
class function GetFileExtensions: string; override; class function GetFileExtensions: string; override;
{ Returns default MIME type of this graphic class.} { Returns default MIME type of this graphic class.}
function GetDefaultMimeType: string; override; function GetMimeType: string; override;
{$ENDIF} {$ENDIF}
{ Default (the most common) file extension of this graphic class.} { Default (the most common) file extension of this graphic class.}
property DefaultFileExt: string read FDefaultFileExt; property DefaultFileExt: string read FDefaultFileExt;
@ -637,6 +637,7 @@ var
{$IFDEF COMPONENT_SET_LCL} {$IFDEF COMPONENT_SET_LCL}
RawImage: TRawImage; RawImage: TRawImage;
LineLazBytes: LongInt; LineLazBytes: LongInt;
rect: TRect;
{$ENDIF} {$ENDIF}
begin begin
{$IFDEF COMPONENT_SET_LCL} {$IFDEF COMPONENT_SET_LCL}
@ -725,7 +726,8 @@ begin
{$IFDEF COMPONENT_SET_LCL} {$IFDEF COMPONENT_SET_LCL}
// Get raw image from bitmap (mask handle must be 0 or expect violations) // Get raw image from bitmap (mask handle must be 0 or expect violations)
{ If you get complitation error here upgrade to Lazarus 0.9.24+ } { If you get complitation error here upgrade to Lazarus 0.9.24+ }
if RawImage_FromBitmap(RawImage, Bitmap.Handle, 0, Classes.Rect(0, 0, Data.Width, Data.Height)) then rect := Classes.Rect(0, 0, Data.Width, Data.Height);
if RawImage_FromBitmap(RawImage, Bitmap.Handle, 0, @rect) then
begin begin
LineLazBytes := GetBytesPerLine(Data.Width, RawImage.Description.BitsPerPixel, LineLazBytes := GetBytesPerLine(Data.Width, RawImage.Description.BitsPerPixel,
RawImage.Description.LineEnd); RawImage.Description.LineEnd);
@ -1012,7 +1014,7 @@ begin
Result := StringReplace(GetFileFormat.Extensions.CommaText, ',', ';', [rfReplaceAll]); Result := StringReplace(GetFileFormat.Extensions.CommaText, ',', ';', [rfReplaceAll]);
end; end;
function TImagingGraphicForSave.GetDefaultMimeType: string; function TImagingGraphicForSave.GetMimeType: string;
begin begin
Result := 'image/' + FDefaultFileExt; Result := 'image/' + FDefaultFileExt;
end; end;

View File

@ -35,7 +35,7 @@ uses
type type
TInvalidConfigVersionExeption = class(Exception); TInvalidConfigException = class(Exception);
{ TMapInfo } { TMapInfo }
@ -202,13 +202,13 @@ begin
if not ((xmlDoc.DocumentElement.NodeName = 'CEDConfig') and if not ((xmlDoc.DocumentElement.NodeName = 'CEDConfig') and
TryStrToInt(xmlDoc.DocumentElement.AttribStrings['Version'], version) and TryStrToInt(xmlDoc.DocumentElement.AttribStrings['Version'], version) and
(version = CONFIGVERSION)) then (version = CONFIGVERSION)) then
raise TInvalidConfigVersionExeption.Create(Format('%d <> %d', [version, CONFIGVERSION])); raise TInvalidConfigException.Create(Format('Version mismatch: %d <> %d', [version, CONFIGVERSION]));
FPort := TXmlHelper.ReadInteger(xmlDoc.DocumentElement, 'Port', 2597); FPort := TXmlHelper.ReadInteger(xmlDoc.DocumentElement, 'Port', 2597);
xmlElement := TDOMElement(xmlDoc.DocumentElement.FindNode('Map')); xmlElement := TDOMElement(xmlDoc.DocumentElement.FindNode('Map'));
if not assigned(xmlElement) then if not assigned(xmlElement) then
raise TInvalidConfigVersionExeption.Create('Map information not found'); raise TInvalidConfigException.Create('Map information not found');
FMap := TMapInfo.Deserialize(Self, xmlElement); FMap := TMapInfo.Deserialize(Self, xmlElement);
FTiledata := TXmlHelper.ReadString(xmlDoc.DocumentElement, 'Tiledata', 'tiledata.mul'); FTiledata := TXmlHelper.ReadString(xmlDoc.DocumentElement, 'Tiledata', 'tiledata.mul');
@ -216,7 +216,7 @@ begin
xmlElement := TDOMElement(xmlDoc.DocumentElement.FindNode('Accounts')); xmlElement := TDOMElement(xmlDoc.DocumentElement.FindNode('Accounts'));
if not assigned(xmlElement) then if not assigned(xmlElement) then
raise TInvalidConfigVersionExeption.Create('Account information not found'); raise TInvalidConfigException.Create('Account information not found');
FAccounts := TAccountList.Deserialize(Self, xmlElement); FAccounts := TAccountList.Deserialize(Self, xmlElement);
xmlDoc.Free; xmlDoc.Free;

View File

@ -462,56 +462,8 @@ end;
//Intelligent write: replace if possible, otherwise extend //Intelligent write: replace if possible, otherwise extend
procedure TLandscape.Flush; procedure TLandscape.Flush;
{var
blockID, blockType: Integer;
worldBlock: TWorldBlock;
index: TGenericIndex;
i, j, size: Integer;}
begin begin
{for blockID := 0 to FWidth * FHeight - 1 do FBlockCache.Clear; //Clear writes modified blocks before removing them from the cache
begin
for blockType := 0 to 1 do
begin
worldBlock := FPersistentBlocks[blockID][blockType];
if Assigned(worldBlock) and worldBlock.Changed then
begin
if worldBlock is TMapBlock then
begin
FMap.Position := ((worldBlock.X * FHeight) + worldBlock.Y) * 196;
worldBlock.Write(FMap);
for i := 0 to 63 do
TMapBlock(worldBlock).Cells[i].InitOriginalState;
worldBlock.CleanUp;
end else if worldBlock is TStaticBlock then
begin
FStaIdx.Position := ((worldBlock.X * FHeight) + worldBlock.Y) * 12;
index := TGenericIndex.Create(FStaIdx);
size := worldBlock.GetSize;
if (size > index.Size) or (index.Lookup = LongInt($FFFFFFFF)) then
begin
FStatics.Position := FStatics.Size;
index.Lookup := FStatics.Position;
end;
if size = 0 then
index.Lookup := LongInt($FFFFFFFF)
else
begin
index.Size := size;
FStatics.Position := index.Lookup;
worldBlock.Write(FStatics);
end;
FStaIdx.Seek(-12, soFromCurrent);
index.Write(FStaIdx);
index.Free;
for i := 0 to 63 do
for j := 0 to TSeperatedStaticBlock(worldBlock).Cells[i].Count - 1 do
TStaticItem(TSeperatedStaticBlock(worldBlock).Cells[i].Items[j]).InitOriginalState;
worldBlock.CleanUp;
end;
end;
end;
end;}
FBlockCache.Clear;
end; end;
procedure TLandscape.SaveBlock(AWorldBlock: TWorldBlock); procedure TLandscape.SaveBlock(AWorldBlock: TWorldBlock);