mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-23 21:09:23 +02:00
Issue #11571:
* on Carbon color DC bitmaps are always 32bpp, our description specifies this, bitmapinfo should skip alpha when no alpha present * only reduce bitsperpixel to 24bit on win32 git-svn-id: trunk@15714 -
This commit is contained in:
parent
772684f5d0
commit
c1820846a9
@ -300,14 +300,7 @@ begin
|
||||
end
|
||||
else begin
|
||||
if (Desc.Depth = 32) and (ADesc.Format = ricfRGBA)
|
||||
then begin
|
||||
ADesc.Depth := 24;
|
||||
//---
|
||||
// maybe move this to win32 only
|
||||
if Desc.AlphaShift = 24
|
||||
then ADesc.BitsPerPixel := 24;
|
||||
//---
|
||||
end;
|
||||
then ADesc.Depth := 24;
|
||||
end;
|
||||
|
||||
if riqfMask in AFlags
|
||||
|
@ -375,9 +375,9 @@ const
|
||||
BITMAPINFOMAP: array[TCarbonBitmapType] of CGBitmapInfo = (
|
||||
{cbtMask} kCGImageAlphaNone,
|
||||
{cbtGray} kCGImageAlphaNone,
|
||||
{cbtRGB} kCGImageAlphaNone,
|
||||
{cbtRGB} kCGImageAlphaNoneSkipFirst,
|
||||
{cbtARGB} kCGImageAlphaFirst,
|
||||
{cbtBGR} kCGImageAlphaNone or kCGBitmapByteOrder32Little,
|
||||
{cbtBGR} kCGImageAlphaNoneSkipFirst or kCGBitmapByteOrder32Little,
|
||||
{cbtBGRA} kCGImageAlphaFirst or kCGBitmapByteOrder32Little
|
||||
);
|
||||
|
||||
|
@ -130,10 +130,13 @@ end;
|
||||
Returns:
|
||||
|
||||
------------------------------------------------------------------------------}
|
||||
//function TWin32WidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean;
|
||||
//begin
|
||||
// // override only when queried formats are different from screen description
|
||||
//end;
|
||||
function TWin32WidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean;
|
||||
begin
|
||||
Result := inherited RawImage_QueryDescription(AFlags, ADesc);
|
||||
// reduce mem
|
||||
if Result and (ADesc.Depth = 24)
|
||||
then ADesc.BitsPerPixel := 24;
|
||||
end;
|
||||
|
||||
procedure TWin32WidgetSet.RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
|
||||
var
|
||||
|
@ -60,8 +60,7 @@ function RawImage_DescriptionFromBitmap(ABitmap: HBITMAP; out ADesc: TRawImageDe
|
||||
function RawImage_DescriptionFromDevice(ADC: HDC; out ADesc: TRawImageDescription): Boolean; override;
|
||||
function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; override;
|
||||
function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; override;
|
||||
// override only when queried formats are different from screen description
|
||||
//function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override;
|
||||
function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override;
|
||||
|
||||
procedure RemoveEventHandler(var AHandler: PEventHandler); override;
|
||||
procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override;
|
||||
|
Loading…
Reference in New Issue
Block a user