Unit GIFImage |
Classes |
TGIFAppExtensionClass -
TGIFAppExtNSLoop - ******************************************************************************
**
** TGIFAppExtNSLoop
**
TGIFApplicationExtension -
TGIFBlock - ******************************************************************************
**
** TGIFUnknownAppExtension
**
TGIFColorMap -
TGIFCommentExtension - ******************************************************************************
**
** TGIFCommentExtension
**
TGIFExtension - To avoid warning about hiding base class constructor
TGIFExtensionClass -
TGIFExtensionList - ******************************************************************************
**
** TGIFSubImage
**
TGIFGraphicControlExtension -
TGIFHeader - actual ratio = (AspectRatio + 15) / 64
TGIFImage -
TGIFImageList - ******************************************************************************
**
** TGIFImage
**
TGIFItem - ******************************************************************************
**
** TGIFItem
**
TGIFList - ******************************************************************************
**
** TGIFList
**
TGIFPainter -
TGIFSubImage - Bit fields
TGIFTextExtension -
TGIFTrailer - ******************************************************************************
**
** TGIFTrailer
**
TGIFUnknownAppExtension -
Functions |
Register - ****************************************************************************** ** ** Design Time support ** *******************************************************************************) // Dummy component registration for design time support of GIFs in TImage
******************************************************************************
**
** Design Time support
**
WebPalette - ******************************************************************************
**
** Utility routines
**
*******************************************************************************) // WebPalette creates a 216 color uniform palette a.
Types |
PColorMap
PGIFPainter
TColorMap
TDisposalMethod
TGIFApplicationRec
TGIFAuthenticationCode
TGIFColor
TGIFDrawOption
TGIFDrawOptions
TGIFExtensionType
TGIFGCERec
TGIFIdentifierCode
TGIFPlainTextExtensionRec
TGIFSeverity
TGIFVersion
TGIFVersionRec
TGIFWarning
TImageDescriptor
TLogicalScreenDescriptor
Constants |
Variables |
DoAutoDither
GIFDefaultDelay
GIFDelayExp
GIFImageDefaultDrawOptions
GIFImageDefaultThreadPriority
GIFMaximumDelay
GIFMinimumDelay
Functions |
****************************************************************************** ** ** Design Time support **
****************************************************************************** ** ** Utilities **
Types |
PColorMap = ^TColorMap
PGIFPainter = ^TGIFPainterNote: if goAsync is not set then goDirectDraw should be set. Otherwise the image will not be displayed.
TColorMap = packed array[0..GIFMaxColors-1] of TGIFColor;
TDisposalMethod = (dmNone, dmNoDisposal, dmBackground, dmPrevious);
TGIFApplicationRec = record
Identifier : TGIFIdentifierCode;
Authentication : TGIFAuthenticationCode;
end;
TGIFAuthenticationCode = array[0..2] of char;
TGIFColor = record****************************************************************************** ** ** TGIFColorMap ** *******************************************************************************) // One way to do it: // TBaseColor = (bcRed, bcGreen, bcBlue); // TGIFColor = array[bcRed..bcBlue] of BYTE; // Another way:
Red : byte;
Green : byte;
Blue : byte;
end;
TGIFDrawOption = (goAsync, // Asyncronous draws (paint in thread) goTransparent, // Transparent draws goAnimate, // Animate draws goLoop, // Loop animations goLoopContinously, // Ignore loop count and loop forever goValidateCanvas, // Validate canvas in threaded paint ***NOT IMPLEMENTED*** goDirectDraw, // Draw() directly on canvas goDither, // Dither to Netscape palette goAutoDither // Only dither on 256 color systems );
TGIFDrawOptions = set of TGIFDrawOptionOnly dither on 256 color systems
TGIFExtensionType = BYTE****************************************************************************** ** ** TGIFExtension **
TGIFGCERec = record****************************************************************************** ** ** TGIFGraphicControlExtension ** *******************************************************************************) // Graphic Control Extension block a.k.a GCE
BlockSize : byte;
PackedFields : Byte;
DelayTime : Word;
TransparentColorIndex : Byte;
Terminator : Byte;
end;
TGIFIdentifierCode = array[0..7] of char;****************************************************************************** ** ** TGIFApplicationExtension **
TGIFPlainTextExtensionRec = record****************************************************************************** ** ** TGIFTextExtension **
BlockSize : byte;
Left : Word;
Top : Word;
Width : Word;
Height : Word;
CellWidth : Byte;
CellHeight : Byte;
TextFGColorIndex : Byte;
TextBGColorIndex : Byte;
end;
TGIFSeverity = (gsInfo, gsWarning, gsError);Severity level as indicated in the Warning methods and the OnWarning event
TGIFVersion = (gvUnknown, gv87a, gv89a);* GIFMaximumDelay: Maximum delay when painter is running in main thread (goAsync is not set). This value guarantees that a very long and slow GIF does not hang the system. (1000 = 10000 mS = 10 Seconds
TGIFVersionRec = array[0..2] of char;
TGIFWarning = procedure(Sender: TObject; Severity: TGIFSeverity; Message: string) of object
TImageDescriptor = record
Separator : byte;
Left : word;
Top : word;
Width : word;
Height : word;
PackedFields : byte;
end;
TLogicalScreenDescriptor = record****************************************************************************** ** ** TGIFHeader **
ScreenWidth : word;
ScreenHeight : word;
PackedFields : byte;
BackgroundColorIndex : byte;
AspectRatio : byte;
end;
Constants |
Variables |