* Updated Vampyre Imaging Lib

* Fixed heContrs compilation
* Fixed region editing in frmLargeScaleCommand and frmRegionControl
* Fixed control alignment in frmMain
This commit is contained in:
Andreas Schneider 2013-11-03 14:12:48 +01:00
parent 4a5a835afd
commit 9676549ac3
25 changed files with 21231 additions and 21272 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<Version Value="9"/> <Version Value="9"/>
@ -77,7 +77,7 @@
</Item2> </Item2>
<Item3 Name="Release Linux GTK2 x86"> <Item3 Name="Release Linux GTK2 x86">
<MacroValues Count="1"> <MacroValues Count="1">
<Macro1 Name="LCLWidgetType" Value="gtk2"/> <Macro2 Name="LCLWidgetType" Value="gtk2"/>
</MacroValues> </MacroValues>
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
@ -127,6 +127,10 @@
</Other> </Other>
</CompilerOptions> </CompilerOptions>
</Item3> </Item3>
<SharedMatrixOptions Count="2">
<Item1 ID="851019893220" Modes="Release Win32" Type="IDEMacro" MacroName="LCLWidgetType" Value="win32"/>
<Item2 ID="521965364444" Modes="Release Linux GTK2 x86" Type="IDEMacro" MacroName="LCLWidgetType" Value="gtk2"/>
</SharedMatrixOptions>
</BuildModes> </BuildModes>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>
@ -147,7 +151,7 @@
<RequiredPackages Count="6"> <RequiredPackages Count="6">
<Item1> <Item1>
<PackageName Value="LCLBase"/> <PackageName Value="LCLBase"/>
<MinVersion Major="1" Valid="True" Release="1"/> <MinVersion Major="1" Release="1" Valid="True"/>
</Item1> </Item1>
<Item2> <Item2>
<PackageName Value="multiloglaz"/> <PackageName Value="multiloglaz"/>
@ -161,11 +165,11 @@
</Item4> </Item4>
<Item5> <Item5>
<PackageName Value="lnetvisual"/> <PackageName Value="lnetvisual"/>
<MinVersion Minor="5" Valid="True" Release="3"/> <MinVersion Minor="5" Release="3" Valid="True"/>
</Item5> </Item5>
<Item6> <Item6>
<PackageName Value="virtualtreeview_package"/> <PackageName Value="virtualtreeview_package"/>
<MinVersion Major="4" Minor="5" Valid="True" Release="1"/> <MinVersion Major="4" Minor="5" Release="1" Valid="True"/>
</Item6> </Item6>
</RequiredPackages> </RequiredPackages>
<Units Count="48"> <Units Count="48">
@ -178,6 +182,7 @@
<Filename Value="UfrmMain.pas"/> <Filename Value="UfrmMain.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="frmMain"/> <ComponentName Value="frmMain"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="UfrmMain"/> <UnitName Value="UfrmMain"/>
</Unit1> </Unit1>
@ -206,6 +211,7 @@
<Filename Value="UfrmAccountControl.pas"/> <Filename Value="UfrmAccountControl.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="frmAccountControl"/> <ComponentName Value="frmAccountControl"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="UfrmAccountControl"/> <UnitName Value="UfrmAccountControl"/>
</Unit5> </Unit5>

View File

