One option would be: 1. To put all the interfaces from Graphics that Basic relies on into Core. 2. The rest of implementation agnostic code into a package in Graphics 3. The SVG implementation in a svg package in Graphics 4. Canvas into a canvas package also in Graphics.
An additional reason to move the SVG components out of Basic is because we have similarly named implementations in HTML.swc. > On Nov 5, 2020, at 4:13 PM, Carlos Rovira <[email protected]> wrote: > > Hi Harbs, > > I found the split over different libs confusing. I found that in some cases > it was a need due to dependencies, but I'm with you that needs a better > arrangement. I must say that I didn't spend time on figuring how to do it, > but one thing is clear, if you can work on this that would be great. > > El jue., 5 nov. 2020 a las 14:39, Harbs (<[email protected]>) escribió: > >> I’m starting work on a canvas based graphics package and I have a question >> about organization. >> >> We currently have: >> >> Graphics.swc has a graphics package which has mostly generic interfaces. >> Graphics.swc has an svg package which has SVG filters, gradients, >> transforms and the like. >> Graphics.swc has a display package which has some definitions which are a >> complement to ones in the graphics package as well as a Graphics API >> implementation which is specific to SVG. >> >> Basic.swc has an svg package which implements IGraphicShape using various >> SVG elements. >> >> Some issues I have is: >> >> 1. The current arrangement is confusing. Finding what is where is not easy. >> 2. The display and graphics packages should probably be combined into a >> single package. >> 3. The display package has implementation which is specific to SVG. That >> does not leave a good place to implement the canvas implementation. >> >> >> Thoughts? >> >> Rolling the Basic SVG package into Graphics (as things stand) is not an >> option because they use UIBase. >> >> > > -- > Carlos Rovira > Apache Member & Apache Royale PMC > *Apache Software Foundation* > http://about.me/carlosrovira
