index 5103f78e5e165fc80731a4c950d8a07ceec57e20..921f0097fac37bb5ce7e6a15670750c0c9d50002 100644 (file)
{
- $Id: ImagingTarga.pas 139 2008-09-18 02:01:42Z galfar $
Vampyre Imaging Library
by Marek Mauder
http://imaginglib.sourceforge.net
TTargaFileFormat = class(TImageFileFormat)
protected
FUseRLE: LongBool;
+ procedure Define; override;
function LoadData(Handle: TImagingHandle; var Images: TDynImageDataArray;
OnlyFirstLevel: Boolean): Boolean; override;
function SaveData(Handle: TImagingHandle; const Images: TDynImageDataArray;
procedure ConvertToSupported(var Image: TImageData;
const Info: TImageFormatInfo); override;
public
- constructor Create; override;
function TestFormat(Handle: TImagingHandle): Boolean; override;
published
{ Controls that RLE compression is used during saving. Accessible trough
{ TTargaFileFormat class implementation }
-constructor TTargaFileFormat.Create;
+procedure TTargaFileFormat.Define;
begin
- inherited Create;
+ inherited;
FName := STargaFormatName;
- FCanLoad := True;
- FCanSave := True;
- FIsMultiImageFormat := False;
+ FFeatures := [ffLoad, ffSave];
FSupportedFormats := TargaSupportedFormats;
FUseRLE := TargaDefaultRLE;
begin
// Read targa header
Read(Handle, @Hdr, SizeOf(Hdr));
+ Hdr.ColorMapOff := LEtoN(Hdr.ColorMapOff);
+ Hdr.ColorMapLength := LEtoN(Hdr.ColorMapLength);
+ Hdr.XOrg := LEtoN(Hdr.XOrg);
+ Hdr.YOrg := LEtoN(Hdr.YOrg);
+ Hdr.Width := LEtoN(Hdr.Width);
+ Hdr.Height := LEtoN(Hdr.Height);
// Skip image ID info
Seek(Handle, Hdr.IDLength, smFromCurrent);
// Determine image format