XCB
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 19. toukokuuta 2015 tarkistetusta
versiosta . tarkastukset vaativat
5 muokkausta .
XCB ( X - protokollan C -language B inding , X-protokollan toteutus C-kielelle ) on C-ohjelmointikielikirjasto , joka toteuttaa X11 - protokollan asiakasosan X Window System -järjestelmälle . Se on ilmainen ohjelmisto (jaettu MIT-lisenssillä ). Bart Massey perusti projektin vuonna 2001 korvaamaan Xlibin .
Esimerkki
/* Yksinkertainen XCB-sovellus piirtää laatikon ikkunaan */
#include <xcb/xcb.h>
#include <stdio.h>
#include <stdlib.h>
int main ( tyhjä )
{
xcb_yhteys_t * c ;
xcb_screen_t * s ;
xcb_window_t w ;
xcb_gcontext_t g ;
xcb_generic_event_t * e ;
uint32_tmask ; _
uint32_t- arvot [ 2 ];
int valmis = 0 ;
xcb_suorakulmio_t r = { 20 , 20 , 60 , 60 };
/* avaa yhteys palvelimeen */
c = xcb_connect ( NULL , NULL );
if ( xcb_connection_has_error ( c )) {
printf ( "Näyttöä ei voi avata \n " );
uloskäynti ( 1 );
}
/* hanki ensimmäinen näyttö */
s = xcb_setup_roots_iterator ( xcb_get_setup ( c ) ). tiedot ;
/* luo musta grafiikkakonteksti */
g = xcb_generate_id ( c );
w = s -> juuri ;
maski = XCB_GC_FOREGROUND | XCB_GC_GRAPHICS_EXPOSURES ;
arvot [ 0 ] = s -> musta_pikseli ;
arvot [ 1 ] = 0 ;
xcb_create_gc ( c , g , w , maski , arvot );
/* luo ikkuna */
w = xcb_generate_id ( c );
maski = XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK ;
arvot [ 0 ] = s -> valkoinen_pikseli ;
arvot [ 1 ] = XCB_EVENT_MASK_EXPOSURE | XCB_EVENT_MASK_KEY_PRESS ;
xcb_create_window ( c , s -> root_depth , w , s -> juuri ,
10 , 10 , 100 , 100 , 1 ,
XCB_WINDOW_CLASS_INPUT_OUTPUT , s -> root_visual ,
maski , arvot );
/* näyteikkuna */
xcb_map_window ( c , w );
xcb_flush ( c );
/* tapahtumasilmukka */
while ( ! done && ( e = xcb_wait_for_event ( c ))) {
kytkin ( e -> vastauksen_tyyppi & ~ 0x80 ) {
case XCB_EXPOSE : /* piirrä tai piirrä ikkuna uudelleen */
xcb_poly_fill_rectangle ( c , w , g , 1 , & r );
xcb_flush ( c );
tauko ;
case XCB_KEY_PRESS : /* poistu näppäinpainalluksesta */
tehty = 1 ;
tauko ;
}
ilmainen ( e );
}
/* sulje yhteys palvelimeen */
xcb_disconnect ( c );
paluu 0 ;
}
Kuten esimerkistä näkyy, XCB on hieman alemman tason kirjasto kuin Xlib .
Logo
XCB -logon loi Gearóid Molloy, Neko the Kitty -verkkosarjakuvan kirjoittaja , ja lahjoitti sen projektille. [2]
Muistiinpanot
- ↑ xcb Open Source -projekti Open Hubissa: Kielet-sivu - 2006.
- ↑ KittyLogo arkistoitu 2. elokuuta 2010 Wayback Machinessa (xcb.freedesktop.org)
Linkit
|
---|
Komponentit |
| |
---|
Kirjastot |
|
---|
Kehykset |
|
---|
Kokoukset |
|
---|