mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 18:58:04 +02:00
LCL: ImgList: use GetBitmap from resolution. Issue #33777
git-svn-id: trunk@58093 -
This commit is contained in:
parent
8acd836a36
commit
21be14b578
@ -1772,33 +1772,8 @@ end;
|
||||
|
||||
procedure TCustomImageList.GetBitmap(Index: Integer; Image: TCustomBitmap;
|
||||
AEffect: TGraphicsDrawEffect);
|
||||
var
|
||||
RawImg: TRawImage;
|
||||
ListImg, DeviceImg: TLazIntfImage;
|
||||
ImgHandle, MskHandle: HBitmap;
|
||||
begin
|
||||
if (Count = 0) or (Image = nil) then Exit;
|
||||
|
||||
GetRawImage(Index, RawImg);
|
||||
|
||||
RawImg.PerformEffect(AEffect, True);
|
||||
|
||||
MskHandle := 0;
|
||||
if not CreateCompatibleBitmaps(RawImg, ImgHandle, MskHandle, True)
|
||||
then begin
|
||||
// bummer, the widgetset doesn't support our 32bit format, try device
|
||||
ListImg := TLazIntfImage.Create(RawImg, False);
|
||||
DeviceImg := TLazIntfImage.Create(0,0,[]);
|
||||
DeviceImg.DataDescription := GetDescriptionFromDevice(0, FWidth, FHeight);
|
||||
DeviceImg.CopyPixels(ListImg);
|
||||
DeviceImg.GetRawImage(RawImg);
|
||||
RawImage_CreateBitmaps(RawImg, ImgHandle, MskHandle);
|
||||
DeviceImg.Free;
|
||||
ListImg.Free;
|
||||
end;
|
||||
Image.SetHandles(ImgHandle, MskHandle);
|
||||
|
||||
RawImg.FreeData;
|
||||
GetResolution(FWidth).GetBitmap(Index, Image, AEffect);
|
||||
end;
|
||||
|
||||
function TCustomImageList.GetCount: Integer;
|
||||
|
Loading…
Reference in New Issue
Block a user