Before the yelling starts, I know this bug is DOA (dead on arrival). Unless convinced otherwise, I will not be asking for reviews. However, I feel it a waste if I don't at least post the code somewhere. This bug/patch implements a GDI+ rendering engine for canvas. If gdiplus.dll doesn't exists on the system, it falls back gracefully to cairo. The URL I've provided includes testcases and what the output should look like. These outputs are captured from this GDI+ implementation. There's also a chart that lists the differences between the Cairo renderer and the GDI+ renderer. The advantage to GDI+ is that it uses the video card directly, and it has built in bicubic interpolation for resizing and rotating. In otherwords, it's fast and pretty. For the uninitiated, this bug is DOA for the following reasons: - Everything is moving to Cairo, so that mozilla.org doesn't have to maintain crossplatform gfx anymore - The people in charge of canvas and gfx are dead against a GDI+ renderer, so getting valid reviewers is next to impossible. Initially I was hoping we could use GDI+ as an interim until Cairo is up to speed (namely bicubic interpolation and direct video driver calls), but I've been told that Cairo is in a "good enough" state for canvas.