Lexique informatique › Infrastructure › Région (X11)

Région (X11)

Infrastructure Svenska → Mis à jour: 2026-10-09

Le type de données de Xlib pour une zone quelconque exprimée comme un ensemble de rectangles sans chevauchement — ce contre quoi on découpe, où l'on rassemble les événements Expose et d'où l'on tire ce qu'il faut redessiner.

Une région naît vide avec XCreateRegion ou à partir d'un polygone, puis se construit par XUnionRectWithRegion, intersection, différence et OU exclusif avec d'autres régions. En interne, c'est une liste de rectangles triés en bandes horizontales, si bien que l'union de mille boîtes qui se chevauchent devient une forme compacte et non ambiguë, où rien n'est compté deux fois. L'usage classique est la gestion d'Expose : le serveur envoie un événement par morceau visible d'une fenêtre découverte, le client ajoute chaque rectangle à une région jusqu'à ce que le compteur tombe à zéro, installe la région comme masque de découpe de son contexte graphique avec XSetRegion et redessine une seule fois. Tout ce qui dépasse du masque, le serveur le jette.

Le serveur tient la même structure de son côté, miRegion, et c'est elle que parlent les extensions Shape, Damage et XFIXES : la forme d'une fenêtre est une région, une zone endommagée est une région, et XFIXES a permis aux clients d'envoyer des régions sur le réseau plutôt que des listes de rectangles. Le code s'est révélé assez durable pour que pixman, le rastériseur sous Cairo, reprenne le code de régions du serveur avec, en tête de fichier, la ligne de copyright DEC de 1987.

← Retour au lexique