mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 18:39:09 +02:00
LCL: TRawImage.PerformEffect: added option to free old data
git-svn-id: trunk@34802 -
This commit is contained in:
parent
6776c76423
commit
a9debb99ed
@ -215,7 +215,7 @@ type
|
|||||||
procedure ReleaseData;
|
procedure ReleaseData;
|
||||||
procedure ExtractRect(const ARect: TRect; out ADst: TRawImage);
|
procedure ExtractRect(const ARect: TRect; out ADst: TRawImage);
|
||||||
|
|
||||||
procedure PerformEffect(const ADrawEffect: TGraphicsDrawEffect; CreateNewData: Boolean = True);
|
procedure PerformEffect(const ADrawEffect: TGraphicsDrawEffect; CreateNewData: Boolean = True; FreeOldData: boolean = false);
|
||||||
function ReadBits(const APosition: TRawImagePosition; APrec, AShift: Byte): Word;
|
function ReadBits(const APosition: TRawImagePosition; APrec, AShift: Byte): Word;
|
||||||
procedure ReadChannels(const APosition: TRawImagePosition; out ARed, AGreen, ABlue, AAlpha: Word);
|
procedure ReadChannels(const APosition: TRawImagePosition; out ARed, AGreen, ABlue, AAlpha: Word);
|
||||||
procedure ReadMask(const APosition: TRawImagePosition; out AMask: Boolean);
|
procedure ReadMask(const APosition: TRawImagePosition; out AMask: Boolean);
|
||||||
@ -1592,7 +1592,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TRawImage.PerformEffect(const ADrawEffect: TGraphicsDrawEffect;
|
procedure TRawImage.PerformEffect(const ADrawEffect: TGraphicsDrawEffect;
|
||||||
CreateNewData: Boolean);
|
CreateNewData: Boolean; FreeOldData: boolean);
|
||||||
|
|
||||||
function CheckDescription: Boolean;
|
function CheckDescription: Boolean;
|
||||||
begin
|
begin
|
||||||
@ -1641,8 +1641,7 @@ begin
|
|||||||
Move(Data^, AData^, DataSize);
|
Move(Data^, AData^, DataSize);
|
||||||
P := AData;
|
P := AData;
|
||||||
end
|
end
|
||||||
else
|
else begin
|
||||||
begin
|
|
||||||
P := Data;
|
P := Data;
|
||||||
AData := P;
|
AData := P;
|
||||||
end;
|
end;
|
||||||
@ -1715,6 +1714,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
if FreeOldData then
|
||||||
|
ReAllocMem(Data,0);
|
||||||
Data := P;
|
Data := P;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user