Mail Archives: geda-user/2013/08/16/14:26:53
--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Roland Lutz <rlutz AT hedmen DOT org> writes:
> A short update for the Python bindings/translation:
>
> I tried both ways (creating a Python wrapper using swig, and
> translating the relevant parts of libgeda to Python) and found it to
> be much more difficult than expected. The main problems I experienced
> are:
>
> 1. The gschem GUI code is not cleanly separated from the libgeda code;
> in fact, about half of libgeda is dealing with GUI issues.
I would say that that is quite an exaggeration. However, yes, there is
still too much GUI support code in libgeda. pcjc2 and I have only being
trying to cut it out since 2006...
> 2. There is some semi-working (e.g., no arcs) support for SVG paths
> which has been implemented by copying and adapting parts of rsvg.
That's not exactly an accurate description. pcjc2 wanted to add support
for paths. SVG has a convenient and compact path formatting syntax, so
it seemed like a good idea to adopt that rather than reinventing the
wheel. In a similar spirit of re-use, it made sense to adapt some
compatibly licensed code from librsvg. However, there was no intent at
any point to fully support arbitrary SVG paths.
> 3. The bounding box of text objects can only be determined using the
> Cairo renderer.
Or any other renderer that registers the appropriate callback
function. (I.e. the bounding box of text objects depends on how the
renderer decides to draw the text). We (pcjc2 and I) thought long and
hard about this and there didn't seem to be any better way of doing this
that would be able to ensure that the bounding box of a text object was
actually the bounding box of the text, apart from by putting a full font
renderer into libgeda.
> (This is the main reason why libgeda has to know about TOPLEVEL
> contexts.)
This is a highly inaccurate statement.
> 4. .sch/.sym files can only be parsed correctly after executing the
> configuration files. (I consider this a major anti-feature.)
Me too. Unfortunately there are some issues that make it inevitable
that loading depends on *some* configuration (for example, search
paths). I have an ongoing, stalled project (see Launchpad blueprints)
for converting all config to being parsed rather than executed, but it
has some fairly gnarly dependencies obstructing it. If someone wanted
to picke it up and run with it I'd be happy to provide advice.
Peter
=2D-=20
Peter Brett <peter AT peter-b DOT co DOT uk>
Remote Sensing Research Group
Surrey Space Centre
--=-=-=
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (GNU/Linux)
iEYEARECAAYFAlIObsoACgkQZ7Gbq7g7vpr+5QCdH+bZANIrnyo2ns6Z7eWy4u5U
vPsAoIkXHFrUo14LTSw11NSnYjkCr3NS
=WCOH
-----END PGP SIGNATURE-----
--=-=-=--
- Raw text -