LINUX.ORG.RU

История изменений

Исправление anonymous2, (текущая версия) :

вопрос не по топику, но xcb гдето рядом

for(auto iter = xcb_setup_pixmap_formats_iterator(_setup); iter.rem; xcb_format_next(& iter))
      printf("pixmap formats: depth:%d, bpp:%d", iter.data->depth, iter.data->bits_per_pixel);

дает мне вывод

pixmap formats: depth:1, bpp:1  
pixmap formats: depth:4, bpp:8  
pixmap formats: depth:8, bpp:8  
pixmap formats: depth:15, bpp:16 
pixmap formats: depth:16, bpp:16  
pixmap formats: depth:24, bpp:32  
pixmap formats: depth:32, bpp:32  

можно запросить pixmap в любом этом формате через xcb_get_image или как? (чтобы отдать клиенту как он хочет без доп работы)

второй вопрос, смотрю доступные visuals например так

for(auto dIter = xcb_screen_allowed_depths_iterator(_screen); dIter.rem; xcb_depth_next(& dIter))
 {
    printf("allowed depth:%d, visuals:%d", dIter.data->depth, dIter.data->visuals_len);
    for(auto vIter = xcb_depth_visuals_iterator(dIter.data); vIter.rem; xcb_visualtype_next(& vIter))
        printf(...);
}

вижу вот это

allowed depth:24, visuals:48
visual id: 0x21, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x22, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xe9, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xea, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xeb, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xec, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xed, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xee, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xef, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf0, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf1, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf2, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf3, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf4, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf5, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf6, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf7, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf8, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf9, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfa, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfb, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfc, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfd, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfe, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xff, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x100, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x101, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x102, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
...
allowed depth:1, visuals:0
allowed depth:4, visuals:0
allowed depth:8, visuals:0
allowed depth:15, visuals:0
allowed depth:16, visuals:0
allowed depth:32, visuals:10
...

в чем смысл, они же одинаковы по формату?! по при этом для других depth они пустые, а как же pixmap formats?!

Исправление anonymous2, :

вопрос не по топику, но xcb гдето рядом

for(auto iter = xcb_setup_pixmap_formats_iterator(_setup); iter.rem; xcb_format_next(& iter))
      printf("pixmap formats: depth:%d, bpp:%d", iter.data->depth, iter.data->bits_per_pixel);

дает мне вывод

pixmap formats: depth:1, bpp:1  
pixmap formats: depth:4, bpp:8  
pixmap formats: depth:8, bpp:8  
pixmap formats: depth:15, bpp:16 
pixmap formats: depth:16, bpp:16  
pixmap formats: depth:24, bpp:32  
pixmap formats: depth:32, bpp:32  

можно запросить pixmap в любом этом формате через xcb_get_image или как? (чтобы отдать клиенту как он хочет без доп работы)

второй вопрос, смотрю доступные visuals например так

for(auto dIter = xcb_screen_allowed_depths_iterator(_screen); dIter.rem; xcb_depth_next(& dIter))
 {
    printf("allowed depth:%d, visuals:%d", dIter.data->depth, dIter.data->visuals_len);
    for(auto vIter = xcb_depth_visuals_iterator(dIter.data); vIter.rem; xcb_visualtype_next(& vIter))
        printf(...);
}

вижу вот это

allowed depth:24, visuals:48
visual id: 0x21, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x22, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xe9, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xea, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xeb, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xec, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xed, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xee, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xef, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf0, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf1, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf2, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf3, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf4, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf5, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf6, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf7, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf8, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf9, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfa, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfb, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfc, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfd, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfe, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xff, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x100, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x101, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x102, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
...
allowed depth:1, visuals:0
allowed depth:4, visuals:0
allowed depth:8, visuals:0
allowed depth:15, visuals:0
allowed depth:16, visuals:0
allowed depth:32, visuals:10
...

в чем смысл, они же одинаковы по формату?!

Исходная версия anonymous2, :

вопрос не по топику, но xcb гдето рядом

for(auto iter = xcb_setup_pixmap_formats_iterator(_setup); iter.rem; xcb_format_next(& iter))
      printf("pixmap formats: depth:%d, bpp:%d", iter.data->depth, iter.data->bits_per_pixel);

дает мне вывод

pixmap formats: depth:1, bpp:1  
pixmap formats: depth:4, bpp:8  
pixmap formats: depth:8, bpp:8  
pixmap formats: depth:15, bpp:16 
pixmap formats: depth:16, bpp:16  
pixmap formats: depth:24, bpp:32  
pixmap formats: depth:32, bpp:32  

можно запросить pixmap в любом этом формате через xcb_get_image или как? (чтобы отдать клиенты как он захотел без доп работы)

второй вопрос, смотрю доступные visuals например так

for(auto dIter = xcb_screen_allowed_depths_iterator(_screen); dIter.rem; xcb_depth_next(& dIter))
 {
    printf("allowed depth:%d, visuals:%d", dIter.data->depth, dIter.data->visuals_len);
    for(auto vIter = xcb_depth_visuals_iterator(dIter.data); vIter.rem; xcb_visualtype_next(& vIter))
        printf(...);
}

вижу вот это

allowed depth:24, visuals:48
visual id: 0x21, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x22, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xe9, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xea, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xeb, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xec, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xed, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xee, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xef, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf0, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf1, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf2, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf3, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf4, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf5, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf6, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf7, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf8, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xf9, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfa, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfb, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfc, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfd, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xfe, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0xff, class: 0x04, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x100, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x101, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
visual id: 0x102, class: 0x05, bits per rgb: 8, red: 00ff0000, green: 0000ff00, blue: 000000ff, color entries: 256
...
allowed depth:1, visuals:0
allowed depth:4, visuals:0
allowed depth:8, visuals:0
allowed depth:15, visuals:0
allowed depth:16, visuals:0
allowed depth:32, visuals:10
...

в чем смысл, они же одинаковы по формату?!