Region (X11)
Het gegevenstype van Xlib voor een willekeurig gebied, uitgedrukt als een verzameling niet-overlappende rechthoeken — waartegen men clipt, Expose-events verzamelt en uitrekent wat opnieuw getekend moet worden.
Een region begint leeg met XCreateRegion of vanuit een veelhoek, en wordt opgebouwd met XUnionRectWithRegion, doorsnede, verschil en XOR met andere regions. Intern is het een lijst rechthoeken, gesorteerd in horizontale banden, zodat de vereniging van duizend overlappende vakken één compacte, ondubbelzinnige vorm wordt waarin niets dubbel wordt geteld. Het klassieke gebruik is Expose-afhandeling: de server stuurt één event per zichtbaar stuk van een venster dat is vrijgekomen, de client voegt elke rechthoek aan een region toe tot de teller nul bereikt, stelt de region met XSetRegion in als clipmasker van zijn graphics context en tekent precies één keer opnieuw. Alles buiten het masker gooit de server weg.
De server houdt dezelfde structuur aan zijn kant bij, miRegion, en dat is waarin de extensies Shape, Damage en XFIXES spreken: een venstervorm is een region, een beschadigd gebied is een region, en met XFIXES konden clients regions over de draad sturen in plaats van lijsten rechthoeken. De code bleek duurzaam genoeg dat pixman, de rasterizer onder Cairo, de regioncode van de server voortzet met de copyrightregel van DEC uit 1987 nog bovenaan het bestand.