@ -15,7 +15,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
OnShow = FormShow OnShow = FormShow
Position = poOwnerFormCenter Position = poOwnerFormCenter
ShowInTaskBar = stAlways ShowInTaskBar = stAlways
LCLVersion = '0.9.31' LCLVersion = '1.3'
object nbActions: TNotebook object nbActions: TNotebook
AnchorSideLeft.Control = vstActions AnchorSideLeft.Control = vstActions
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
@ -27,21 +27,21 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
Height = 349 Height = 349
Top = 0 Top = 0
Width = 468 Width = 468
PageIndex = 3 PageIndex = 0
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
TabOrder = 0 TabOrder = 0
TabStop = True TabStop = True
object pgArea: TPage object pgArea: TPage
ClientWidth = 468
ClientHeight = 349
object sbArea: TScrollBox object sbArea: TScrollBox
Left = 0 Left = 0
Height = 349 Height = 349
Top = 0 Top = 0
Width = 468 Width = 468
HorzScrollBar.Page = 464
VertScrollBar.Page = 345
Align = alClient Align = alClient
ClientHeight = 347 ClientHeight = 345
ClientWidth = 466 ClientWidth = 464
TabOrder = 0 TabOrder = 0
object pbArea: TPaintBox object pbArea: TPaintBox
Left = 0 Left = 0
@ -55,8 +55,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
end end
end end
object pgCopyMove: TPage object pgCopyMove: TPage
ClientWidth = 936
ClientHeight = 698
object rgCMAction: TRadioGroup object rgCMAction: TRadioGroup
AnchorSideLeft.Control = pgCopyMove AnchorSideLeft.Control = pgCopyMove
AnchorSideTop.Control = pgCopyMove AnchorSideTop.Control = pgCopyMove
@ -198,7 +196,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
} }
NumGlyphs = 0
OnClick = btnGrabOffsetClick OnClick = btnGrabOffsetClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -218,8 +215,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
end end
end end
object pgModifyAltitude: TPage object pgModifyAltitude: TPage
ClientWidth = 468
ClientHeight = 349
object Label2: TLabel object Label2: TLabel
AnchorSideLeft.Control = rbSetTerrainAltitude AnchorSideLeft.Control = rbSetTerrainAltitude
AnchorSideTop.Control = rbSetTerrainAltitude AnchorSideTop.Control = rbSetTerrainAltitude
@ -325,8 +320,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
end end
end end
object pgDrawTerrain: TPage object pgDrawTerrain: TPage
ClientWidth = 468
ClientHeight = 349
object gbDrawTerrainTiles: TGroupBox object gbDrawTerrainTiles: TGroupBox
AnchorSideLeft.Control = pgDrawTerrain AnchorSideLeft.Control = pgDrawTerrain
AnchorSideTop.Control = pgDrawTerrain AnchorSideTop.Control = pgDrawTerrain
@ -454,7 +447,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnClearTerrainClick OnClick = btnClearTerrainClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -506,7 +498,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnDeleteTerrainClick OnClick = btnDeleteTerrainClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -514,8 +505,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
end end
end end
object pgDeleteStatics: TPage object pgDeleteStatics: TPage
ClientWidth = 1848
ClientHeight = 1264
object gbDeleteStaticsTiles: TGroupBox object gbDeleteStaticsTiles: TGroupBox
AnchorSideLeft.Control = pgDeleteStatics AnchorSideLeft.Control = pgDeleteStatics
AnchorSideTop.Control = pgDeleteStatics AnchorSideTop.Control = pgDeleteStatics
@ -643,7 +632,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnClearDStaticsTilesClick OnClick = btnClearDStaticsTilesClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -695,7 +683,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnDeleteDStaticsTilesClick OnClick = btnDeleteDStaticsTilesClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -773,8 +760,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
end end
end end
object pgInsertStatics: TPage object pgInsertStatics: TPage
ClientWidth = 1848
ClientHeight = 1264
object gbInserStaticsTiles: TGroupBox object gbInserStaticsTiles: TGroupBox
AnchorSideLeft.Control = pgInsertStatics AnchorSideLeft.Control = pgInsertStatics
AnchorSideTop.Control = pgInsertStatics AnchorSideTop.Control = pgInsertStatics
@ -899,7 +884,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnClearIStaticsTilesClick OnClick = btnClearIStaticsTilesClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -951,7 +935,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnDeleteIStaticsTilesClick OnClick = btnDeleteIStaticsTilesClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -1131,7 +1114,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
AnchorSideBottom.Control = btnDeleteArea AnchorSideBottom.Control = btnDeleteArea
Left = 4 Left = 4
Height = 119 Height = 119
Top = 155 Top = 153
Width = 144 Width = 144
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 4
@ -1154,7 +1137,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
AnchorSideRight.Control = vstActions AnchorSideRight.Control = vstActions
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 4 Left = 4
Height = 15 Height = 13
Top = 140 Top = 140
Width = 144 Width = 144
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -1177,7 +1160,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
item item
Position = 0 Position = 0
Text = 'Actions' Text = 'Actions'
Width = 150 Width = 148
end> end>
Header.DefaultHeight = 17 Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoVisible] Header.Options = [hoAutoResize, hoVisible]
@ -1198,7 +1181,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
Left = 39 Left = 39
Height = 22 Height = 22
Hint = 'Add area' Hint = 'Add area'
Top = 278 Top = 276
Width = 22 Width = 22
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Glyph.Data = { Glyph.Data = {
@ -1237,7 +1220,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnAddAreaClick OnClick = btnAddAreaClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -1250,7 +1232,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
Left = 65 Left = 65
Height = 22 Height = 22
Hint = 'Delete area' Hint = 'Delete area'
Top = 278 Top = 276
Width = 22 Width = 22
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 4
@ -1291,7 +1273,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnDeleteAreaClick OnClick = btnDeleteAreaClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -1303,7 +1284,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
Left = 91 Left = 91
Height = 22 Height = 22
Hint = 'Delete all areas' Hint = 'Delete all areas'
Top = 278 Top = 276
Width = 22 Width = 22
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -1341,7 +1322,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnClearAreaClick OnClick = btnClearAreaClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -1351,9 +1331,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
AnchorSideTop.Control = seX1 AnchorSideTop.Control = seX1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 4 Left = 4
Height = 15 Height = 13
Top = 311 Top = 310
Width = 9 Width = 6
Caption = 'X' Caption = 'X'
Enabled = False Enabled = False
ParentColor = False ParentColor = False
@ -1361,9 +1341,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
object seX1: TSpinEdit object seX1: TSpinEdit
AnchorSideLeft.Control = seY1 AnchorSideLeft.Control = seY1
AnchorSideBottom.Control = seY1 AnchorSideBottom.Control = seY1
Left = 20 Left = 17
Height = 20 Height = 21
Top = 308 Top = 306
Width = 50 Width = 50
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
@ -1376,9 +1356,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
AnchorSideLeft.Control = seX1 AnchorSideLeft.Control = seX1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = seX1 AnchorSideTop.Control = seX1
Left = 78 Left = 75
Height = 20 Height = 21
Top = 308 Top = 306
Width = 50 Width = 50
BorderSpacing.Left = 8 BorderSpacing.Left = 8
Enabled = False Enabled = False
@ -1391,9 +1371,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
AnchorSideTop.Control = seY1 AnchorSideTop.Control = seY1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 4 Left = 4
Height = 15 Height = 13
Top = 339 Top = 339
Width = 8 Width = 5
BorderSpacing.Left = 4 BorderSpacing.Left = 4
Caption = 'Y' Caption = 'Y'
Enabled = False Enabled = False
@ -1403,9 +1383,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
AnchorSideLeft.Control = lblY AnchorSideLeft.Control = lblY
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = btnGrab1 AnchorSideBottom.Control = btnGrab1
Left = 20 Left = 17
Height = 20 Height = 21
Top = 336 Top = 335
Width = 50 Width = 50
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
@ -1418,9 +1398,9 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
object seY2: TSpinEdit object seY2: TSpinEdit
AnchorSideLeft.Control = seX2 AnchorSideLeft.Control = seX2
AnchorSideTop.Control = seY1 AnchorSideTop.Control = seY1
Left = 78 Left = 75
Height = 20 Height = 21
Top = 336 Top = 335
Width = 50 Width = 50
Enabled = False Enabled = False
OnChange = seX1Change OnChange = seX1Change
@ -1432,7 +1412,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 34 Left = 31
Height = 22 Height = 22
Hint = 'Grab coordinates from the main window.' Hint = 'Grab coordinates from the main window.'
Top = 360 Top = 360
@ -1476,7 +1456,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
} }
NumGlyphs = 0
OnClick = btnGrab1Click OnClick = btnGrab1Click
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -1486,7 +1465,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = btnGrab1 AnchorSideBottom.Control = btnGrab1
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 92 Left = 89
Height = 22 Height = 22
Hint = 'Grab coordinates from the main window.' Hint = 'Grab coordinates from the main window.'
Top = 360 Top = 360
@ -1529,7 +1508,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
} }
NumGlyphs = 0
OnClick = btnGrab1Click OnClick = btnGrab1Click
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False

