Lessico IT › Infrastruttura › Region (X11)

Region (X11)

Infrastruttura Svenska → Aggiornato: 2026-10-09

Il tipo di Xlib per un'area arbitraria espressa come insieme di rettangoli non sovrapposti — ciò contro cui si ritaglia, in cui si raccolgono gli eventi Expose e con cui si stabilisce cosa va ridisegnato.

Una region parte vuota con XCreateRegion o da un poligono, e si costruisce poi con XUnionRectWithRegion, intersezione, differenza e XOR con altre region. Internamente è un elenco di rettangoli ordinati in bande orizzontali, così che l'unione di mille riquadri sovrapposti diventi una forma compatta e priva di ambiguità, senza nulla contato due volte. L'uso classico è la gestione di Expose: il server invia un evento per ogni porzione visibile di una finestra scoperta, il client aggiunge ogni rettangolo a una region finché il contatore non arriva a zero, la installa come maschera di ritaglio del proprio contesto grafico con XSetRegion e ridisegna una volta sola. Tutto ciò che sta fuori dalla maschera il server lo scarta.

Il server mantiene la stessa struttura dal proprio lato, miRegion, ed è il linguaggio delle estensioni Shape, Damage e XFIXES: la forma di una finestra è una region, un'area danneggiata è una region, e XFIXES permise ai client di inviare region sul filo invece di elenchi di rettangoli. Il codice si rivelò abbastanza durevole che pixman, il rasterizzatore sotto Cairo, porta avanti il codice delle region del server con la riga di copyright DEC del 1987 ancora in cima al file.

← Torna al lessico