X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fvampimg%2FImagingTarga.pas;h=921f0097fac37bb5ce7e6a15670750c0c9d50002;hb=c737ec14212534a2b7069615641afdf329ea8cb4;hp=5103f78e5e165fc80731a4c950d8a07ceec57e20;hpb=8f815647c61a98e32b85066bf245b262694ac634;p=d2df-sdl.git diff --git a/src/lib/vampimg/ImagingTarga.pas b/src/lib/vampimg/ImagingTarga.pas index 5103f78..921f009 100644 --- a/src/lib/vampimg/ImagingTarga.pas +++ b/src/lib/vampimg/ImagingTarga.pas @@ -1,5 +1,4 @@ { - $Id: ImagingTarga.pas 139 2008-09-18 02:01:42Z galfar $ Vampyre Imaging Library by Marek Mauder http://imaginglib.sourceforge.net @@ -43,6 +42,7 @@ type 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; @@ -50,7 +50,6 @@ type 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 @@ -99,13 +98,11 @@ type { 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; @@ -200,6 +197,12 @@ begin 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