View File

@ -666,10 +666,18 @@ begin
if selected then if selected then
begin begin
nodeInfo := Sender.GetNodeData(Node); nodeInfo := Sender.GetNodeData(Node);
seX1.OnChange := nil;
seX2.OnChange := nil;
seY1.OnChange := nil;
seY2.OnChange := nil;
seX1.Value := nodeInfo^.Left; seX1.Value := nodeInfo^.Left;
seX2.Value := nodeInfo^.Right; seX2.Value := nodeInfo^.Right;
seY1.Value := nodeInfo^.Top; seY1.Value := nodeInfo^.Top;
seY2.Value := nodeInfo^.Bottom; seY2.Value := nodeInfo^.Bottom;
seX1.OnChange := @seX1Change;
seX2.OnChange := @seX1Change;
seY1.OnChange := @seX1Change;
seY2.OnChange := @seX1Change;
end; end;
pbArea.Repaint; pbArea.Repaint;
end; end;

View File

@ -18,7 +18,7 @@ object frmMain: TfrmMain
Position = poScreenCenter Position = poScreenCenter
SessionProperties = 'acFlat.Checked;acNoDraw.Checked;Height;Left;mnuFlatShowHeight.Checked;mnuSecurityQuestion.Checked;mnuShowAnimations.Checked;spTileList.Top;tbStatics.Down;tbTerrain.Down;Top;Width;WindowState;mnuWhiteBackground.Checked' SessionProperties = 'acFlat.Checked;acNoDraw.Checked;Height;Left;mnuFlatShowHeight.Checked;mnuSecurityQuestion.Checked;mnuShowAnimations.Checked;spTileList.Top;tbStatics.Down;tbTerrain.Down;Top;Width;WindowState;mnuWhiteBackground.Checked'
ShowInTaskBar = stAlways ShowInTaskBar = stAlways
LCLVersion = '0.9.31' LCLVersion = '1.3'
WindowState = wsMaximized WindowState = wsMaximized
object pnlBottom: TPanel object pnlBottom: TPanel
Left = 0 Left = 0
@ -32,33 +32,33 @@ object frmMain: TfrmMain
TabOrder = 0 TabOrder = 0
object lblX: TLabel object lblX: TLabel
Left = 11 Left = 11
Height = 14 Height = 13
Top = 7 Top = 7
Width = 10 Width = 9
Caption = 'X:' Caption = 'X:'
ParentColor = False ParentColor = False
end end
object lblY: TLabel object lblY: TLabel
Left = 88 Left = 88
Height = 14 Height = 13
Top = 7 Top = 7
Width = 9 Width = 8
Caption = 'Y:' Caption = 'Y:'
ParentColor = False ParentColor = False
end end
object lblTileInfo: TLabel object lblTileInfo: TLabel
Left = 240 Left = 240
Height = 14 Height = 13
Top = 7 Top = 7
Width = 4 Width = 3
Caption = ' ' Caption = ' '
ParentColor = False ParentColor = False
end end
object lblTip: TLabel object lblTip: TLabel
Left = 523 Left = 524
Height = 31 Height = 31
Top = 0 Top = 0
Width = 224 Width = 223
Align = alRight Align = alRight
Alignment = taRightJustify Alignment = taRightJustify
BorderSpacing.Right = 8 BorderSpacing.Right = 8
@ -67,10 +67,10 @@ object frmMain: TfrmMain
ParentColor = False ParentColor = False
end end
object lblTipC: TLabel object lblTipC: TLabel
Left = 500 Left = 502
Height = 31 Height = 31
Top = 0 Top = 0
Width = 23 Width = 22
Align = alRight Align = alRight
Caption = 'Tip: ' Caption = 'Tip: '
Font.Height = -11 Font.Height = -11
@ -124,9 +124,9 @@ object frmMain: TfrmMain
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = cbTerrain AnchorSideTop.Control = cbTerrain
Left = 75 Left = 75
Height = 14 Height = 13
Top = 8 Top = 8
Width = 30 Width = 29
BorderSpacing.Left = 16 BorderSpacing.Left = 16
Caption = 'Filter:' Caption = 'Filter:'
ParentColor = False ParentColor = False
@ -252,7 +252,6 @@ object frmMain: TfrmMain
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnAddRandomClick OnClick = btnAddRandomClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -303,7 +302,6 @@ object frmMain: TfrmMain
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnDeleteRandomClick OnClick = btnDeleteRandomClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -354,7 +352,6 @@ object frmMain: TfrmMain
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnClearRandomClick OnClick = btnClearRandomClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -405,7 +402,6 @@ object frmMain: TfrmMain
4DFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B4FFFC5894BFFC476 4DFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B4FFFC5894BFFC476
3BFF000000000000000000000000000000000000000000000000 3BFF000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnRandomPresetSaveClick OnClick = btnRandomPresetSaveClick
ShowCaption = False ShowCaption = False
ShowHint = True ShowHint = True
@ -458,7 +454,6 @@ object frmMain: TfrmMain
0000C88B4DFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B 0000C88B4DFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B
4FFFC5894BFFC4763BFF00000000000000000000000000000000 4FFFC5894BFFC4763BFF00000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnRandomPresetDeleteClick OnClick = btnRandomPresetDeleteClick
ShowCaption = False ShowCaption = False
ShowHint = True ShowHint = True
@ -578,7 +573,7 @@ object frmMain: TfrmMain
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 75 Left = 75
Height = 21 Height = 21
Top = 22 Top = 21
Width = 125 Width = 125
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 16 BorderSpacing.Right = 16
@ -683,7 +678,6 @@ object frmMain: TfrmMain
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnClearLocationsClick OnClick = btnClearLocationsClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -736,7 +730,6 @@ object frmMain: TfrmMain
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnDeleteLocationClick OnClick = btnDeleteLocationClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -787,7 +780,6 @@ object frmMain: TfrmMain
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnAddLocationClick OnClick = btnAddLocationClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -1048,7 +1040,7 @@ object frmMain: TfrmMain
Left = 10 Left = 10
Height = 18 Height = 18
Top = 2 Top = 2
Width = 101 Width = 100
Align = alLeft Align = alLeft
BorderSpacing.Left = 8 BorderSpacing.Left = 8
Caption = 'Chat and Messages' Caption = 'Chat and Messages'
@ -1128,13 +1120,14 @@ object frmMain: TfrmMain
end end
object spChat: TSplitter object spChat: TSplitter
AnchorSideLeft.Control = pcLeft AnchorSideLeft.Control = pcLeft
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Cursor = crVSplit Cursor = crVSplit
Left = 0 Left = 224
Height = 5 Height = 5
Top = 414 Top = 414
Width = 755 Width = 531
Align = alNone Align = alNone
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
AutoSnap = False AutoSnap = False

