mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 15:28:14 +02:00
LazUtils: Add backwards compatibility to TAvgLvlTree. Needed by BGRABitmap and others.
git-svn-id: trunk@54545 -
This commit is contained in:
parent
8eda400e32
commit
3c525fb548
@ -25,18 +25,27 @@ uses
|
||||
|
||||
type
|
||||
|
||||
TAvgLvlTree = class;
|
||||
|
||||
TAvgLvlObjectSortCompare = function(Tree: TAvgLvlTree; Data1, Data2: Pointer): integer of object;
|
||||
|
||||
{ TAvgLvlTree and TAvgLvlTreeNode for backwards compatibility.
|
||||
They used to be fully implemented here but now inherit from TAVLTreeNode and TAvlTree.
|
||||
}
|
||||
TAvgLvlTreeNode = TAVLTreeNode;
|
||||
TAvgLvlTreeNodeEnumerator = TAVLTreeNodeEnumerator;
|
||||
|
||||
TAvgLvlTree = class(TAvlTree)
|
||||
private
|
||||
FOwnsObjects: boolean;
|
||||
function GetObjectCompare: TAvgLvlObjectSortCompare;
|
||||
procedure SetObjectCompare(AValue: TAvgLvlObjectSortCompare);
|
||||
public
|
||||
constructor CreateObjectCompare(const OnCompareMethod: TAvgLvlObjectSortCompare);
|
||||
procedure DisposeNode(aNode: TAVLTreeNode); override;
|
||||
procedure FreeAndDelete(ANode: TAVLTreeNode); override;
|
||||
property OwnsObjects: boolean read FOwnsObjects write FOwnsObjects;
|
||||
property OnObjectCompare: TAvgLvlObjectSortCompare read GetObjectCompare write SetObjectCompare;
|
||||
end;
|
||||
TAvgLvlTreeClass = class of TAvgLvlTree;
|
||||
|
||||
@ -375,6 +384,21 @@ end;
|
||||
|
||||
{ TAvgLvlTree }
|
||||
|
||||
constructor TAvgLvlTree.CreateObjectCompare(const OnCompareMethod: TAvgLvlObjectSortCompare);
|
||||
begin
|
||||
inherited CreateObjectCompare(TObjectSortCompare(OnCompareMethod));
|
||||
end;
|
||||
|
||||
procedure TAvgLvlTree.SetObjectCompare(AValue: TAvgLvlObjectSortCompare);
|
||||
begin
|
||||
inherited SetOnObjectCompare(TObjectSortCompare(AValue));
|
||||
end;
|
||||
|
||||
function TAvgLvlTree.GetObjectCompare: TAvgLvlObjectSortCompare;
|
||||
begin
|
||||
Result := TAvgLvlObjectSortCompare(FOnObjectCompare);
|
||||
end;
|
||||
|
||||
procedure TAvgLvlTree.DisposeNode(aNode: TAVLTreeNode);
|
||||
begin
|
||||
if FOwnsObjects then
|
||||
|
Loading…
Reference in New Issue
Block a user