mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-06 10:06:15 +02:00
lcl: formatting
git-svn-id: trunk@24707 -
This commit is contained in:
parent
3def3ea76c
commit
a06ad84100
@ -135,8 +135,7 @@ type
|
|||||||
public
|
public
|
||||||
constructor Create(TheDataSize: integer);
|
constructor Create(TheDataSize: integer);
|
||||||
function FindDescriptor(DescPtr: Pointer): TBlockResourceCacheDescriptor;
|
function FindDescriptor(DescPtr: Pointer): TBlockResourceCacheDescriptor;
|
||||||
function AddResource(Handle: TLCLHandle; DescPtr: Pointer
|
function AddResource(Handle: TLCLHandle; DescPtr: Pointer): TBlockResourceCacheDescriptor;
|
||||||
): TBlockResourceCacheDescriptor;
|
|
||||||
function CompareDescriptors(Tree: TAvgLvlTree;
|
function CompareDescriptors(Tree: TAvgLvlTree;
|
||||||
Desc1, Desc2: Pointer): integer; override;
|
Desc1, Desc2: Pointer): integer; override;
|
||||||
public
|
public
|
||||||
@ -169,8 +168,7 @@ end;
|
|||||||
|
|
||||||
{ TResourceCacheItem }
|
{ TResourceCacheItem }
|
||||||
|
|
||||||
constructor TResourceCacheItem.Create(TheCache: TResourceCache;
|
constructor TResourceCacheItem.Create(TheCache: TResourceCache; TheHandle: TLCLHandle);
|
||||||
TheHandle: TLCLHandle);
|
|
||||||
begin
|
begin
|
||||||
Cache := TheCache;
|
Cache := TheCache;
|
||||||
Handle := TheHandle;
|
Handle := TheHandle;
|
||||||
@ -180,7 +178,7 @@ destructor TResourceCacheItem.Destroy;
|
|||||||
begin
|
begin
|
||||||
if FDestroying then
|
if FDestroying then
|
||||||
RaiseGDBException('');
|
RaiseGDBException('');
|
||||||
FDestroying:=true;
|
FDestroying := True;
|
||||||
Cache.RemoveItem(Self);
|
Cache.RemoveItem(Self);
|
||||||
//debugln('TResourceCacheItem.Destroy B ',dbgs(Self));
|
//debugln('TResourceCacheItem.Destroy B ',dbgs(Self));
|
||||||
Handle := 0;
|
Handle := 0;
|
||||||
@ -214,8 +212,7 @@ begin
|
|||||||
//debugln('TResourceCacheItem.DecreaseRefCount END ');
|
//debugln('TResourceCacheItem.DecreaseRefCount END ');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TResourceCacheItem.AddToList(var First, Last: TResourceCacheItem
|
procedure TResourceCacheItem.AddToList(var First, Last: TResourceCacheItem);
|
||||||
);
|
|
||||||
// add as last
|
// add as last
|
||||||
begin
|
begin
|
||||||
Next := nil;
|
Next := nil;
|
||||||
@ -257,13 +254,12 @@ destructor TResourceCacheDescriptor.Destroy;
|
|||||||
begin
|
begin
|
||||||
if FDestroying then
|
if FDestroying then
|
||||||
RaiseGDBException('');
|
RaiseGDBException('');
|
||||||
FDestroying:=true;
|
FDestroying := True;
|
||||||
Cache.RemoveDescriptor(Self);
|
Cache.RemoveDescriptor(Self);
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TResourceCacheDescriptor.AddToList(
|
procedure TResourceCacheDescriptor.AddToList(var First, Last: TResourceCacheDescriptor);
|
||||||
var First, Last: TResourceCacheDescriptor);
|
|
||||||
// add as last
|
// add as last
|
||||||
begin
|
begin
|
||||||
Next := nil;
|
Next := nil;
|
||||||
@ -273,8 +269,7 @@ begin
|
|||||||
if Prev <> nil then Prev.Next := Self;
|
if Prev <> nil then Prev.Next := Self;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TResourceCacheDescriptor.RemoveFromList(
|
procedure TResourceCacheDescriptor.RemoveFromList(var First, Last: TResourceCacheDescriptor);
|
||||||
var First, Last: TResourceCacheDescriptor);
|
|
||||||
begin
|
begin
|
||||||
if First = Self then First := Next;
|
if First = Self then First := Next;
|
||||||
if Last = Self then Last := Prev;
|
if Last = Self then Last := Prev;
|
||||||
@ -288,8 +283,10 @@ end;
|
|||||||
|
|
||||||
procedure TResourceCache.RemoveItem(Item: TResourceCacheItem);
|
procedure TResourceCache.RemoveItem(Item: TResourceCacheItem);
|
||||||
begin
|
begin
|
||||||
if not FDestroying then begin
|
if not FDestroying then
|
||||||
while Item.FirstDescriptor<>nil do begin
|
begin
|
||||||
|
while Item.FirstDescriptor <> nil do
|
||||||
|
begin
|
||||||
if Item.FirstDescriptor.FDestroying then
|
if Item.FirstDescriptor.FDestroying then
|
||||||
RaiseGDBException('TResourceCache.RemoveItem');
|
RaiseGDBException('TResourceCache.RemoveItem');
|
||||||
Item.FirstDescriptor.Free;
|
Item.FirstDescriptor.Free;
|
||||||
@ -302,13 +299,13 @@ procedure TResourceCache.RemoveDescriptor(Desc: TResourceCacheDescriptor);
|
|||||||
var
|
var
|
||||||
Item: TResourceCacheItem;
|
Item: TResourceCacheItem;
|
||||||
begin
|
begin
|
||||||
if not FDestroying then begin
|
if not FDestroying then
|
||||||
|
begin
|
||||||
Item := Desc.Item;
|
Item := Desc.Item;
|
||||||
if Item <> nil then
|
if Item <> nil then
|
||||||
Desc.RemoveFromList(Item.FirstDescriptor, Item.LastDescriptor);
|
Desc.RemoveFromList(Item.FirstDescriptor, Item.LastDescriptor);
|
||||||
FDescriptors.Remove(Desc);
|
FDescriptors.Remove(Desc);
|
||||||
if (Item<>nil) and (Item.FirstDescriptor=nil) and (not Item.FDestroying)
|
if (Item <> nil) and (Item.FirstDescriptor = nil) and (not Item.FDestroying) then
|
||||||
then
|
|
||||||
Item.Free;
|
Item.Free;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -316,7 +313,8 @@ end;
|
|||||||
procedure TResourceCache.ItemUsed(Item: TResourceCacheItem);
|
procedure TResourceCache.ItemUsed(Item: TResourceCacheItem);
|
||||||
// called after creation or when Item is used again
|
// called after creation or when Item is used again
|
||||||
begin
|
begin
|
||||||
if not ItemIsUsed(Item) then begin
|
if not ItemIsUsed(Item) then
|
||||||
|
begin
|
||||||
// remove from unused list
|
// remove from unused list
|
||||||
Item.RemoveFromList(FFirstUnusedItem, FLastUnusedItem);
|
Item.RemoveFromList(FFirstUnusedItem, FLastUnusedItem);
|
||||||
dec(FUnUsedItemCount);
|
dec(FUnUsedItemCount);
|
||||||
@ -338,7 +336,8 @@ begin
|
|||||||
Item.AddToList(FFirstUnusedItem, FLastUnusedItem);
|
Item.AddToList(FFirstUnusedItem, FLastUnusedItem);
|
||||||
inc(FUnUsedItemCount);
|
inc(FUnUsedItemCount);
|
||||||
//debugln('TResourceCache.ItemUnused C ',ClassName,' ',dbgs(Self));
|
//debugln('TResourceCache.ItemUnused C ',ClassName,' ',dbgs(Self));
|
||||||
if FUnUsedItemCount>FMaxUnusedItem then begin
|
if FUnUsedItemCount > FMaxUnusedItem then
|
||||||
|
begin
|
||||||
// maximum unused resources reached -> free the oldest
|
// maximum unused resources reached -> free the oldest
|
||||||
DeleteItem := FFirstUnusedItem;
|
DeleteItem := FFirstUnusedItem;
|
||||||
DeleteItem.RemoveFromList(FFirstUnusedItem, FLastUnusedItem);
|
DeleteItem.RemoveFromList(FFirstUnusedItem, FLastUnusedItem);
|
||||||
@ -349,8 +348,7 @@ end;
|
|||||||
|
|
||||||
function TResourceCache.ItemIsUsed(Item: TResourceCacheItem): boolean;
|
function TResourceCache.ItemIsUsed(Item: TResourceCacheItem): boolean;
|
||||||
begin
|
begin
|
||||||
Result:=(FFirstUnusedItem<>Item) and (Item.Next=nil)
|
Result := (FFirstUnusedItem <> Item) and (Item.Next = nil) and (Item.Prev = nil)
|
||||||
and (Item.Prev=nil)
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TResourceCache.Create;
|
constructor TResourceCache.Create;
|
||||||
@ -381,8 +379,7 @@ begin
|
|||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TResourceCache.CompareItems(Tree: TAvgLvlTree; Item1, Item2: Pointer
|
function TResourceCache.CompareItems(Tree: TAvgLvlTree; Item1, Item2: Pointer): integer;
|
||||||
): integer;
|
|
||||||
begin
|
begin
|
||||||
Result := CompareLCLHandles(TResourceCacheItem(Item1).Handle,
|
Result := CompareLCLHandles(TResourceCacheItem(Item1).Handle,
|
||||||
TResourceCacheItem(Item2).Handle);
|
TResourceCacheItem(Item2).Handle);
|
||||||
@ -402,7 +399,8 @@ begin
|
|||||||
if FItems.ConsistencyCheck <> 0 then
|
if FItems.ConsistencyCheck <> 0 then
|
||||||
RaiseGDBException('');
|
RaiseGDBException('');
|
||||||
ANode := FItems.FindLowest;
|
ANode := FItems.FindLowest;
|
||||||
while ANode<>nil do begin
|
while ANode <> nil do
|
||||||
|
begin
|
||||||
Item := TResourceCacheItem(ANode.Data);
|
Item := TResourceCacheItem(ANode.Data);
|
||||||
if Item.FirstDescriptor = nil then
|
if Item.FirstDescriptor = nil then
|
||||||
RaiseGDBException('');
|
RaiseGDBException('');
|
||||||
@ -413,7 +411,8 @@ begin
|
|||||||
if Item.LastDescriptor.Next <> nil then
|
if Item.LastDescriptor.Next <> nil then
|
||||||
RaiseGDBException('');
|
RaiseGDBException('');
|
||||||
Desc := Item.FirstDescriptor;
|
Desc := Item.FirstDescriptor;
|
||||||
while Desc<>nil do begin
|
while Desc <> nil do
|
||||||
|
begin
|
||||||
if Desc.Item <> Item then
|
if Desc.Item <> Item then
|
||||||
RaiseGDBException('');
|
RaiseGDBException('');
|
||||||
if (Desc.Next <> nil) and (Desc.Next.Prev <> Desc) then
|
if (Desc.Next <> nil) and (Desc.Next.Prev <> Desc) then
|
||||||
@ -431,7 +430,8 @@ begin
|
|||||||
if FDescriptors.ConsistencyCheck <> 0 then
|
if FDescriptors.ConsistencyCheck <> 0 then
|
||||||
RaiseGDBException('');
|
RaiseGDBException('');
|
||||||
ANode := FDescriptors.FindLowest;
|
ANode := FDescriptors.FindLowest;
|
||||||
while ANode<>nil do begin
|
while ANode <> nil do
|
||||||
|
begin
|
||||||
Desc := TResourceCacheDescriptor(ANode.Data);
|
Desc := TResourceCacheDescriptor(ANode.Data);
|
||||||
Item := Desc.Item;
|
Item := Desc.Item;
|
||||||
if Item = nil then
|
if Item = nil then
|
||||||
@ -466,12 +466,10 @@ begin
|
|||||||
inherited Create;
|
inherited Create;
|
||||||
FDataSize := TheDataSize;
|
FDataSize := TheDataSize;
|
||||||
FResourceCacheDescriptorClass := TBlockResourceCacheDescriptor;
|
FResourceCacheDescriptorClass := TBlockResourceCacheDescriptor;
|
||||||
FOnCompareDescPtrWithDescriptor:=
|
FOnCompareDescPtrWithDescriptor := TListSortCompare(@CompareDescPtrWithBlockResDesc);
|
||||||
TListSortCompare(@CompareDescPtrWithBlockResDesc);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TBlockResourceCache.FindDescriptor(DescPtr: Pointer
|
function TBlockResourceCache.FindDescriptor(DescPtr: Pointer): TBlockResourceCacheDescriptor;
|
||||||
): TBlockResourceCacheDescriptor;
|
|
||||||
var
|
var
|
||||||
ANode: TAvgLvlTreeNode;
|
ANode: TAvgLvlTreeNode;
|
||||||
begin
|
begin
|
||||||
@ -482,8 +480,7 @@ begin
|
|||||||
Result := nil;
|
Result := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TBlockResourceCache.AddResource(Handle: TLCLHandle; DescPtr: Pointer
|
function TBlockResourceCache.AddResource(Handle: TLCLHandle; DescPtr: Pointer): TBlockResourceCacheDescriptor;
|
||||||
): TBlockResourceCacheDescriptor;
|
|
||||||
var
|
var
|
||||||
Item: TResourceCacheItem;
|
Item: TResourceCacheItem;
|
||||||
|
|
||||||
@ -507,12 +504,12 @@ begin
|
|||||||
RaiseDescriptorAlreadyAdded;
|
RaiseDescriptorAlreadyAdded;
|
||||||
|
|
||||||
Item := FindItem(Handle);
|
Item := FindItem(Handle);
|
||||||
if Item=nil then begin
|
if Item = nil then
|
||||||
|
begin
|
||||||
Item := FResourceCacheItemClass.Create(Self, Handle);
|
Item := FResourceCacheItemClass.Create(Self, Handle);
|
||||||
FItems.Add(Item);
|
FItems.Add(Item);
|
||||||
end;
|
end;
|
||||||
Result:=TBlockResourceCacheDescriptor(
|
Result := TBlockResourceCacheDescriptor(FResourceCacheDescriptorClass.Create(Self, Item));
|
||||||
FResourceCacheDescriptorClass.Create(Self,Item));
|
|
||||||
ReAllocMem(Result.Data, DataSize);
|
ReAllocMem(Result.Data, DataSize);
|
||||||
System.Move(DescPtr^, Result.Data^, DataSize);
|
System.Move(DescPtr^, Result.Data^, DataSize);
|
||||||
FDescriptors.Add(Result);
|
FDescriptors.Add(Result);
|
||||||
|
Loading…
Reference in New Issue
Block a user