You've already forked lazarus-ccr
jvcllaz: Make sure that "Maximize compatibility" is checked in each package. Less hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8071 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -19,7 +19,9 @@ You may retrieve the latest version of this file at the Project JEDI's JVCL home
|
||||
located at http://jvcl.delphi-jedi.org
|
||||
|
||||
Known Issues:
|
||||
GIF support is native for VisualCLX so this file is VCL only
|
||||
GIF support is native for VisualCLX so this file is VCL only // <-- wp: really?
|
||||
Transparency does not seem to work
|
||||
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id$
|
||||
|
||||
@ -106,15 +108,15 @@ type
|
||||
procedure NewImage;
|
||||
procedure UniqueImage;
|
||||
procedure ReadData(Stream: TStream); override;
|
||||
procedure SetHeight(Value: Integer); override;
|
||||
procedure SetHeight({%H-}Value: Integer); override;
|
||||
procedure SetTransparent(Value: Boolean); override;
|
||||
procedure SetWidth(Value: Integer); override;
|
||||
procedure SetWidth({%H-}Value: Integer); override;
|
||||
procedure WriteData(Stream: TStream); override;
|
||||
property Bitmap: TBitmap read GetBitmap; { volatile }
|
||||
public
|
||||
constructor Create; override;
|
||||
destructor Destroy; override;
|
||||
procedure Clear;
|
||||
procedure Clear; override;
|
||||
procedure DecodeAllFrames;
|
||||
procedure EncodeAllFrames;
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
@ -126,10 +128,8 @@ type
|
||||
procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle;
|
||||
var APalette: HPALETTE); override;
|
||||
**********************************)
|
||||
procedure LoadFromResourceName(Instance: THandle; const ResName: string;
|
||||
ResType: PChar);
|
||||
procedure LoadFromResourceID(Instance: THandle; ResID: Integer;
|
||||
ResType: PChar);
|
||||
procedure LoadFromResourceName(Instance: THandle; const ResName: string); override;
|
||||
procedure LoadFromResourceID(Instance: THandle; ResID: Integer); override;
|
||||
function AddFrame(Value: TGraphic): Integer; virtual;
|
||||
procedure DeleteFrame(Index: Integer);
|
||||
procedure MoveFrame(CurIndex, NewIndex: Integer);
|
||||
@ -207,7 +207,7 @@ type
|
||||
property Width: Integer read GetWidth;
|
||||
end;
|
||||
|
||||
TGIFData = class(TSharedImage)
|
||||
TGIFData = class(TSharedRasterImage) //was: TSharedImage)
|
||||
private
|
||||
FComment: TStringList;
|
||||
FAspectRatio: Byte;
|
||||
@ -217,11 +217,11 @@ type
|
||||
protected
|
||||
procedure FreeHandle; override;
|
||||
public
|
||||
constructor Create;
|
||||
constructor Create; override;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
TGIFItem = class(TSharedImage)
|
||||
TGIFItem = class(TSharedRasterImage) //was: TSharedImage)
|
||||
private
|
||||
FImageData: TMemoryStream;
|
||||
FSize: TPoint;
|
||||
@ -526,7 +526,7 @@ begin
|
||||
(Length(FData[0]) >= 3) and (Byte(FData[0][1]) = AE_LOOPING);
|
||||
end;
|
||||
|
||||
procedure FreeExtensions(Extensions: TList); near;
|
||||
procedure FreeExtensions(Extensions: TList); {near;}
|
||||
begin
|
||||
if Extensions <> nil then
|
||||
begin
|
||||
@ -595,7 +595,7 @@ type
|
||||
PIntCodeTable = ^TIntCodeTable;
|
||||
TIntCodeTable = array [0..CODE_TABLE_SIZE - 1] of Word;
|
||||
|
||||
PReadContext = ^TReadContext;
|
||||
PReadContext = {%H-}^TReadContext;
|
||||
TReadContext = record
|
||||
Inx: Longint;
|
||||
Size: Longint;
|
||||
@ -604,7 +604,7 @@ type
|
||||
ReadMask: Longint;
|
||||
end;
|
||||
|
||||
PWriteContext = ^TWriteContext;
|
||||
PWriteContext = {%H-}^TWriteContext;
|
||||
TWriteContext = record
|
||||
Inx: Longint;
|
||||
CodeSize: Longint;
|
||||
@ -678,7 +678,8 @@ procedure ReadImageStream(Stream, Dest: TStream; var Desc: TImageDescriptor;
|
||||
var Interlaced, LocalColors, Corrupted: Boolean; var BitsPerPixel: Byte;
|
||||
var ColorTable: TGIFColorTable);
|
||||
var
|
||||
CodeSize, BlockSize: Byte;
|
||||
CodeSize: Byte = 0;
|
||||
BlockSize: Byte = 0;
|
||||
begin
|
||||
Corrupted := False;
|
||||
Stream.ReadBuffer(Desc, SizeOf(TImageDescriptor));
|
||||
@ -737,7 +738,7 @@ function ReadCode(Stream: TStream; var Context: TReadContext): Longint;
|
||||
var
|
||||
RawCode: Longint;
|
||||
ByteIndex: Longint;
|
||||
Bytes: Byte;
|
||||
Bytes: Byte = 0;
|
||||
BytesToLose: Longint;
|
||||
begin
|
||||
while (Context.Inx + Context.CodeSize > Context.Size) and
|
||||
@ -809,7 +810,8 @@ procedure ReadGIFData(Stream: TStream; const Header: TBitmapInfoHeader;
|
||||
Interlaced, LoadCorrupt: Boolean; IntBitPerPixel: Byte; Data: Pointer;
|
||||
var Corrupted: Boolean; ProgressProc: TProgressProc);
|
||||
var
|
||||
MinCodeSize, Temp: Byte;
|
||||
MinCodeSize: Byte = 0;
|
||||
Temp: Byte;
|
||||
MaxCode, BitMask, InitCodeSize: Longint;
|
||||
ClearCode, EndingCode, FirstFreeCode, FreeCode: Word;
|
||||
I, OutCount, Code: Longint;
|
||||
@ -1757,7 +1759,7 @@ var
|
||||
BitFile: TBitmapFileHeader;
|
||||
Colors: TRGBPalette;
|
||||
Bits: Pointer;
|
||||
Corrupt: Boolean;
|
||||
Corrupt: Boolean = false;
|
||||
begin
|
||||
with BI do
|
||||
begin
|
||||
@ -1794,6 +1796,7 @@ begin
|
||||
end;
|
||||
Stream.Write(BitFile, SizeOf(TBitmapFileHeader));
|
||||
Stream.Write(BI, SizeOf(TBitmapInfoHeader));
|
||||
Colors := Default(TRGBPalette);
|
||||
FillRGBPalette(FImage.FColorMap, Colors);
|
||||
Stream.Write(Colors, SizeOf(TRGBQuad) * (1 shl BI.biBitCount));
|
||||
|
||||
@ -1839,6 +1842,7 @@ var
|
||||
begin
|
||||
FImage.FImageData := TMemoryStream.Create;
|
||||
try
|
||||
ImageDesc := Default(TImageDescriptor);
|
||||
ReadImageStream(Stream, FImage.FImageData, ImageDesc, FInterlaced,
|
||||
FLocalColors, FCorrupted, FImage.FBitsPerPixel, FImage.FColorMap);
|
||||
if FCorrupted and not GIFLoadCorrupted then
|
||||
@ -2321,11 +2325,12 @@ begin
|
||||
ReadStream(Stream.Size - Stream.Position, Stream, True);
|
||||
end;
|
||||
|
||||
procedure TJvGIFImage.LoadFromResourceName(Instance: THandle; const ResName: string;
|
||||
ResType: PChar);
|
||||
procedure TJvGIFImage.LoadFromResourceName(Instance: THandle; const ResName: string);
|
||||
var
|
||||
Stream: TStream;
|
||||
ResType: TResourceType;
|
||||
begin
|
||||
ResType := GetResourceType;
|
||||
Stream := TResourceStream.Create(Instance, ResName, ResType);
|
||||
try
|
||||
ReadStream(Stream.Size - Stream.Position, Stream, True);
|
||||
@ -2334,11 +2339,12 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvGIFImage.LoadFromResourceID(Instance: THandle; ResID: Integer;
|
||||
ResType: PChar);
|
||||
procedure TJvGIFImage.LoadFromResourceID(Instance: THandle; ResID: Integer);
|
||||
var
|
||||
ResType: TResourceType;
|
||||
Stream: TStream;
|
||||
begin
|
||||
ResType := GetResourceType;
|
||||
Stream := TResourceStream.CreateFromID(Instance, ResID, ResType);
|
||||
try
|
||||
ReadStream(Stream.Size - Stream.Position, Stream, True);
|
||||
@ -2506,7 +2512,7 @@ end;
|
||||
|
||||
procedure TJvGIFImage.ReadData(Stream: TStream);
|
||||
var
|
||||
Size: Longint;
|
||||
Size: Longint = 0;
|
||||
begin
|
||||
Stream.Read(Size, SizeOf(Size));
|
||||
ReadStream(Size, Stream, True);
|
||||
@ -2518,6 +2524,7 @@ var
|
||||
S: TGifSignature;
|
||||
begin
|
||||
FVersion := gvUnknown;
|
||||
S := Default(TGifSignature);
|
||||
Stream.Read(S[0], 3);
|
||||
if not CompareMem(@GIFSignature[0], @S[0], 3) then
|
||||
GifError(RsEGIFVersion);
|
||||
@ -2570,8 +2577,8 @@ var
|
||||
|
||||
function ReadDataBlock(Stream: TStream): TStringList;
|
||||
var
|
||||
BlockSize: Byte;
|
||||
S: AnsiString;
|
||||
BlockSize: Byte = 0;
|
||||
S: AnsiString = '';
|
||||
begin
|
||||
Result := TStringList.Create;
|
||||
try
|
||||
@ -2592,7 +2599,7 @@ var
|
||||
|
||||
function ReadExtension(Stream: TStream): TExtension;
|
||||
var
|
||||
ExtensionLabel: Byte;
|
||||
ExtensionLabel: Byte = 0;
|
||||
begin
|
||||
Result := TExtension.Create;
|
||||
try
|
||||
|
Reference in New Issue
Block a user