[Webkit-unassigned] [Bug 31507] REGRESSION: [CAIRO] wrong drawing of Gradients and Patterns on texts
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Feb 27 12:41:49 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=31507
--- Comment #8 from Martin Robinson <mrobinson at webkit.org> 2011-02-27 12:41:49 PST ---
(In reply to comment #6)
> View in context: https://bugs.webkit.org/attachment.cgi?id=83948&action=review
Thanks for the suggestions.
> > Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:146
> > + cairo_push_group(cr);
>
> please add:
> cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
Done!
>
> > Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:173
> > + reduceSourceByAlpha(cr, globalAlpha);
>
> Maybe add a FIXME here to add a function for reducing color of gradients manually? As I said yesterday, you can create a new gradient pattern with the same colorstops reduced by global alpha.
Done!
>
> > Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:180
> > + }
>
> I'd factor out lines 163-180 into a common function to be called from here and prepareForStroking.
Done!
> > Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:226
> > + cairo_restore(cr);
>
> Is this correct now that we do global alpha in setPlatformFill()?
> This should just be a cairo_fill(), no?
Since I passed in the NoAdjustment argument here, prepareForFilling didn't adjust the source patterns for global alpha. Since we can clip here, I think that cairo_paint_with_alpha might be faster here.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list