On Tue, Sep 9, 2014 at 8:19 AM, Peter Ent <p...@adobe.com> wrote: > Have run into a problem on the JS side. Firebox is telling me that in this > code from GraphicShape.js: > > org.apache.flex.core.graphics.GraphicShape.prototype.addedToParent = > function() { > var bbox = this.element.getBBox(); > this.resize(this.x_, this.y_, bbox.width + this.x_ * 2, bbox.height + > this.y_ * 2); > }; >
Peter, Can you please attach the html code for the svg element that is throwing an error? I will try to repro it on my side. Did you try Chrome or other browsers? Thanks, Om > > > this.element.getBBox() is returning undefined. I know that this.element is > set with an SVG element. > > I'm using Firefox 31.0 on Mac OS X. > > Peter Ent > Adobe Systems > > On 9/9/14 10:37 AM, "Peter Ent" <p...@adobe.com> wrote: > > >The update to handle 'A' and 'a' works great! Thanks. > > > >Peter Ent > >Adobe Systems > > > >On 9/9/14 3:42 AM, "OmPrakash Muppirala" <bigosma...@gmail.com> wrote: > > > >>On Mon, Sep 8, 2014 at 3:53 PM, OmPrakash Muppirala > >><bigosma...@gmail.com> > >>wrote: > >> > >>> On Mon, Sep 8, 2014 at 1:59 PM, Peter Ent <p...@adobe.com> wrote: > >>> > >>>> I haven't tried the JS side - this is all Flash. In SVG, the fill > >>>>takes > >>>> care of closing the path; I'm not using any line or border. > >>>> > >>>> > >>> Yes, it looks like the A parameter is not supported. I will work on > >>> adding this support in Path. I took a big chunk of the Path > >>>implementation > >>> from spark.primitives.Path. It seems like we do need to tweak it > >>>further. > >>> > >>> > >>Hi, > >> > >>The support for 'a' and 'A' (Elliptical Arc) has been added to the Flash > >>implementation of the Path api. I tried with this: > >> > >>path.drawPath(250,500,"M 50 50 L 100 50 A 50 50 0 0 0 50 0 Z"); > >> > >>and got a nice little wedge drawn on the screen. > >> > >>More importantly, the Flash and SVG renderings look (almost) the same. > >> > >>As part of this implementation, I borrowed the drawEllipicalArc() method > >>from the svgweb library(flash implementation of SVG) [1] The code is > >>Apache licensed. I have added the link to the original code as a comment > >>in our code. Do I need to mention this in the NOTICE or LICENSE files? > >> > >>Peter, if you can do some more testing and let me know your feedback, > >>that > >>would be great. > >> > >>And looks like this can be added to the current SDK's FXG implementation > >>as > >>well. I am surprised that we did not hit this issue in the current SDK. > >> > >>Thanks, > >>Om > >> > >>[1] > >> > https://code.google.com/p/svgweb/source/browse/trunk/src/org/svgweb/utils > >>/ > >>EllipticalArc.as?r=1251 > >> > >> > >> > >> > >>> I see that mx.charts.chartClasses.GraphicsUtilities has a drawArc() > >>> method. I will probably end up using that implementation. > >>> > >>> > >>>> Which brings me to the next issue. When drawing a series of connected > >>>> lines (for the LineChart), the first and last points are getting > >>>> connected, which I do not want. My loop to build the path looks like > >>>>this, > >>>> below. point[0] != point[last] so they should not be connected. I > >>>>tried > >>>> "z" and "Z" thinking one meant leave the path closed and one closed > >>>>the > >>>> path, but that didn't make any difference. > >>>> > >>>> var pathString:String = ""; > >>>> > >>>> for (var i:int=0; i < points.length; > >>>>i++) > >>>> { > >>>> var point:Object = points[i]; > >>>> if (i == 0) pathString += "M > >>>> "+point.x+" "+point.y+" "; > >>>> else pathString += "L > >>>>"+point.x+" > >>>> "+point.y+" "; > >>>> } > >>>> > >>>> pathString += "Z"; > >>>> > >>>> path.drawPath(0, 0, pathString); > >>>> > >>>> > >>> > >>> That is weird. I will play with it and see why that is happening. > >>> > >> > >>> Is moveTo() and lineTo() a better approach? > >>> > >>> In psedocode, the lines would be drawn like this: > >>> > >>> graphics.moveTo(points[0].x, points[0].y); > >>> for (var i:int=0; i < points.length; i++) { > >>> if(i+1 < points.length) > >>> { > >>> graphics.lineTo(points[i+1].x, points[i+1].y); > >>> } > >>> } > >>> > >>> In any case, I have the Line class in my list of Graphic elements to > >>> implement. > >>> > >>> > >> > >> > >> > >>> Thanks, > >>> Om > >>> > >>> > >>>> > >>>> Thanks, > >>>> Peter Ent > >>>> Adobe Systems > >>>> > >>>> On 9/8/14 4:13 PM, "OmPrakash Muppirala" <bigosma...@gmail.com> > wrote: > >>>> > >>>> >On Mon, Sep 8, 2014 at 12:48 PM, Peter Ent <p...@adobe.com> wrote: > >>>> > > >>>> >> I took care of the gjslint issues. > >>>> >> > >>>> > > >>>> >Thanks! Hope it was not too much trouble. > >>>> > > >>>> > > >>>> >> > >>>> >> Can you supply more information about Path and what is in the path > >>>> >>string? > >>>> >> I have a path working in SVG to do the wedges for the pie chart, > >>>>but > >>>> >>that > >>>> >> same string isn't working with core.graphics.Path. > >>>> >> > >>>> >> var pathString:String = 'M' + x + ' ' + y + ' L' + x1 + ' ' + y1 + > >>>>' A' > >>>> >>+ > >>>> >> radius + ' ' + radius + > >>>> >> ' 0 0 1 ' + x2 + ' ' + y2 + ' z'; > >>>> >> > >>>> >> > >>>> >> It doesn't look, to me, like "A" is being recognized. > >>>> >> > >>>> > > >>>> >The path looks like it is doing the following: > >>>> >M x y : move to x, y > >>>> >L x1 y1 : draw line from x,y to x1,y1 > >>>> >A radius radius : draw an arc with xradius=radius and yradius = > >>>>radius > >>>> >(so, a circular arc) > >>>> >0 0 1 : x-axis rotation=0, large-arc = false, sweep = true > >>>> >x2 y2 : ending point of the arc > >>>> >z : finish drawing > >>>> > > >>>> >BTW, don't you need another line to complete the wedge? > >>>> > > >>>> >Is it working fine on the flash side? I will take a look soon. > >>>> > > >>>> >Thanks, > >>>> >Om > >>>> > > >>>> > > >>>> >> > >>>> >> Thanks, > >>>> >> Peter Ent > >>>> >> Adobe Systems > >>>> >> > >>>> >> On 9/8/14 12:04 PM, "OmPrakash Muppirala" <bigosma...@gmail.com> > >>>> wrote: > >>>> >> > >>>> >> >On Sep 8, 2014 8:24 AM, "Peter Ent" <p...@adobe.com> wrote: > >>>> >> >> > >>>> >> >> I forgot to add that when I build flex-asjs, gjslint finds a > >>>>number > >>>> >>of > >>>> >> >> issues in the new JS graphics code (its usual, spaces at the end > >>>>of > >>>> >> >>lines, > >>>> >> >> sort of thing). I think I am using version 2.3.10 of gjslint but > >>>>I'm > >>>> >>not > >>>> >> >> 100% sure. > >>>> >> > > >>>> >> >Yeah, unfortunately there is no gjslint available for Windows. I > >>>> >>guess I > >>>> >> >will need you Mac folks to help me out with this :-) > >>>> >> > > >>>> >> >Thanks, > >>>> >> >Om > >>>> >> > > >>>> >> >> > >>>> >> >> Peter Ent > >>>> >> >> Adobe Systems > >>>> >> >> > >>>> >> >> On 9/8/14 3:48 AM, "OmPrakash Muppirala" <bigosma...@gmail.com> > >>>> >>wrote: > >>>> >> >> > >>>> >> >> >FlexJS now supports a basic drawing API (Rect, Ellipse, Circle, > >>>> >>Path, > >>>> >> >> >SolidColor, SolidColorStroke) Here are the AS3 [1] and JS [2] > >>>> >>versions > >>>> >> >> > > >>>> >> >> >So far, the rendering fidelity between the Flash and SVG/HTML5 > >>>> >>version > >>>> >> >>is > >>>> >> >> >very very close. For sure, there are some pretty major things > >>>>to > >>>> be > >>>> >> >> >worked > >>>> >> >> >out, but generally so far, the results have been very > >>>>encouraging. > >>>> >> >> > > >>>> >> >> >You can see a quick and dirty example here: > >>>> >> >> >Flash version: > >>>> >> >>http://people.apache.org/~bigosmallm/flexjs/drawing/flash/ > >>>> >> >> >HTML5 version: > >>>> >> >>http://people.apache.org/~bigosmallm/flexjs/drawing/html5/ > >>>> >> >> > > >>>> >> >> >HTML5 version has been tested to work fine on Chrome, Firefox, > >>>> IE11, > >>>> >> >> >Android browser and iPad Safari. > >>>> >> >> > > >>>> >> >> >Next up, i will be working on the following items: > >>>> >> >> >Polygons, Linear gradients, Radial gradients, filters and drop > >>>> >>shadows. > >>>> >> >> >These should bring us very close to our current FXG based > >>>>drawing > >>>> >>APIs. > >>>> >> >> > > >>>> >> >> >After that, I plan on programmatically recreating a few FXG > >>>>based > >>>> >>skins > >>>> >> >in > >>>> >> >> >FlexJS and see how we can apply it skins on UI components. > >>>> >> >> > > >>>> >> >> >Feedback welcome! > >>>> >> >> > > >>>> >> >> >[1] > >>>> >> >> > > >>>> >> > > >>>> >> > >>>> >> > >>>> > >>>> > https://github.com/apache/flex-asjs/tree/develop/frameworks/as/projects > >>>>/ > >>>>F > >>>> >>l > >>>> >> >> >exJSUI/src/org/apache/flex/core/graphics > >>>> >> >> >[2] > >>>> >> >> > > >>>> >> > > >>>> >> > >>>> >> > >>>> > >>>> > https://github.com/apache/flex-asjs/tree/develop/frameworks/js/FlexJS/s > >>>>r > >>>>c > >>>> >>/ > >>>> >> >> >org/apache/flex/core/graphics > >>>> >> >> > >>>> >> > >>>> >> > >>>> > >>>> > >>> > > > >