View File

@ -14,7 +14,7 @@ object frmRegionControl: TfrmRegionControl
OnShow = FormShow OnShow = FormShow
Position = poOwnerFormCenter Position = poOwnerFormCenter
ShowInTaskBar = stAlways ShowInTaskBar = stAlways
LCLVersion = '0.9.29' LCLVersion = '1.3'
object sbArea: TScrollBox object sbArea: TScrollBox
AnchorSideLeft.Control = vstRegions AnchorSideLeft.Control = vstRegions
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
@ -26,6 +26,8 @@ object frmRegionControl: TfrmRegionControl
Height = 372 Height = 372
Top = 0 Top = 0
Width = 460 Width = 460
HorzScrollBar.Page = 456
VertScrollBar.Page = 368
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
ClientHeight = 368 ClientHeight = 368
ClientWidth = 456 ClientWidth = 456
@ -110,7 +112,6 @@ object frmRegionControl: TfrmRegionControl
Width = 22 Width = 22
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 4 BorderSpacing.Around = 4
Color = clBtnFace
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000 2000000000000004000064000000640000000000000000000000000000000000
@ -147,7 +148,6 @@ object frmRegionControl: TfrmRegionControl
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = mnuAddRegionClick OnClick = mnuAddRegionClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -164,7 +164,6 @@ object frmRegionControl: TfrmRegionControl
Width = 22 Width = 22
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Left = 4 BorderSpacing.Left = 4
Color = clBtnFace
Enabled = False Enabled = False
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -202,7 +201,6 @@ object frmRegionControl: TfrmRegionControl
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = mnuDeleteRegionClick OnClick = mnuDeleteRegionClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -215,8 +213,8 @@ object frmRegionControl: TfrmRegionControl
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = btnDeleteArea AnchorSideBottom.Control = btnDeleteArea
Left = 4 Left = 4
Height = 124 Height = 121
Top = 179 Top = 178
Width = 152 Width = 152
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 4 BorderSpacing.Left = 4
@ -241,7 +239,7 @@ object frmRegionControl: TfrmRegionControl
AnchorSideRight.Control = spRegionsArea AnchorSideRight.Control = spRegionsArea
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 4 Left = 4
Height = 14 Height = 13
Top = 165 Top = 165
Width = 152 Width = 152
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -270,10 +268,9 @@ object frmRegionControl: TfrmRegionControl
Left = 43 Left = 43
Height = 22 Height = 22
Hint = 'Add area' Hint = 'Add area'
Top = 307 Top = 303
Width = 22 Width = 22
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Color = clBtnFace
Enabled = False Enabled = False
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -311,7 +308,6 @@ object frmRegionControl: TfrmRegionControl
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnAddAreaClick OnClick = btnAddAreaClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -323,12 +319,11 @@ object frmRegionControl: TfrmRegionControl
Left = 69 Left = 69
Height = 22 Height = 22
Hint = 'Delete area' Hint = 'Delete area'
Top = 307 Top = 303
Width = 22 Width = 22
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 4
BorderSpacing.Around = 4 BorderSpacing.Around = 4
Color = clBtnFace
Enabled = False Enabled = False
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -366,7 +361,6 @@ object frmRegionControl: TfrmRegionControl
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnDeleteAreaClick OnClick = btnDeleteAreaClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -378,9 +372,8 @@ object frmRegionControl: TfrmRegionControl
Left = 95 Left = 95
Height = 22 Height = 22
Hint = 'Delete all areas' Hint = 'Delete all areas'
Top = 307 Top = 303
Width = 22 Width = 22
Color = clBtnFace
Enabled = False Enabled = False
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -418,7 +411,6 @@ object frmRegionControl: TfrmRegionControl
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000
} }
NumGlyphs = 0
OnClick = btnClearAreaClick OnClick = btnClearAreaClick
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -428,9 +420,9 @@ object frmRegionControl: TfrmRegionControl
AnchorSideTop.Control = seX1 AnchorSideTop.Control = seX1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 4 Left = 4
Height = 14 Height = 13
Top = 339 Top = 337
Width = 8 Width = 6
BorderSpacing.Left = 4 BorderSpacing.Left = 4
Caption = 'X' Caption = 'X'
Enabled = False Enabled = False
@ -439,9 +431,9 @@ object frmRegionControl: TfrmRegionControl
object seX1: TSpinEdit object seX1: TSpinEdit
AnchorSideLeft.Control = seY1 AnchorSideLeft.Control = seY1
AnchorSideBottom.Control = seY1 AnchorSideBottom.Control = seY1
Left = 20 Left = 17
Height = 19 Height = 21
Top = 337 Top = 333
Width = 50 Width = 50
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
@ -454,9 +446,9 @@ object frmRegionControl: TfrmRegionControl
AnchorSideLeft.Control = seX1 AnchorSideLeft.Control = seX1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = seX1 AnchorSideTop.Control = seX1
Left = 78 Left = 75
Height = 19 Height = 21
Top = 337 Top = 333
Width = 50 Width = 50
BorderSpacing.Left = 8 BorderSpacing.Left = 8
Enabled = False Enabled = False
@ -469,9 +461,9 @@ object frmRegionControl: TfrmRegionControl
AnchorSideTop.Control = seY1 AnchorSideTop.Control = seY1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 4 Left = 4
Height = 14 Height = 13
Top = 366 Top = 366
Width = 8 Width = 5
Caption = 'Y' Caption = 'Y'
Enabled = False Enabled = False
ParentColor = False ParentColor = False
@ -482,10 +474,10 @@ object frmRegionControl: TfrmRegionControl
AnchorSideRight.Control = seX1 AnchorSideRight.Control = seX1
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = btnGrab1 AnchorSideBottom.Control = btnGrab1
Left = 20 Left = 17
Height = 19 Height = 21
Top = 364 Top = 362
Width = 50 Width = 53
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
Enabled = False Enabled = False
@ -499,9 +491,9 @@ object frmRegionControl: TfrmRegionControl
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = seX2 AnchorSideRight.Control = seX2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 78 Left = 75
Height = 19 Height = 21
Top = 364 Top = 362
Width = 50 Width = 50
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 8 BorderSpacing.Top = 8
@ -515,14 +507,13 @@ object frmRegionControl: TfrmRegionControl
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 34 Left = 32
Height = 22 Height = 22
Hint = 'Grab coordinates from the main window.' Hint = 'Grab coordinates from the main window.'
Top = 387 Top = 387
Width = 22 Width = 22
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 4 BorderSpacing.Around = 4
Color = clBtnFace
Enabled = False Enabled = False
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -560,7 +551,6 @@ object frmRegionControl: TfrmRegionControl
FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
} }
NumGlyphs = 0
OnClick = btnGrab1Click OnClick = btnGrab1Click
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False
@ -570,13 +560,12 @@ object frmRegionControl: TfrmRegionControl
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = btnGrab1 AnchorSideBottom.Control = btnGrab1
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 92 Left = 89
Height = 22 Height = 22
Hint = 'Grab coordinates from the main window.' Hint = 'Grab coordinates from the main window.'
Top = 387 Top = 387
Width = 22 Width = 22
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
Color = clBtnFace
Enabled = False Enabled = False
Glyph.Data = { Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100 36040000424D3604000000000000360000002800000010000000100000000100
@ -614,7 +603,6 @@ object frmRegionControl: TfrmRegionControl
FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00CBCBCB7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
} }
NumGlyphs = 0
OnClick = btnGrab1Click OnClick = btnGrab1Click
ShowHint = True ShowHint = True
ParentShowHint = False ParentShowHint = False

