* Fixed cursors on win2000, winNT when bpp<24

git-svn-id: trunk@12420 -
This commit is contained in:
marc 2007-10-11 23:21:58 +00:00
parent 132732a96b
commit 99dd765724
2 changed files with 23 additions and 3 deletions

View File

@ -128,6 +128,7 @@ type
procedure Init_BPP32_B8G8R8_BIO_TTB(AWidth, AHeight: integer);
procedure Init_BPP32_B8G8R8_M1_BIO_TTB(AWidth, AHeight: integer);
procedure Init_BPP32_B8G8R8A8_BIO_TTB(AWidth, AHeight: integer);
procedure Init_BPP32_B8G8R8A8_M1_BIO_TTB(AWidth, AHeight: integer);
function GetDescriptionFromMask: TRawImageDescription;
function GetDescriptionFromAlpha: TRawImageDescription;
@ -670,7 +671,7 @@ begin
MaskBitsPerPixel := 1;
MaskBitOrder := riboBitsInOrder;
// MaskShift := 0; // the shift (=position) of the mask bit
MaskLineEnd := rileDWordBoundary;
MaskLineEnd := rileWordBoundary;
end;
procedure TRawImageDescription.Init_BPP32_B8G8R8_BIO_TTB(AWidth, AHeight: integer);
@ -741,7 +742,7 @@ begin
MaskBitsPerPixel := 1;
MaskBitOrder := riboBitsInOrder;
// MaskShift := 0; // the shift (=position) of the mask bit
MaskLineEnd := rileDWordBoundary;
MaskLineEnd := rileWordBoundary;
end;
function TRawImageDescription.MaskBitsPerLine: PtrUInt;
@ -789,6 +790,15 @@ begin
// MaskBitsPerPixel := 0;
end;
procedure TRawImageDescription.Init_BPP32_B8G8R8A8_M1_BIO_TTB(AWidth, AHeight: integer);
begin
Init_BPP32_B8G8R8A8_BIO_TTB(Width, Height);
MaskBitsPerPixel := 1;
MaskBitOrder := riboBitsInOrder;
MaskLineEnd := rileWordBoundary;
end;
function TRawImageDescription.GetDescriptionFromMask: TRawImageDescription;
begin

View File

@ -649,7 +649,17 @@ begin
if Desc.AlphaPrec >= 8 then Exit;
if not AddAlphaToDescription(Desc, 8)
then Desc.Init_BPP32_B8G8R8A8_BIO_TTB(Desc.Width, Desc.Height);
then begin
Desc.Init_BPP32_B8G8R8A8_BIO_TTB(Desc.Width, Desc.Height);
// copy mask description
with TLazIntfImage(AImage).DataDescription do
begin
Desc.MaskBitsPerPixel := MaskBitsPerPixel;
Desc.MaskShift := MaskShift;
Desc.MaskLineEnd := MaskLineEnd;
Desc.MaskBitOrder := MaskBitOrder;
end;
end;
TLazIntfImage(AImage).DataDescription := Desc;
end;