Khiêu chuyển đáo nội dung

XCB

本页使用了标题或全文手工转换
Duy cơ bách khoa, tự do đích bách khoa toàn thư
XCB
Khai phát giảJamey Sharp, Josh Triplett, Bart Massey
Đương tiền bản bổn
  • 1.17.0(2024 niên 4 nguyệt 15 nhật; ổn định bản bổn )[1]
編輯維基數據鏈接
Nguyên đại mã khố編輯維基數據鏈接
Thao tác hệ thốngPOSIX
Loại hìnhX Window hạch tâm hiệp nghịKhai phát hàm thức khố
Hứa khả hiệp nghịMIT hứa khả chứng
Võng trạmxcb.freedesktop.org

XCB( X C Binding ) thị nhất sáo dĩC ngữ ngônSoạn tả, tịnh dụng ô bảng định ( Binding )X Window SystemChi thượng. XCB thị nhất sáo miễn phí đích nhuyễn thể, mục tiêu tại ô thủ đạiXlib.Giá cá kế hoa khai thủy ô 2001 niên, tác giả thị Bart Massey.

Lý niệm

[Biên tập]

XCB chủ yếu mục tiêu thị:

Phạm lệ

[Biên tập]
/* Simple XCB application drawing a box in a window */

#include<xcb/xcb.h>
#include<stdio.h>
#include<stdlib.h>

intmain()
{
xcb_connection_t*c;
xcb_screen_t*s;
xcb_window_tw;
xcb_gcontext_tg;
xcb_generic_event_t*e;
uint32_tmask;
uint32_tvalues[2];
intdone=0;
xcb_rectangle_tr={20,20,60,60};

/* open connection with the server */
c=xcb_connect(NULL,NULL);
if(xcb_connection_has_error(c)){
printf("Cannot open display\n");
exit(1);
}
/* get the first screen */
s=xcb_setup_roots_iterator(xcb_get_setup(c)).data;

/* create black graphics context */
g=xcb_generate_id(c);
w=s->root;
mask=XCB_GC_FOREGROUND|XCB_GC_GRAPHICS_EXPOSURES;
values[0]=s->black_pixel;
values[1]=0;
xcb_create_gc(c,g,w,mask,values);

/* create window */
w=xcb_generate_id(c);
mask=XCB_CW_BACK_PIXEL|XCB_CW_EVENT_MASK;
values[0]=s->white_pixel;
values[1]=XCB_EVENT_MASK_EXPOSURE|XCB_EVENT_MASK_KEY_PRESS;
xcb_create_window(c,s->root_depth,w,s->root,
10,10,100,100,1,
XCB_WINDOW_CLASS_INPUT_OUTPUT,s->root_visual,
mask,values);

/* map (show) the window */
xcb_map_window(c,w);

xcb_flush(c);

/* event loop */
while(!done&&(e=xcb_wait_for_event(c))){
switch(e->response_type&~0x80){
caseXCB_EXPOSE:/* draw or redraw the window */
xcb_poly_fill_rectangle(c,w,g,1,&r);
xcb_flush(c);
break;
caseXCB_KEY_PRESS:/* exit on key press */
done=1;
break;
}
free(e);
}
/* close connection to server */
xcb_disconnect(c);

return0;
}

Chú thích

[Biên tập]
  1. ^libxcb-1.17.0.
  2. ^[ANNOUNCE] libxcb 1.14.xcb ( bưu kiện liệt biểu ). 2020-02-22[2020-02-22].(Nguyên thủy nội dungTồn đương vu 2021-02-26 ).

Ngoại bộ liên kết

[Biên tập]