View File

@ -494,10 +494,18 @@ begin
if selected then if selected then
begin begin
areaInfo := Sender.GetNodeData(Node); areaInfo := Sender.GetNodeData(Node);
seX1.OnChange := nil;
seX2.OnChange := nil;
seY1.OnChange := nil;
seY2.OnChange := nil;
seX1.Value := areaInfo^.Left; seX1.Value := areaInfo^.Left;
seX2.Value := areaInfo^.Right; seX2.Value := areaInfo^.Right;
seY1.Value := areaInfo^.Top; seY1.Value := areaInfo^.Top;
seY2.Value := areaInfo^.Bottom; seY2.Value := areaInfo^.Bottom;
seX1.OnChange := @seX1Change;
seX2.OnChange := @seX1Change;
seY1.OnChange := @seX1Change;
seY2.OnChange := @seX1Change;
end; end;
pbArea.Repaint; pbArea.Repaint;
end; end;

View File

@ -68,7 +68,7 @@ type
constructor CreateFromImage(AImage: TBaseImage); constructor CreateFromImage(AImage: TBaseImage);
destructor Destroy; override; destructor Destroy; override;
{ Returns info about current image.} { Returns info about current image.}
function ToString: string; {$IF Defined(DCC) and (CompilerVersion >= 20.0)}override;{$IFEND} function ToString: string;
{ Creates a new image data with the given size and format. Old image { Creates a new image data with the given size and format. Old image
data is lost. Works only for the current image of TMultiImage.} data is lost. Works only for the current image of TMultiImage.}

