gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] Problem with Drawing API


From: Sandro Santilli
Subject: Re: [Gnash-dev] Problem with Drawing API
Date: Wed, 7 Nov 2007 11:17:34 +0100

On Wed, Nov 07, 2007 at 11:06:52AM +0100, Udo Giacomozzi wrote:
> Hello Sandro,
> 
> Wednesday, November 7, 2007, 8:49:21 AM, you wrote:
> SS> Another *important* thing to verify is the DrawingApiTest.swf
> SS> with the proprietary player.
> SS> In particular the 4 versions of the nested squares (with green
> SS> fill).
> 
> The only square with a green fill I see is the one that was there
> already before your patches, ie. the one between the cyan and magenta
> square.

Sorry, it's a bit complex to get there. You need to press the '2' key.
The '1' key will bring you back to page 1.
In order to send key events you'll need to click in the drawing, which
would turn the cursor shape into a mask, just click again to disable
the mask (can't remember if switching between "drawing pages" resets
the mask or not).

Make sure to insist, as the pp seems a bit deaf.

> SS> I'm saying this because the first two squares seems to be 
> SS> rendered with an hole, and the subsequent two withouht.
> SS> The only difference between the with-hole and without-hole
> SS> versions is an additional call to beginFill, specifying the same
> SS> fill already in effect.
> 
> If the above possibility is correct and they use a different
> rasterizer for dynamic shapes the AS calls would have these effects:
> 
> - beginFill starts a new sub-shape (m_new_shape is set) and path
> - moveTo starts a new path

Yeah, this is what I'm going to try next. I'd like to have m_new_shape
documented though.

> There is a special test that gives indication that the p.p. maybe
> really uses a different rasterizer:

( single beginFill, no moveTo )

>   5----4,0----------1
>   |#####|###########|
>   |#####|###########|
>   6-----+----7######|
>         |    |######|
>         |    |######|
>         9----8######|
>         |###########|
>         3-----------2

..

> The p.p. renders a continuous shape but the AGG renderer breaks the
> shape between point 9 and 0, i.e. there is a red line between 9 and
> the crossing and a white line from there to point 0.

Note that the p.p. might have engaged any normalization, and we have
no way to tell. 

> Can you resemble the test in Ming, producing a malformed SWF? This
> could clarify some things...

There's no test, I just said that you DO can produce arbitrary 
paths with it. See testsuite/misc-ming.all/ming_utils.c for 
a starting point with editing shapes (doesnt' do anything
special, see make_fill_square).

You have SWFShape_setLeftFillStyle and SWFShape_setRightFillStyle
to play with.

--strk;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]