Movatterモバイル変換


[0]ホーム

URL:


Siirry sisältöön
Wikipedia
Haku

Xlib

Wikipediasta
Tähän artikkeliin tai osioon ei ole merkitty lähteitä, joten tiedot kannattaa tarkistaa muista tietolähteistä.
Voit auttaa Wikipediaa lisäämällä artikkeliintarkistettavissa olevia lähteitä ja merkitsemällä neohjeen mukaan.
Xlib
Xlib neliöesimerkki Icewm koristeluilla.
Xlib neliöesimerkkiIcewm koristeluilla.
Tiedot
Ohjelmistotyyppikirjasto
OhjelmointikieletC
LisenssiExpat-lisenssi, X11-lisenssi ja Historical Permission Notice and Disclaimer
Aiheesta muualla
Verkkosivusto
Infobox OK

Xlib onX Window SysteminohjelmakirjastoC-kielelle. Xlib sisältää toiminnot, joita X Window Systemiä käyttävät asiakasohjelmat käyttävät liityntäänikkunointijärjestelmän kanssa.[1]

Useimmat toiminnot Xlibissä vain lisäävät pyyntöjä puskuriin ja nämä suoritetaan asynkronisesti X-palvelimella.[2]

Xlibissä on yksinkertaisia toimintoja, kuten ikkunalaatikon ja sen sisältämän grafiikan ja tekstin piirtäminen sekä hiiri- ja näppäimistösyötteen vastaanottaminen. Edelleen X:ää käyttävä sovellusohjelma päättää, miten se reagoi saamaansa syötteeseen.

Xlib ja muita sitä käyttäviä kirjastoja.

Useimmat sovellusohjelmat eivät käytä suoraan Xlibiä, koska Xlibin tarjoamien toimintojen yksinkertaisuuden vuoksi sellaisen ohjelman tekeminen on turhan työlästä. Sen sijaan lähes aina käytetään muita kirjastoja, jotka yhdessä päässä käyttävät Xlibiä ja toisessa tarjoavat ohjelmoijalle monimutkaisempia toimintoja, kuten käyttäjälle näkyvien komentopainikkeiden, valikoiden ja erilaisten säätönappuloiden tapaistenkäyttöliittymäkomponenttien luomisen. Tällaisia varsinaisia käyttöliittymäkirjastoja (engl.widget toolkit) ovat muun muassa:

Esimerkkiohjelma

[muokkaa |muokkaa wikitekstiä]

Seuraava C-kielinen ohjelma tekee ikkunan, jossa on pieni musta neliö ja teksti "Hello, World!"

/* Simple Xlib application drawing a box in a window. */#include<X11/Xlib.h>#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(){Display*d;ints;Windoww;XEvente;/* open connection with the server */d=XOpenDisplay(NULL);if(d==NULL){printf("Cannot open display\n");exit(1);}s=DefaultScreen(d);/* create window */w=XCreateSimpleWindow(d,RootWindow(d,s),10,10,100,100,1,BlackPixel(d,s),WhitePixel(d,s));/* select kind of events we are interested in */XSelectInput(d,w,ExposureMask|KeyPressMask);/* map (show) the window */XMapWindow(d,w);/* event loop */while(1){XNextEvent(d,&e);/* draw or redraw the window */if(e.type==Expose){XFillRectangle(d,w,DefaultGC(d,s),20,20,10,10);XDrawString(d,w,DefaultGC(d,s),50,50,"Hello, World!",strlen("Hello, World!"));}/* exit on key press */if(e.type==KeyPress)break;}/* close connection to server */XCloseDisplay(d);return0;}

Ikkunaa voi siirtää ja sen kokoa muuttaa. Tämä esimerkki on ohjelmoitu niin, että ohjelman saa lopetettua painamalla jotain näppäintä ohjelmaikkunan ollessa valittuna, mutta ei yrittämällä sulkea ikkuna. Käännettäessä tämä Xlibiä käyttävä ohjelmaGCC-kääntäjällä tarvitaan linkitysparametri-lX11.

Lähteet

[muokkaa |muokkaa wikitekstiä]
  1. Chapter 1: Introduction to Xlib tronche.com. Viitattu 9.5.2022. (englanniksi)
  2. 1.1. Overview of the X Window System tronche.com. Viitattu 9.5.2022. (englanniksi)

Aiheesta muualla

[muokkaa |muokkaa wikitekstiä]
Noudettu kohteesta ”https://fi.wikipedia.org/w/index.php?title=Xlib&oldid=20974927
Luokat:
Piilotetut luokat:

[8]ページ先頭

©2009-2026 Movatter.jp