Comment 6 for bug 1301187

Revision history for this message
su_v (suv-lp) wrote : Re: [Bug 1301187] Re: Problem compiling 0.48+devel with GCC 4.7 on Mavericks: Undefined Symbols

On 2014-04-03 24:43 +0100, Papoj Thamjaroenporn wrote:
> in long run I want to develop Inkscape Extension in C++ (because I
> believe it has more capabilities and speed). In this case, I would
> still need to install from -devel trunk, correct?

Yes.

Current extension system:
Inkscape's current extension system does not support binary "plugins" in
the sense like e.g. GIMP does - if you write an extension in C++, it has
to be compile in, and cannot be installed later on by the user by
dropping a binary into the shared extension directory.

Example internal extension (has bugs wrt to handling transformations
applied to parent containers (groups) correctly):
'Extensions > Render > Grid'
<http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Extensions-Render.html#Extensions-Grid>
<http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/src/extension/internal/grid.cpp>

Another one is
'Extensions > Generate from Path > Inset/Outset Halo'
<http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Extensions-GenerateFromPath.html#Extensions-Halo>
<http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/src/extension/internal/bluredge.cpp>

Future scripting APIs:
Inkscape trunk has a new DBus-based scripting API (not enabled with
regular builds (though MacPorts 'inkscape-devel' port has it enabled),
not documented yet except the docs in the repo, and a few threads on
'inkscape-devel' mailing list).

Generated API docs:
<https://dl.dropboxusercontent.com/u/65084033/devel/dbus/doc/inkscapeDbusRef.html>

The DBus interface is not feature-complete at its current state, and
AFAIU it's a recurring topic on the devel mailing list whether to
replace the programming-language-neutral interface with a Python
scripting console and Python bindings - I'd recommend to search the
archives of 'inkscape-devel' for more information.