[Pixman] Getting started with Pixman

Pekka Paalanen ppaalanen at gmail.com
Wed Jul 8 16:23:07 UTC 2020


On Wed, 8 Jul 2020 11:43:59 -0300
Erico P <eri0onpm at gmail.com> wrote:

> Hello,
> 
> I foundout about pixman recently as a recommended library for efficiently
> drawing pixels, apparently used when writing a rasterizer and some other
> use cases in GUIs too.
> 
> I want to learn how to use it, but unfortunately the webpage states "There
> is currently no documentation besides the source code itself."
> 
> Is there any documentation available at all, maybe something someone wrote
> some day for someone, anything other than just the source? Maybe a manual
> from someone who ported it to other language - but I do intend to use it in
> a mixed C/C++ environment.
> 
> I appreciate any suggestions on getting started with it!

Hi,

I'm not aware of anything particularly about Pixman, unfortunately.
You'll have to go through code that uses Pixman.

If you want to do rectangular operations,
pixman_image_composite32() is the main function for practically
everything. I've used that one, but I never looked into the
trapezoid or font compositing stuff.

https://gitlab.freedesktop.org/wayland/weston/-/blob/master/libweston/pixman-renderer.c
is one of Weston compositor's renderers that has a relatively
simple task of just copying and blending window images. Weston also
uses pixman_region32 for most region tracking and operations.

http://ssp.impulsetrain.com/porterduff.html
explains the Porter/Duff compositing operations. Some or all of
those are found in pixman_image_composite32(). It doesn't mention
the use of a mask though.

Since Cairo can use Pixman underneath, I think some Cairo
documentation about the image operations are applicable as well:
https://www.cairographics.org/tutorial/


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/pixman/attachments/20200708/16c87da0/attachment.sig>


More information about the Pixman mailing list