• Aucun résultat trouvé

C. Recanati Option C avancé, avec X-Window Licence 3, 2007-2008 TPn°2 : Fenêtres et événements

N/A
N/A
Protected

Academic year: 2022

Partager "C. Recanati Option C avancé, avec X-Window Licence 3, 2007-2008 TPn°2 : Fenêtres et événements"

Copied!
2
0
0

Texte intégral

(1)

C. Recanati

Option C avancé, avec X-Window Licence 3, 2007-2008

TPn°2 : Fenêtres et événements Exercice n° 1 (programme winGravity.c)

Le but de l’exercice est de tester l’attribut win_gravity des

fenêtres filles. Pour cela, reprendre l’exercice 1 du TP 1, mais créer la fille avec XCreateWindow et un attribut win_gravity dont la valeur sera fournie par le premier argument du programme (passer une chaîne indiquant une valeur de win_gravity). Observez le résultat obtenu selon cette valeur quand vous changez la taille de la fenêtre mère.

Exercice n° 2 (programme events.c)

1) Sélectionner sur une fenêtre les événements de type ButtonPress, ButtonRelease et MotionNotify.

Dans la boucle de traitement des événements, pour chaque type d’événement reçu, imprimer le type de l’événement, l’identificateur de la fenêtre ayant reçu l’événement (comme entier) et la position en (x, y) de la souris.

2) Faites varier ensuite le masque de sélection des événements de la fenêtre pour ne recevoir les événements de mouvement souris que lorsque le bouton 2 est enfoncé.

Exercice n° 3 (programme scrollRoot.c)

Créez un Pixmap suffisamment grand pour y copier le contenu de la racine grâce à la fonction XCopyArea. Le recopier ensuite dans une autre fenêtre (quand elle sera présente à l’écran) sur

enfoncement d’un bouton souris, et le faire défiler dans la fenêtre quand l’utilisateur déplacera la souris avec un bouton enfoncé (sélection des événements de mouvements avec

ButtonMotionMask).

Indications : pour faire défiler le contenu, on utilise aussi

XCopyArea. XCopyArea (comme XCopyPlane) effectue la copie

(2)

d’un rectangle d’un drawable vers un autre, c’est-à-dire fait une

copie entre des fenêtres de classe InputOutput et/ou des Pixmap.

En variant le point d’origine de la copie, on aura le sentiment d’un défilement de contenu. On l’utilise ici pour faire la copie initiale de la racine vers un Pixmap, et ensuite on recopie ce Pixmap (notre copie d’écran initiale) vers notre fenêtre.

Références

Documents relatifs

Vivre ensemble : Travail en collectif pour réaliser des fonds colorés qui serviront de fonds pour des travaux suivants. Activités Décrochées : - travail sur les ronds

Exemple : on peut placer les souris face contre la table, celui qui pioche une souris particulière (souris blanche, zèbre, panthère, marquée d’un signe particulier…) a le droit

Die Programme P18 bis P22 sind Pulsschlag-Kontroll-Programme, wobei P22 für das Programm zum individuell angestrebten Pulsschlag steht. Training mit Ihrem individuellen Zielpuls.

Dans le menu déroulant, une liste non exhaustive est disponible afin d’identifier

Pour cela, créer une fenêtre qui sélectionne ce type d’événement ; imprimer à la console pour chaque.. événement de type Expose reçu le champ count, la taille et la position

La fonction XReadBitmapFile dont on dispose pour lire des données au format bitmap crée un Pixmap de profondeur 1 (un seul plan) ; c’est un pixmap qui n’est pas acceptable comme fond

2) Quand on relâche la souris dans le bouton, il se réaffiche avec ses couleurs d’origine et l’on quitte le programme.. 3) Quand on relâche la souris à l’extérieur du bouton, le

Pour nom :x Crée une procédure nommée « nom » de paramètre x Fin Termine la création d'une procédure..