[webkit-dev] Box shadow

Mike Reed mikerreed at gmail.com
Wed Jan 10 13:32:24 PST 2007


Gotcha. Perhaps in the future we can push that
implementation-necessity down to the porting layer, rather than
forcing that detail to be in the portable layer.

Again, I'm just looking for a way to have round-rects look antialiased
(and therefore not clipped).

On 1/9/07, David Hyatt <hyatt at apple.com> wrote:
> 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.
>
> dave
>
> 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.
> >>
> >> dave
> >> (hyatt at apple.com)
> >>
> >> _______________________________________________
> >> webkit-dev mailing list
> >> webkit-dev at lists.webkit.org
> >> http://lists.webkit.org/mailman/listinfo/webkit-dev
> >>
>
>



More information about the webkit-dev mailing list