View File

@ -336,7 +336,7 @@ implementation
uses uses
{$IF Defined(LCL)} {$IF Defined(LCL)}
{$IF Defined(LCLGTK2)} {$IF Defined(LCLGTK2)}
GLib2, GDK2, GTK2, GTK2Def, GTK2Proc, GLib2, GDK2, GTK2, GTKDef, GTKProc,
{$ELSEIF Defined(LCLGTK)} {$ELSEIF Defined(LCLGTK)}
GDK, GTK, GTKDef, GTKProc, GDK, GTK, GTKDef, GTKProc,
{$IFEND} {$IFEND}

View File

@ -1,5 +1,5 @@
{ {
$Id: ImagingFormats.pas 176 2009-10-12 10:53:17Z galfar $ $Id: ImagingFormats.pas 174 2009-09-08 09:37:59Z galfar $
Vampyre Imaging Library Vampyre Imaging Library
by Marek Mauder by Marek Mauder
http://imaginglib.sourceforge.net http://imaginglib.sourceforge.net

View File

@ -1,5 +1,5 @@
{ {
$Id: ImagingJpeg.pas 180 2009-10-16 01:07:26Z galfar $ $Id: ImagingJpeg.pas 168 2009-08-22 18:50:21Z galfar $
Vampyre Imaging Library Vampyre Imaging Library
by Marek Mauder by Marek Mauder
http://imaginglib.sourceforge.net http://imaginglib.sourceforge.net
@ -330,7 +330,7 @@ begin
if Saver.FGrayScale then if Saver.FGrayScale then
jc.c.in_color_space := JCS_GRAYSCALE jc.c.in_color_space := JCS_GRAYSCALE
else else
jc.c.in_color_space := JCS_RGB; jc.c.in_color_space := JCS_YCbCr;
jpeg_set_defaults(@jc.c); jpeg_set_defaults(@jc.c);
jpeg_set_quality(@jc.c, Saver.FQuality, True); jpeg_set_quality(@jc.c, Saver.FQuality, True);
if Saver.FProgressive then if Saver.FProgressive then
@ -371,8 +371,9 @@ var
jc: TJpegContext; jc: TJpegContext;
Info: TImageFormatInfo; Info: TImageFormatInfo;
Col32: PColor32Rec; Col32: PColor32Rec;
NeedsRedBlueSwap: Boolean; {$IFDEF RGBSWAPPED}
Pix: PColor24Rec; Pix: PColor24Rec;
{$ENDIF}
begin begin
// Copy IO functions to global var used in JpegLib callbacks // Copy IO functions to global var used in JpegLib callbacks
Result := False; Result := False;
@ -396,18 +397,11 @@ begin
LinesPerCall := 1; LinesPerCall := 1;
Dest := Bits; Dest := Bits;
// If Jpeg's colorspace is RGB and not YCbCr we need to swap
// R and B to get Imaging's native order
NeedsRedBlueSwap := jc.d.jpeg_color_space = JCS_RGB;
{$IFDEF RGBSWAPPED}
// Force R-B swap for FPC's PasJpeg
NeedsRedBlueSwap := True;
{$ENDIF}
while jc.d.output_scanline < jc.d.output_height do while jc.d.output_scanline < jc.d.output_height do
begin begin
LinesRead := jpeg_read_scanlines(@jc.d, @Dest, LinesPerCall); LinesRead := jpeg_read_scanlines(@jc.d, @Dest, LinesPerCall);
if NeedsRedBlueSwap and (Format = ifR8G8B8) then {$IFDEF RGBSWAPPED}
if Format = ifR8G8B8 then
begin begin
Pix := PColor24Rec(Dest); Pix := PColor24Rec(Dest);
for I := 0 to Width - 1 do for I := 0 to Width - 1 do
@ -416,6 +410,7 @@ begin
Inc(Pix); Inc(Pix);
end; end;
end; end;
{$ENDIF}
Inc(Dest, PtrInc * LinesRead); Inc(Dest, PtrInc * LinesRead);
end; end;
@ -558,10 +553,6 @@ initialization
-- TODOS ---------------------------------------------------- -- TODOS ----------------------------------------------------
- nothing now - nothing now
-- 0.26.5 Changes/Bug Fixes ---------------------------------
- Fixed swapped Red-Blue order when loading Jpegs with
jc.d.jpeg_color_space = JCS_RGB.
-- 0.26.3 Changes/Bug Fixes --------------------------------- -- 0.26.3 Changes/Bug Fixes ---------------------------------
- Changed the Jpeg error manager, messages were not properly formated. - Changed the Jpeg error manager, messages were not properly formated.

View File

@ -83,14 +83,6 @@
{$ENDIF} {$ENDIF}
{$ENDIF} {$ENDIF}
{$IF (Defined(DCC) and (CompilerVersion >= 18.5))}
{$IFDEF RELEASE}
{$UNDEF DEBUG} // If we are using Delphi 2007+ where you can set
// DEBUG/RELEASE mode in project options and RELEASE
// is currently set we undef DEBUG mode
{$ENDIF}
{$IFEND}
{$IF Defined(IMAGING_DEBUG)} {$IF Defined(IMAGING_DEBUG)}
{$ASSERTIONS ON} {$ASSERTIONS ON}
{$DEBUGINFO ON} {$DEBUGINFO ON}
@ -128,18 +120,13 @@
// Define if compiler supports inlining of functions and procedures // Define if compiler supports inlining of functions and procedures
// Note that FPC inline support crashed in older versions (1.9.8) // Note that FPC inline support crashed in older versions (1.9.8)
{$IF (Defined(DCC) and (CompilerVersion >= 17)) or (Defined(FPC) and Defined(CPU86))} {$IF (Defined(FPC) and Defined(CPU86))}
{$DEFINE HAS_INLINE} {$DEFINE HAS_INLINE}
{$IFEND} {$IFEND}
// Define if compiler supports advanced records with methods
{$IF (Defined(DCC) and (CompilerVersion >= 18)) }
{$DEFINE HAS_ADVANCED_RECORDS}
{$IFEND}
// Define if compiler supports operator overloading // Define if compiler supports operator overloading
// (unfortunately Delphi and FPC operator overloaing is not compatible) // (unfortunately Delphi and FPC operator overloaing is not compatible)
{$IF (Defined(DCC) and (CompilerVersion >= 18)) or Defined(FPC)} {$IF Defined(FPC)}
{$DEFINE HAS_OPERATOR_OVERLOADING} {$DEFINE HAS_OPERATOR_OVERLOADING}
{$IFEND} {$IFEND}

View File

@ -1499,7 +1499,7 @@ end;
function TheObjectVector.GetEnumerator: TEnumerator; function TheObjectVector.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheObjectVector.Has(const Item: TItem): Boolean; function TheObjectVector.Has(const Item: TItem): Boolean;
@ -1733,7 +1733,7 @@ end;
function TheVector.GetEnumerator: TEnumerator; function TheVector.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheVector.Has(const Item: TItem): Boolean; function TheVector.Has(const Item: TItem): Boolean;
@ -1944,7 +1944,7 @@ end;
function TheCmpVector.GetEnumerator: TEnumerator; function TheCmpVector.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheCmpVector.Has(const Item: TItem): Boolean; function TheCmpVector.Has(const Item: TItem): Boolean;
@ -2105,7 +2105,7 @@ end;
function TheSortVector.GetEnumerator: TEnumerator; function TheSortVector.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheSortVector.Has(const Item: TItem): Boolean; function TheSortVector.Has(const Item: TItem): Boolean;
@ -2267,7 +2267,7 @@ end;
function TheCmpSortVector.GetEnumerator: TEnumerator; function TheCmpSortVector.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheCmpSortVector.Has(const Item: TItem): Boolean; function TheCmpSortVector.Has(const Item: TItem): Boolean;
@ -2439,7 +2439,7 @@ end;
function TheObjectSortVector.GetEnumerator: TEnumerator; function TheObjectSortVector.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheObjectSortVector.Has(const Item: TItem): Boolean; function TheObjectSortVector.Has(const Item: TItem): Boolean;
@ -2621,7 +2621,7 @@ end;
function TheVectorSet.GetEnumerator: TEnumerator; function TheVectorSet.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheVectorSet.Include(const Item: TItem): Boolean; function TheVectorSet.Include(const Item: TItem): Boolean;
@ -2778,7 +2778,7 @@ end;
function TheCmpVectorSet.GetEnumerator: TEnumerator; function TheCmpVectorSet.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheCmpVectorSet.Include(const Item: TItem): Boolean; function TheCmpVectorSet.Include(const Item: TItem): Boolean;
@ -2941,7 +2941,7 @@ end;
function TheObjectVectorSet.GetEnumerator: TEnumerator; function TheObjectVectorSet.GetEnumerator: TEnumerator;
begin begin
Result.Init(-1, @MoveNext, @GetCurrent); Result.Init(-1, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheObjectVectorSet.Include(const Item: TItem): Boolean; function TheObjectVectorSet.Include(const Item: TItem): Boolean;
@ -3732,7 +3732,7 @@ end;
function TheList.GetEnumerator: TEnumerator; function TheList.GetEnumerator: TEnumerator;
begin begin
Result.Init(NewIterator, @MoveNext, @CurrentItem); Result.Init(NewIterator, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@CurrentItem));
end; end;
function TheList.CurrentItem(var Iterator: TIterator): TItem; function TheList.CurrentItem(var Iterator: TIterator): TItem;
@ -3937,7 +3937,7 @@ end;
function TheObjectList.GetEnumerator: TEnumerator; function TheObjectList.GetEnumerator: TEnumerator;
begin begin
Result.Init(NewIterator, @MoveNext, @CurrentItem); Result.Init(NewIterator, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@CurrentItem));
end; end;
function TheObjectList.CurrentItem(var Iterator: TIterator): TItem; function TheObjectList.CurrentItem(var Iterator: TIterator): TItem;
@ -4163,7 +4163,7 @@ begin
Iterator.Index := -1; Iterator.Index := -1;
Iterator.UseSentinel := False; Iterator.UseSentinel := False;
Assert(Iterator.Page = Iterator.Page); // hint off Assert(Iterator.Page = Iterator.Page); // hint off
Result.Init(Iterator, @MoveNext, @GetCurrent); Result.Init(Iterator, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheBTreeSet.Include(const Item: TItem): Boolean; function TheBTreeSet.Include(const Item: TItem): Boolean;
@ -5273,7 +5273,7 @@ begin
Iterator.Index := -1; Iterator.Index := -1;
Iterator.UseSentinel := False; Iterator.UseSentinel := False;
Assert(Iterator.Page = Iterator.Page); // hint off Assert(Iterator.Page = Iterator.Page); // hint off
Result.Init(Iterator, @MoveNext, @GetCurrent); Result.Init(Iterator, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheCmpBTreeSet.Include(const Item: TItem): Boolean; function TheCmpBTreeSet.Include(const Item: TItem): Boolean;
@ -5781,7 +5781,7 @@ begin
Iterator.Index := -1; Iterator.Index := -1;
Iterator.UseSentinel := False; Iterator.UseSentinel := False;
Assert(Iterator.Page = Iterator.Page); // hint off Assert(Iterator.Page = Iterator.Page); // hint off
Result.Init(Iterator, @MoveNext, @GetCurrent); Result.Init(Iterator, TEnumerator.TMoveNext(@MoveNext), TEnumerator.TGetCurrent(@GetCurrent));
end; end;
function TheObjectBTreeSet.Include(const Item: TItem): Boolean; function TheObjectBTreeSet.Include(const Item: TItem): Boolean;