From d48083094589f6e27f6f090482a4da027b302ad8 Mon Sep 17 00:00:00 2001 From: micha Date: Thu, 27 Nov 2003 21:05:27 +0000 Subject: [PATCH] win32 mono image bit order fix git-svn-id: trunk@4850 - --- lcl/intfgraphics.pas | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lcl/intfgraphics.pas b/lcl/intfgraphics.pas index 45d16f979f..afda82e0c7 100644 --- a/lcl/intfgraphics.pas +++ b/lcl/intfgraphics.pas @@ -417,7 +417,11 @@ begin 1,2,4: begin OneByte:=P^; +{$ifdef WIN32} + Bits:=Word(cardinal(OneByte shr (Shift+7-Position.Bit)) and PrecMask); +{$else} Bits:=Word(cardinal(OneByte shr (Shift+Position.Bit)) and PrecMask); +{$endif} end; 8: begin OneByte:=P^; @@ -464,7 +468,11 @@ begin 1,2,4: begin OneByte:=P^; +{$ifdef WIN32} + ShiftLeft:=Shift+7-Position.Bit; +{$else} ShiftLeft:=Shift+Position.Bit; +{$endif} PrecMask:=not (PrecMask shl ShiftLeft); OneByte:=OneByte and PrecMask; // clear old OneByte:=OneByte or (Bits shl ShiftLeft); // set new @@ -789,7 +797,6 @@ begin Position:=FLineStarts[y]; BitOffset:=FDataDescription.BitsPerPixel*cardinal(x)+Position.Bit; Position.Bit:=(BitOffset and 7); - //Position.Bit:=7 - (BitOffset and 7); inc(Position.Byte,BitOffset shr 3); end; @@ -803,7 +810,6 @@ begin Position:=FMaskLineStarts[y]; BitOffset:=FDataDescription.AlphaBitsPerPixel*cardinal(x)+Position.Bit; Position.Bit:=(BitOffset and 7); - //Position.Bit:=7 - (BitOffset and 7); inc(Position.Byte,BitOffset shr 3); end;