> Within Roassal I need to have a svg shape that knows about a path. > Currently I do not make use of Athens to draw the SVG, I simply use Athens to > draw lines.
But in roassal you do not have the concept of a polylines? Ok I saw that SVGPath are not polyline as I originally thought. NOw I do not get why you want to pollute Roassal with SVG names. If you introduce the notion of Path why don;t you do it independent of SVG because SVG is one way to represent path. > Within Roassal I can define any SVG path as a shape. For example: > view add: (ROSVGPath path: 'M10,10 L30,30') element > > Why this should not be at the level of Roassal? If I want to define a box, I > would simply do > view add: (ROBox new extent: 30 @ 20) element Because I think that as a user I do not want to if my code works on svg or another external format. > It follows the same pattern no? Yes but this is different because ROBox is a roassal box not an svg or another format. If tomorrow you get a pdf reader and access a library of pdf library. Do you want your reader to have ROPDFBox? in SVG you also have Rectangle <rect> Circle <circle> Ellipse <ellipse> Line <line> Polyline <polyline> Polygon <polygon> Path <path> So I imagine (and hope) that you will not introduce ROSVGRectangle ROSVGLine ROSVGCircle? So why introducing ROSVGPath Stef > > Alexandre > > > On Nov 17, 2013, at 8:45 AM, Stéphane Ducasse <[email protected]> > wrote: > >> I see that you have a loooot of fun. >> Now I have the impression that in the future version you should not expose >> ROSVGPath and others >> because there are at the importer level not Roassal. So why do you need to >> wrap them. >> If there is something missing in SVGPath what is it? >> >> Stef >> >>> Hi! >>> >>> I had fun understanding how countries may be described using SVG. >>> Here is a first shoot: >>> >>> <Screen Shot 2013-11-16 at 5.36.21 PM.png> >>> >>> Moving the mouse above a country name highlight the country. You can now >>> rehearse your geography. >>> >>> The complete source code of this example is: >>> >>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >>> | view element nameComponent label | >>> view := ROView new. >>> >>> ROSVGPath countries do: [ :k | >>> element := (ROSVGPath path: (ROSVGPath perform: k)) elementOn: k. >>> view add: element. >>> ]. >>> >>> nameComponent := ROElement new. >>> ROSVGPath countries do: [ :k | >>> label := ROLabel elementOn: k asString. >>> label @ ROLightlyHighlightable. >>> label on: ROMouseEnter do: [ :event | ROBlink highlight: (view >>> elementFromModel: event model asSymbol) ]. >>> label on: ROMouseLeave do: [ :event | ROBlink unhighlight: (view >>> elementFromModel: event model asSymbol) ]. >>> nameComponent add: label. >>> ]. >>> ROGridLayout new >>> gapSize: -3; >>> lineItemsCount: 15; >>> on: nameComponent elements. >>> >>> view add: nameComponent. >>> nameComponent translateTo: 0 @ 400. >>> >>> view openInWindowSized: 1000 @ 700 >>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >>> >>> Cheers, >>> Alexandre >>> -- >>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >>> Alexandre Bergel http://www.bergel.eu >>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >>> >>> >>> >> > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > >
