[ros-kernel] Q2 Bug (210 in bugzilla) Fix or bigger bug?

Filip Navara xnavara at volny.cz
Wed Mar 3 11:33:04 CET 2004


Royce Mitchell III wrote:

>>  bm.bmHeight = abs(bi->biHeight);     <------- Change by this
>>  bi->biHeight = -bm.bmHeight;         <------- + add this to signal 
>> programs the way we render 
>
> This change can't be right. It is throwing away information that the 
> DIB is upside-down. We have no choice but to handle it in the DIB 
> rendering code. Any other approach is doomed to failure, IMHO :)

Yeah, this fix isn't correct, but I don't agree that we need to handle 
it directly in the DIB code. The only thing that we need to do is to 
pass a correct values to the DIB routines. This means correctly 
calculating the surface "start" pointer (SurfObj->pvScan0) and 
positive/negative "pitch" (SurfObj->lDelta), the code itself then can 
use the same pointer arithmetic for traversing through top-down and 
bottom-up bitmaps. AFAIK one of the routines that needs to be fixed is 
EngCreateBitmap.

- Filip



More information about the Ros-kernel mailing list