Home - SWI-Prolog/packages-xpce GitHub Wiki
Porting xpce to SDL+Cairo+Pango
This wiki is not (yet) about XPCE in general. It is about modernising XPCE. The project addresses three issues
- Portability Get rid of the fading X11 and Win32 GDI dependencies, replacing them by SDL3 for window and multimedia management and Cairo for 2D window content using Pango for text rendering. This will notably produce a native version for MacOS Cocao + Quartz, getting rid of the need for the XQuartz X11 server as dependency.
- Modern graphics Exploit Cairo for proper device independent rendering, transparency and matrix-based transformations (scale, rotate, sheer).
- Merge xpce-win Integrate
xpce-win
, currently a Win32+GDI (Windows) or Qt (MacOS, Linux) into XPCE. This provides portability and reduces dependencies. At the same time, it provides a more uniform environment for SWI-Prolog.
Help welcome
This is a significant project. All help to make this work is welcome.
- Consider becoming a sponsor
- If GitHub sponsoring is complicated, contact [email protected]. We can accept direct sponsoring and provide you with an invoice when needed.
- Coding help is also welcome. Mainly requires experience in C programming. Contact me if you have plans so that we can coordinate first.
- Testing, evaluation, etc. Think about realizing a test suite. Requires Prolog programming. Just populating a list of bugs is of value as well!
- If you have talents in graphical design, please help getting a good set of icons for the IDE tools and make suggestions for improving the widgets.
- Reviving the documentation is another big task. As is, there is a LaTeX user guide and course as well as a reference manual built-in in the form of cards.
Project details
- XPCE on SDL+Cairo+Pango outline
- TODO Also has bugs. Please extend.
- XPCE on SDL+Cairo+Pango compatibility