[webkit-dev] Box shadow
hyatt at apple.com
Tue Jan 9 13:41:20 PST 2007
The problem I ran into with box-shadow is that the shadow cannot show
up anywhere within the contents of the box. It has to be clipped
out. Maybe there's a clever way to get the same result that I'm not
thinking of though. Note that CG draws shadows in response to other
drawing operations (in this case a fill). As far as I can tell with
CG, I can't just draw a shadow in a vacuum. It has to be implicitly
cast by some other drawing operation. So I'm basically doing a fill,
which casts the shadow, and then ensuring that the entire fill is
clipped out so that it isn't seen.
On Jan 9, 2007, at 7:04 AM, Mike Reed wrote:
> Do we need to use clips for round-rects? In my implementation these
> are always hard-edged (no antialiasing). Is that true for Qt as well?
> CG? I would prefer being asked to draw round-rects (filled or stroked)
> directly with no clipping...
> On 1/8/07, David Hyatt <hyatt at apple.com> wrote:
>> I just landed support for the CSS3 box-shadow property. This
>> entailed adding a few new methods to GraphicsContext. I stubbed
>> these methods out on Qt but did not implement them.
>> They are:
>> void clipOut(const IntRect&);
>> Excludes the specified rect from the clipping region.
>> void clipOutEllipseInRect(const IntRect&);
>> Same, but for an ellipse drawn inside the specified rect.
>> void fillRoundedRect(const IntRect&, const IntSize& topLeft, const
>> IntSize& topRight, const IntSize& bottomLeft, const IntSize&
>> bottomRight, const Color&);
>> Fills a rounded rect (with elliptical curvature in the four
>> corners) with the specified color.
>> Note that the fillRoundedRect method arguably should be cross-
>> platform, relying on primitives instead. This is an area for
>> improvement, if someone wants to rework it to use the cross-platform
>> Path class etc.
>> (hyatt at apple.com)
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org
More information about the webkit-dev