Closed Bug 372176 Opened 19 years ago Closed 19 years ago

Complete GIF decoder transition to cairo gfx

Categories

(Core :: Graphics: ImageLib, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: tor, Assigned: tor)

Details

Attachments

(1 file, 1 obsolete file)

Attached patch update to the cairo gfx world (obsolete) — Splinter Review
imgContainerGIF was still trying to use the separate alpha data when combining frames, and nsGIFDecoder2.cpp had some old code tracking alpha lines.
Attachment #256836 - Flags: review?(alfredkayser)
The part in nsGIFDecoder2.cpp is ok. However for imgContainerGIF.cpp, I think the whole BuildCompositeMask function is no longer needed for Cairo. BuildCompositeMask was needed for some platforms where the 'frame::DrawTo' resp. 'image::DrawToImage' didn't handle the alpha transparancy. However the Thebes implementation uses Cairo to correctly draw the image on top of the current frame: 547 dst->Translate(gfxPoint(aDX, aDY)); 548 dst->Rectangle(gfxRect(0, 0, aDWidth, aDHeight), PR_TRUE); 549 dst->Scale(double(aDWidth)/mWidth, double(aDHeight)/mHeight); 550 551 dst->SetSource(ThebesSurface()); 552 dst->Paint(); See also bug 317748 – Merge BlackenFrame and SetMaskVisibility into ClearFrame
Only the nsGIFDecoder changes - leave imgContainerGIF for bug 317748.
Attachment #256836 - Attachment is obsolete: true
Attachment #256915 - Flags: review?(alfredkayser)
Attachment #256836 - Flags: review?(alfredkayser)
Comment on attachment 256915 [details] [diff] [review] nsGIFDecoder changes only Btw, smart trick on the tpixel.
Attachment #256915 - Flags: review?(alfredkayser) → review+
Attachment #256915 - Flags: superreview?(pavlov)
Attachment #256915 - Flags: superreview?(pavlov) → superreview+
Checked in.
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

Creator:
Created:
Updated:
Size: