[Mono-winforms-list] Jonathan Gilbert's indexed colorsupport patch
kangaroo
grompf at sublimeintervention.com
Mon Jun 6 19:31:51 EDT 2005
Still wrong same problem.
-kangaroo
On 2-Jun-05, at 7:57 PM, Jonathan Gilbert wrote:
> Okay, well, kangaroo sent me a screenshot of the erroneous display
> in the
> FileDialog, and turns out it was not an issue of red & blue
> channels being
> swapped by not paying attention to endianness. It *was* an endianness
> issue, but the effect was not what had been mentioned :-) What was
> actually
> happening was that the blue channel was being forced to 0xFF.
>
> This screenshot shows a section of kangaroo's screenshot on the left,
> followed by Windows' own display, and then on the right, the top
> half shows
> what the R, G, B channels are in kangaroo's screenshot, and the
> bottom half
> shows what the R, G, B channels *should* be. Note that transparency
> was
> still being taken into account, but wherever the pixel was opaque,
> the blue
> channel was on solid!
>
> I tracked this down to the code that prepares Bitmap data with a
> non-alpha
> PixelFormat for display with Cairo, which always pays attention to the
> alpha channel. It was doing something along these lines:
>
> int force_alpha = 0xFF000000;
>
> for (each pixel)
> pixel |= force_alpha;
>
> I have changed the force_alpha assignment to a set_pixel_bgra,
> which should
> fix the problem. I have no way to test whether it does in fact
> solve this
> issue; the output looks exactly the same (it was correct before) on my
> little-endian system. I invite anyone with a big-endian system to
> apply the
> latest version of the patch:
>
> http://israel.logiclrd.cx/patch/
>
> ..and try out the winforms/filedialog test case :-)
>
> Are there any other issues with my patch?
>
> Jonathan Gilbert
>
> _______________________________________________
> Mono-winforms-list maillist - Mono-winforms-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-winforms-list
>
>
> !DSPAM:429f9c8a242202012714467!
>
>
More information about the Mono-winforms-list
mailing list