SimpInkScr icon indicating copy to clipboard operation
SimpInkScr copied to clipboard

Document and give example of intermix of SimpInkScr and inkex

Open robertlugg opened this issue 1 year ago • 3 comments

When I was looking into using the package I was worried that it was an either/or proposition to use traditional Extension programming or to use SimpInkScr. It would be nice to document the ability briefly. An example would also help to demonstrate. I don't know exactly how this should look but I was thinking of something like:

# Draw left circle using Simple Inkscape Scripting interface
style = {'stroke': '#000000', 'stroke-width': 1, 'fill': '#FF0000'}
circle((0, canvas.height/2), canvas.width/4, **style)

# Draw right circle using the inkex lower-level interface
style = {'stroke': '#000000', 'stroke-width': 1, 'fill': '#0000FF'}
parent =  extension.svg.get_current_layer ()
circle_attribs = {'style': str(inkex.Style(style)),
                    inkex.addNS('label', 'inkscape'): "mycircle",
                    'cx': str(canvas.width), 'cy': str(canvas.height/2),
                    'r': str(canvas.width/4)}
parent.add(inkex.Circle(**circle_attribs))

Code like this can be pasted directly into the "Python Code" dialog to demonstrate the two libraries working seamlessly together. I'm happy to make the changes but am not confidant that my code example is correct and best :)

robertlugg avatar Nov 07 '23 06:11 robertlugg

Your example is good in that it shows how to draw the same shape with both the high- and low-level interfaces. However, it leaves the reader wondering why one might want to use inkex directly. Can you think of a small example showing something that requires inkex?

I can imagine integrating this sort of documentation into the Advanced usage wiki page.

spakin avatar Nov 08 '23 04:11 spakin

Alternately, perhaps SimpInkScr could have a mode (Log window?) where it could be used as a didactic tool?

Enter a simple command such as:

circle((0, canvas.height/2), canvas.width/4, **style)

and get back the inkex equivalent?

WillAdams avatar Mar 20 '24 15:03 WillAdams

That's an interesting idea, but I suspect it would require a lot of work, especially relative to its overall utility.

spakin avatar Mar 21 '24 13:03 spakin