Bonjour à tous,

GDK2 (comme la Xlib) permet de définir des "Graphics Contexts" (GdkGC) avec un mode XOR (GDK_XOR) qui permet de tracer de façon simple une ligne visible quelque soit la ou les couleurs du fond et d'en faire une ligne élastique (rubber line) que l'on peut modifier avec la souris en consommant un minimum de ressources.

Il semble que cette possibilité, qui n'existe pas dans Cairo a aussi disparu de GDK3 et je me demande comment remplacer cette fonctionnalité.

Je ne suis pas le seul à m'être posé cette question (e.g. http://comments.gmane.org/gmane.comp...vel.apps/28708) mais je n'ai pas trouvé de réponse plus récente ni vraiment satisfaisante sur le Net (compliqué, scintillement, etc).

La raison de cette suppression (comme suggéré ici http://marc.info/?l=cairo&m=136782565609665&w=2) semble être que ni PDF, ni Postscript ne permettent de sonder l'état d'un pixel donné. Si cet argument me semble valable pour sortir une page sur une imprimante, cette omission est bien gênante quand il s'agit d'obtenir sur l'écran un effet interactif provisoire.

Je me demande si le plus simple n'est pas de définir une ou des fonctions court-circuitant Cairo pour accéder directement à l'écran puisqu'en aucun cas, je n'utiliserai cette possibilité pour produire le dessin définitif.

Je suis intéressé si vous avez des idées à ce sujet ou des références plus récentes que le post cité en référence.