Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

XCB
Логотип программы XCB
Тип Библиотека для работы с основным протоколом X Window System
Разработчики Jamey Sharp, Josh Triplett, Bart Massey
Написана на Си[1]
 Операционная система  POSIX
Первый выпуск 2001
Последняя версия 1.15 (май 2022)
Репозиторий gitlab.freedesktop.org/x…
Лицензия MIT
Сайт xcb.freedesktop.org
Логотип Викисклада Медиафайлы на Викискладе

XCB (X protocol C-language Binding, реализация X-протокола для языка C) — библиотека языка программирования Си, реализующая клиентскую часть протокола X11 для X Window System. Является свободным программным обеспечением (распространяется под лицензией MIT). Проект был основан в 2001 году Бартом Меси (Bart Massey) с целью замены Xlib.

Пример

/* Simple XCB application drawing a box in a window */
 
#include <xcb/xcb.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  xcb_connection_t    *c;
  xcb_screen_t        *s;
  xcb_window_t         w;
  xcb_gcontext_t       g;
  xcb_generic_event_t *e;
  uint32_t             mask;
  uint32_t             values[2];
  int                  done = 0;
  xcb_rectangle_t      r = { 20, 20, 60, 60 };
 
                        /* открыть соединение с сервером */
  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);
 
                       /* создать окно */
  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);
 
                        /* отобразить окно */
  xcb_map_window(c, w);
   
  xcb_flush(c);
 
                        /* event loop */
  while (!done && (e = xcb_wait_for_event(c))) {
    switch (e->response_type & ~0x80) {
    case XCB_EXPOSE:    /* отрисовать или перерисовать окно */
      xcb_poly_fill_rectangle(c, w, g,  1, &r);
      xcb_flush(c);
      break;
    case XCB_KEY_PRESS:  /* выйти по нажатию клавиши */
      done = 1;
      break;
    }
    free(e);
  }
                        /* закрыть соединение с сервером */
  xcb_disconnect(c);

  return 0;
}

Как видно из примера, XCB является немного более низкоуровневой библиотекой, чем Xlib.

Логотип

Логотип XCB создан Gearóid Molloy, автором веб-комикса Neko the Kitty, и подарен проекту.[2]

Примечания

  • Massey, Bart (2001-09-19). "XCB: An X Protocol C Binding" (PDF). Proceedings of the XFree86 Technical Conference. Oakland, California: USENIX. Дата обращения: 7 ноября 2008. {{cite conference}}: Неизвестный параметр |coauthors= игнорируется (|author= предлагается) (справка)
  • Massey, Bart (2002). "X Meets Z: Verifying Correctness In The Presence Of POSIX Threads". Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference. Monterey, California: USENIX. pp. 221—234. Дата обращения: 7 ноября 2008. {{cite conference}}: Неизвестный параметр |coauthors= игнорируется (|author= предлагается) (справка)
  • Sharp, Jamey (2002). "XCL: A Compatibility Layer For XCB". Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference. Monterey, California: USENIX. pp. 71—83. Дата обращения: 7 ноября 2008. {{cite conference}}: Неизвестный параметр |coauthors= игнорируется (|author= предлагается) (справка)

Ссылки

Эта страница в последний раз была отредактирована 19 декабря 2023 в 15:06.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).