Moz2D is used in Firefox to render webpages. For us it means that it
supports all latest web features (concerning graphics) and allows us to
finally implement the whole SVG standard.

> "Why would one use it rather than the
other existing Pharo libraries/wrappers?"

As far as I know there are two 2D libraries in Pharo: BitBlt and Athens
(backend Cairo). Obviously BitBlt does not fit all our needs :) Athens is
nice vector graphics abstraction. However, it does not support shadows,
filters, clipping by arbitrary path, only works in global coordinates and
has primitive text rendering. All those features were not necessary at the
time it was developed. Another problem is statefullness of Athens (state is
shared between draw operation) which does not fit so good when it comes to
the rendering of an element tree. There is a modern trend to move from
statefull to stateless frameworks.

It is almost impossible to extend Athens without breaking user applications
that use it.

So, Sparta is Athens2 that adds support of all mentioned features. It is
inspired and based on amazing work of Igor Stasenko.

In Pharo we have bindings to Cairo. Which is old, lacks on features and no
more maintained so good as it was before. To be performant we need to use
native backends on every platform: D2D1 on Windows, X11 on Linux,
CoreGraphics on Mac. Just imagine how much work is needed to implement
bindings for every mentioned backend :) And do not forget that CoreGraphics
is Object-C and can not be directly called through FFI, it has to be
wrapped in C first...
With Moz2D we get them all out of box for fee :)

Cheers
Alex

On Sep 5, 2016 16:28, "Sean P. DeNigris" <s...@clipperadams.com> wrote:

> Aliaksei Syrel wrote
> > bindings to the Moz2D rendering backend.
>
> Great! What is the use case for Moz2D? Why would one use it rather than the
> other existing Pharo libraries/wrappers?
>
>
>
> -----
> Cheers,
> Sean
> --
> View this message in context: http://forum.world.st/ANN-
> Sparta-v1-0-tp4914154p4914184.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>

Reply via email to