Closed Bug 298743 Opened 19 years ago Closed 19 years ago

drawWindow broken on MacOS X

Categories

(Core :: Graphics: Canvas2D, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: vlad, Assigned: vlad)

Details

Attachments

(1 file)

canvas drawWindow is currently broken on OSX -- it draws nothing at all.  The problem is two-fold; first, 
http://lxr.mozilla.org/seamonkey/source/gfx/src/mac/nsDrawingSurfaceMac.cpp#214 really should not 
be NOT_IMPLEMENTED.  Second, drawWindow needs to swap the byte order when filling the cairo surface 
data.
This patch fixes drawWindow on OSX entirely in canvas, by faking the two pixel
formats, and also by swapping out the byte order when copying into the canvas. 
I didn't want to implement the nsMacDrawingSurface method this late in the
game, because I have no idea which part of the gfx/layout house of cards would
collapse if that function suddenly started working.

roc, I think
http://lxr.mozilla.org/mozilla/source/layout/base/nsDocumentViewer.cpp#863
might want the same treatment, but you may want to just rewrite it in terms of
canvas/drawwindow anyway.  I have a cairo_ppm.c and cairo_tga.c sitting in my
tree that i'll post at some point that could be used to get the data out.
Attachment #187269 - Flags: review?(pavlov)
Comment on attachment 187269 [details] [diff] [review]
drawwindow fix for OSX

should get this in for 1.1
Attachment #187269 - Flags: review?(pavlov) → review+
Attachment #187269 - Flags: approval1.8b4? → approval1.8b4+
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: