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
Tyyppi Kirjasto X Window System -pääprotokollan kanssa työskentelemiseen
Kehittäjä Jamey Sharp , Josh Triplett , Bart Massey
Sisään kirjoitettu C [1]
Käyttöjärjestelmä POSIX
Ensimmäinen painos 2001
uusin versio 1.14 (helmikuu 2020)
Lisenssi MIT
Verkkosivusto xcb.freedesktop.org
 Mediatiedostot Wikimedia Commonsissa

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

  1. xcb Open Source -projekti Open Hubissa: Kielet-sivu - 2006.
  2. KittyLogo arkistoitu 2. elokuuta 2010 Wayback Machinessa (xcb.freedesktop.org)

Linkit