Linux dessine à l’écran indépendamment du gestionnaire de fenêtres

C’est plus une question de vocabulaire qu’autre chose.

introduction

J’utilise la bibliothèque de nuages ​​de points pour obtenir des données de suivi du visage. En utilisant ces données, je veux suivre où un utilisateur est confronté à l’écran. Ce n’est pas un problème.

Problème

Pour donner une rétroaction à l’utilisateur, je voudrais faire une estimation de la direction du visage de l’utilisateur sous la forme d’un cercle rouge à l’écran, essentiellement comme vu ici (ils créent simplement une petite fenêtre). Je voudrais que ce cercle puisse aller partout sur l’écran et je veux qu’il soit toujours visible. Je ne veux pas qu’il soit couvert par une autre fenêtre active. Si cela entrave l’interaction avec la fenêtre, cela me convient.

Mon problème est que je ne sais pas par où commencer.

Je pourrais juste contrôler le curseur, mais c’est moins qu’idéal, car j’aimerais pouvoir déplacer le curseur tout en utilisant la détection de visage.

Je pense que je dois utiliser OpenGL, mais tous les exemples que j’ai vus se trouvaient dans des fenêtres X. Par exemple, le code que j’ai trouvé ici après avoir obtenu un indice ici , me donne une belle fenêtre permanente, mais la fenêtre capture toujours tous les clics de la souris. Comment dessiner quelque chose sur un écran avec OpenGL indépendant de X-Window?

Est-ce que je l’aborde complètement de la mauvaise direction? Si oui, que devrais-je faire sur Google?

J’accepterai toute réponse qui me donne un sharepoint départ.

Plate-forme

J’utilise Ubuntu 12.04 avec le bureau Unity.

Créez une fenêtre régulière. Dites au WM de sauter les décorations et de garder la fenêtre toujours au dessus. Utilisez XFixesSetWindowShapeRegion () pour définir séparément une région de sortie circulaire et une région d’entrée vide. Vous avez besoin d’ un gestionnaire de fenêtres de compositing . Extensions XFixes pour que cela fonctionne.

Vous pouvez également rendre votre fenêtre semi-transparente (cela nécessite un gestionnaire de fenêtres de composition).

Une boîte à outils moderne telle que gtk devrait avoir des API faciles à utiliser pour faire tout ce qui précède.

Aucune OpenGL n’est nécessaire à aucun moment.