[PATCH V2] wayland.xml: add "enum", "bitfield" and "is_bitfield" attributes

Matthieu Gautier dev at mgautier.fr
Wed Sep 24 02:01:55 PDT 2014

Le 22/09/2014 23:47, Jason Ekstrand a écrit :
>             I would certainly like to do this, but wl_output.transform is
>             always passed as a signed integer and I'm not sure if this
>             is a
>             bitfield or not. I assumed it is, because you can
>             reconstruct "270", "flipped_90", "flipped_180" and
>             "flipped_270"
>             out of "90", "180" and "flipped". Or is this just a
>             coincidence?
>         It's both... More in a couple of lines
>             Also, is there a reason why some enumerations are passed as
>             a signed integer (wl_output.subpixel) and others aren't?
>             >
>             > So, what do other people think of the idea in this patch?
>         I'm a little unsure.  I think trying to completely solve this
>         problem in a way that will truly make strongly typed languages
>         happy is insanity.  That said, I'm cautiously ok with defining
>         bitfields and enums as long as we are very careful in scoping
>         what "bitfield" and "enum" mean.  A "bitfield" should have
>         only power of two values and the result should always be
>         interpreted as an OR of those values.  An enum should have
>         every possible value enumerated.  If anyone has a good example
>         of something that validly doesn't fit into either of these,
>         please speak up.
>     xdg_shell.resize_edges. It is both a bitfield (top / left / right
>     / bottom edges are powers of two) and an enum (top right / bottom
>     left corner convenience values, with top / bottom being left out
>     as it is undefined).
> That's an example of an enum with cleverly chosen values so that you 
> can do bitfield-like things.  What I'm more concerned about is 
> something where it would be impractical to actually enumerate all of 
> the possibilities in the protocol spec but it's not a bitfield either.
xdg_surface.state seems to correspond to the description.
It's an enum, but DE can extend this enum with its own values.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20140924/a9e1c293/attachment.html>

More information about the wayland-devel mailing list