lcl: properly override TObject.Equals for TGraphic class

git-svn-id: trunk@22393 -
This commit is contained in:
paul 2009-11-03 02:17:39 +00:00
parent 7f1e276971
commit 929dc64acd
2 changed files with 14 additions and 1 deletions

View File

@ -761,7 +761,7 @@ type
FPaletteModified: Boolean;
protected
procedure Changed(Sender: TObject); virtual;
function Equals(Graphic: TGraphic): Boolean; virtual; reintroduce;
function Equals(Graphic: TGraphic): Boolean; virtual; {$IF declared(vmtEquals)}overload;{$IFEND}
procedure DefineProperties(Filer: TFiler); override;
procedure Draw(ACanvas: TCanvas; const Rect: TRect); virtual; abstract;
function GetEmpty: Boolean; virtual; abstract;
@ -787,6 +787,9 @@ type
procedure Assign(ASource: TPersistent); override;
constructor Create; virtual;
procedure Clear; virtual;
{$IF declared(vmtEquals)}
function Equals(Obj: TObject): Boolean; override; overload;
{$IFEND}
function LazarusResourceTypeValid(const AResourceType: string): boolean; virtual;
procedure LoadFromFile(const Filename: string); virtual;
procedure LoadFromStream(Stream: TStream); virtual; abstract;

View File

@ -85,6 +85,16 @@ begin
Progress(Sender,Stage,PercentDone,RedrawNow,R,Msg,DoContinue);
end;
{$IF declared(vmtEquals)}
function TGraphic.Equals(Obj: TObject): Boolean;
begin
if Obj is TGraphic then
Result := Equals(TGraphic(Obj))
else
Result := inherited Equals(Obj);
end;
{$IFEND}
function TGraphic.Equals(Graphic: TGraphic): Boolean;
var
SelfImage, GraphicsImage: TMemoryStream;