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:
wp_xxyyzz
2021-08-14 10:09:24 +00:00
parent 329c200276
commit af883f35f2
38 changed files with 102 additions and 51 deletions

View File

@ -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