[Xcb] XCB documentation effort
Josh Triplett
josh at joshtriplett.org
Fri Nov 25 18:31:06 PST 2011
On Thu, Nov 24, 2011 at 06:36:54PM -0500, Peter Harris wrote:
> On 2011-11-24 17:51, Michael Stapelberg wrote:
> >
> > I also have a few questions:
> >
> > 1) Take the CreateGC request:
>
> > <valueparam value-mask-type="CARD32"
> > value-mask-name="value_mask"
> > value-list-name="value_list" />
>
> > It obviously supports a bitmask plus some values, which are defined in the
> > enum GC:
>
> > Now my question is: Where is the connection? How can my generator know what
> > appropriate values for value_mask are?
>
> There isn't any connection at the moment.
>
> Traditionally, there have been so few valueparam requests that we've
> just linked them by hand rather than going to the effort of setting up
> proper connections. That said, I'd be happier with a connection in the XML.
>
> Short-term, adding a "mask=" to <valueparam> could work. Same principle
> as "mask=" on a <field>.
>
> Long-term, I'd like to deprecate <valueparam> in favour of <switch>.
> This needs discussion and consensus, and I'd prefer to see at least one
> release containing the <switch> in xkb before we apply it to the core
> protocol.
>
> Input on this issue is very welcome.
Assuming that you mean using <switch> to effectively write a series of
"if value_mask & flag1 then <field type="CARD32" name="field1" />", I
love that idea. Please do, and please feel free to kill the
special-case valueparam when nothing uses it.
I would argue against the short-term solution, in favor of the long-term
one. Alternative short-term solution: just hand-write some extra text
in the documentation for those elements, describing how they work, and
don't try to derive it entirely from the XML.
- Josh Triplett
More information about the Xcb
mailing list