I just checked in a change to the GraphicShape.js to include setters for x
and y; ActionScript already had them as a result of inheritance. I needed
to have them to change the origin of the <svg> so I could draw chart axes
graphics in the right location.

I think that change would have been necessary given what's written below.

Peter Ent
Adobe Systems

On 10/15/14 10:53 AM, "Alex Harui" <aha...@adobe.com> wrote:

>Did you try it?  It should have at least compiled.  What error did you
>get?
>
>In FlexJS, MXML is not converted to code, but the net result should be
>equivalent to:
>
>var comp:Object = new Rect();
>this[³myRect²] = comp;
>comp.width = 300;
>comp.height = 300;
>comp.x = 10;
>comp.y = 10;
>var comp2:Object = new SolidColor();
>comp2.color = Œ#ff0000¹;
>comp.fill = comp2;
>someParent.addElement(comp);
>
>Note that:
>1) I¹m not sure ³#ff0000² will be converted to 0xFF0000.  It might, but if
>not, you can ask the ValuesManager to convert it, which would someday
>allow you to handle ³red², ³green², etc.
>2) The color is applied to SolidColor before it is assigned as the fill.
>3) There is probably no way to get the compiler to generate the call to
>drawRect.  Based on what interfaces you implement, you could get notified
>during the addElement call or you could get a setDocument call and draw
>then.  You could also require that these elements get wrapped by some
>other class that is a IUIBase and sort of like Canvas, then the Rect and
>other tags become a data structure assigned to a default property in that
>³Canvas².  Then when the Canvas is added or resized it would draw based on
>its data.
>
>-Alex
>
>On 10/15/14, 1:05 AM, "OmPrakash Muppirala" <bigosma...@gmail.com> wrote:
>
>>I am quite satisfied with the way the drawing APIs are shaping up.
>>Before
>>I continue adding more APIs, I would like to make them work from MXML so
>>that I can start importing some real graphics (exported from Adobe
>>Illustrator) and see it render in Flash and HTML5.
>>
>>Here is a basic requirement:
>>
>>When I write:
>>
>>    <svg:Rect id="myRect" width="300" height="300" x="10" y="10">
>>        <svg:fill>
>>            <basic:SolidColor color="#FF0000" />
>>        </svg:fill>
>>    </svg:Rect>
>>
>>It must get converted into this code:
>>
>>var myRect:Rect = new Rect();
>>myRect.fill = new SolidColor();
>>myRect.fill.color = 0xFF0000;
>>myRect.drawRect(10,10,300,300);
>>
>>How would I go about doing this?
>>
>>I am guessing I need to make changes to my API to make it work from MXML,
>>obviously which I am willing to do.
>>
>>Thanks,
>>Om
>

Reply via email to