Hi Alex,

ok, so you said I need to create a data structure for linear-gradient that
should be handled in each SWF and JS codes.
But don't know from where I can start, maybe some guidance on where are
located the other data structures and if there's one similar to check (and
maybe copy in part)
I think it could be the best to start with something is like a black box to
me.

Thanks


2018-03-06 20:09 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:

> Hi Carlos,
>
> Comments inline.
>
> On 3/6/18, 10:45 AM, "carlos.rov...@gmail.com on behalf of Carlos Rovira"
> <carlos.rov...@gmail.com on behalf of carlosrov...@apache.org> wrote:
>
> >Hi Alex,
> >
> >for SWF I think we should have something like [1] [2]
> >
> >what I don't know right now is what does royale compiler under the hood to
> >bring the "linear-gradient" values to the flash part, maybe generate some
> >AS3 code?
>
>
> For SWF, CSS is encoded into a data structure of name value pairs.  The
> value can be a String, Number, reference to a class, Array, probably some
> other things as well.
>
>
>
> >from there we can get those values and use in the flash code
> >similar to the ones in the links posted right?
>
> The SWF code can do pretty much whatever it wants with those values.  The
> goal is for the compiler to convert the CSS into a useful data structure
> that doesn't take too much framework code to process.  So doing things
> like converting RGBA to a hexadecimal number is preferred but there are no
> hard rules.
>
> >
> >[1]
> >https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fhelp.adob
> >e.com%2Fen_US%2FActionScript%2F3.0_ProgrammingAS3%2F&data=
> 02%7C01%7Caharui
> >%40adobe.com%7Cbb184bfb29e3488d18d008d5839278ef%
> 7Cfa7b1b5a7b34438794aed2c1
> >78decee1%7C0%7C0%7C636559587651768767&sdata=
> JLVkx89M4pFDeFsDKaPDI1dS%2B%2B
> >UThrZQRCYkljWU3dk%3D&reserved=0
> >WS5b3ccc516d4fbf351e63e3d118a9b90204-7dd7.html
> >[2]
> >https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fsnipplr.co
> >m%2Fview%2F15005%2F&data=02%7C01%7Caharui%40adobe.com%
> 7Cbb184bfb29e3488d18
> >d008d5839278ef%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C63655958765176
> >8767&sdata=UI2AFgw68%2F%2BCUDnU5uh6l%2F6aCrbLmSipjynq8xW69cg%3D&
> reserved=0
> >
> >For the compiler part, I'm really have to check for:
> >
> >background-image: linear-gradient(#3BB0FF, #1E36FA);
> >
> >or
> >
> >background: linear-gradient(#3BB0FF, #1E36FA);
> >
> >not for backgrounColor(s), but I suppose is the same
> >
> >(in this last case I guest we have some actual problems since in that
> >compact mode, people could write many optional things and maybe this are
> >not processed right for the compiler.
>
> I don't know if linear-gradient can be specified in other CSS style
> property values.  I guess it would be best to define a SWF data structure
> that best represents the data.  I see in a CSS spec that linear-gradient
> can have lots of different parameters.  We want the compiler to handle
> that and maybe output an array of values.  The framework can read that
> array and determine how to draw the gradient.  The first thing in the
> array could be the string "linear-gradient" so you know what follows.
>
> In Flex CSS there were often properties with names that ended with "Alpha"
> but that isn't CSS compliant.  Instead, it appears that alpha is generally
> specified via RGBA.  So the compiler and framework should probably handle
> RGBA instead of separate *Alpha properties.
>
> Good luck,
> -Alex
>
> >
> >thanks
> >
> >
> >2018-03-06 17:36 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:
> >
> >> Hi Carlos,
> >>
> >> If you can find a way to handle linear-gradient for SWF that would be
> >> great.  I don't know this area of the code that well, but I think you
> >>have
> >> at least 3 choices:
> >>
> >> 1) Alter the AST
> >> 2) Output a String
> >> 3) Reduce it to a function call.
> >>
> >> FWIW, #3 requires changing the reducer which seems scary.  I think I've
> >> avoided it so far.
> >>
> >> Options #1 and #2 are similar.  I think you can see that the parsing
> >>sets
> >> up a data structure with things like CSSRgbColorPropertyValue and
> >> CSSFunctionCallPropertyValue.  It should be possible to see that a
> >> CSSFunctionCallPropertyValue is a linear-gradient and swap it out for
> >>some
> >> other CSS structure that represents what the parser would have generated
> >> for:
> >>
> >> #1:  backgroundColors: #000000, #123456;
> >> #2:  backgroundColor: "linearGradient(#000000, #123456)"
> >>
> >> For #1, there seems to already be custom styles that end with
> >>"xxxColors"
> >> (note plural) that have a list of colors.
> >> For #2, you are trying to set backgroundColor to a String that the
> >> framework could parse at runtime.
> >>
> >> Good luck,
> >> -Alex
> >>
> >>
> >> On 3/6/18, 4:16 AM, "carlos.rov...@gmail.com on behalf of Carlos
> Rovira"
> >> <carlos.rov...@gmail.com on behalf of carlosrov...@apache.org> wrote:
> >>
> >> >Hi Alex,
> >> >
> >> >I'm looking into CSS compiler files and trying to see what to do. This
> >>for
> >> >the momento exceeds me, but I'll try to continue trying to understand
> >>this
> >> >part, but will need cross various emails with you:
> >> >
> >> >For this one:
> >> >
> >> >https://na01.safelinks.protection.outlook.com/?url=
> >> https%3A%2F%2Fgithub.co
> >> >m%2Fapache%2Froyale-compiler%2Fissues%2F26&data=02%7C01%
> >> 7Caharui%40adobe.c
> >> >om%7C5cf94961f3994e02456208d5835c29f8%7Cfa7b1b5a7b34438794aed2c178de
> >> cee1%7
> >> >C0%7C0%7C636559354222273618&sdata=jCD9%2FvfKxdW0TKwiJhMO%
> >> 2FI7zwGI6cWaMQUYP
> >> >oTMk%2BJo%3D&reserved=0
> >> >
> >> >I assume the point is in CSSReducer class (line 530), then I need to
> >>deal
> >> >with CSSFunctionCallPropertyValue
> >> >
> >> >but first of all is what to do with  *linear-gradient(#3BB0FF,
> >>#1E36FA)'*
> >> >in SWF
> >> >
> >> >I think this value could not be valid in SWF for "background", but in
> >>that
> >> >case:
> >> >
> >> >* we can make it valid
> >> >
> >> >or
> >> >
> >> >* maybe for SWF there's some way to discriminate css rules for SWF and
> >>for
> >> >JS?
> >> >
> >> >(In the end if we want JS and SWF match, I think we should support
> >> >linear-gradients in SWF in some way
> >> >
> >> >Thanks
> >> >
> >> >--
> >> >Carlos Rovira
> >> >https://na01.safelinks.protection.outlook.com/?url=
> >> http%3A%2F%2Fabout.me%2
> >> >Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%
> >> 7C5cf94961f3994e02456208d5
> >> >835c29f8%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> >> 7C636559354222273618&s
> >> >data=XOjs%2B44XE3iak7IvBiX3lajtbDPUe6XPBCKPg%2FGUqLU%3D&reserved=0
> >>
> >>
> >
> >
> >--
> >Carlos Rovira
> >https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fabout.me%2
> >Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%
> 7Cbb184bfb29e3488d18d008d5
> >839278ef%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C636559587651768767&s
> >data=hZupbvf5ZwbnAcTydxuZfuKn1L9JGgcK0rUwyeuVFOk%3D&reserved=0
>
>


-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to