[Xcb] [PATCH] Add more documentation.
Thomas Fischer
tjfischer98 at gmail.com
Sun Sep 16 22:36:54 UTC 2018
On Sun, Sep 16, 2018 at 9:33 AM Uli Schlachter <psychon at znc.in> wrote:
> Hi Thomas,
>
> sorry for being awfully slow.
>
> On 26.08.2018 07:14, Thomas Fischer wrote:
> [...]> diff --git a/src/xproto.xml b/src/xproto.xml
> > index 9624700..f78f339 100644
> > --- a/src/xproto.xml
> > +++ b/src/xproto.xml
> > @@ -1828,6 +1828,10 @@ <xcb/xcb.h>
> > xcb_screen_iterator_t iter = xcb_setup_roots_iterator (setup);
> > xcb_screen_t *screen = iter.data;
> >
> > + uint32_t value_mask = XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK;
> > + uint32_t value_list[] = { screen->black_pixel,
> > + XCB_EVENT_MASK_KEY_RELEASE | XCB_EVENT_MASK_EXPOSE
> > + /* | XCB_EVENT_MASK_* ... */ };
> [...]
>
> What did you base your patch on? The string "xcb_setup_roots_iterator"
> does not appear in the current(?) version of xproto.xml. Thus, your
> patch does not apply here.
>
> Cheers,
> Uli
>
Hello, it's no problem!
The example was based on the tutorial here:
https://xcb.freedesktop.org/tutorial/basicwindowsanddrawing/
The "xcb_setup_roots_iterator" function is generated in
libxcb/src/xproto.{h,c}
Most of the "*_iterator", "*_next" etc. functions are generated, and have
no documentation.
I think the functions "xcb_setup_roots_iterator", "xcb_setup_next",
"xcb_setup_end", etc. are generated by libxcb/src/c_client.py from the
struct "Setup" in xproto.xml:
<struct name="Setup">
<field type="CARD8" name="status" /> <!-- always 1 -> Success -->
<pad bytes="1" />
<field type="CARD16" name="protocol_major_version" />
<field type="CARD16" name="protocol_minor_version" />
<field type="CARD16" name="length" />
<field type="CARD32" name="release_number" />
<field type="CARD32" name="resource_id_base" />
<field type="CARD32" name="resource_id_mask" />
<field type="CARD32" name="motion_buffer_size" />
<field type="CARD16" name="vendor_len" />
<field type="CARD16" name="maximum_request_length" />
<field type="CARD8" name="roots_len" />
<field type="CARD8" name="pixmap_formats_len" />
<field type="CARD8" name="image_byte_order" enum="ImageOrder" />
<field type="CARD8" name="bitmap_format_bit_order" enum="ImageOrder" />
<field type="CARD8" name="bitmap_format_scanline_unit" />
<field type="CARD8" name="bitmap_format_scanline_pad" />
<field type="KEYCODE" name="min_keycode" />
<field type="KEYCODE" name="max_keycode" />
<pad bytes="4" />
<list type="char" name="vendor">
<fieldref>vendor_len</fieldref>
</list>
<pad align="4" />
<list type="FORMAT" name="pixmap_formats">
<fieldref>pixmap_formats_len</fieldref>
</list>
<list type="SCREEN" name="roots">
<fieldref>roots_len</fieldref>
</list>
Should I change the example, or maybe try to write documentation for these
functions?
Thanks for taking the time to review it,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/xcb/attachments/20180916/5c115c62/attachment-0001.html>
More information about the Xcb
mailing list