[PATCH v5 xdg-shell-unstable-v6] xdg-shell: Add min/max size requests
Jonas Ådahl
jadahl at gmail.com
Tue Apr 12 13:10:48 UTC 2016
On Tue, Apr 12, 2016 at 08:05:03AM -0500, Yong Bakos wrote:
> On Apr 12, 2016, at 2:22 AM, Jonas Ådahl <jadahl at gmail.com> wrote:
> >
> > On Tue, Apr 12, 2016 at 03:20:27AM -0400, Olivier Fourdan wrote:
> >> Hi Mike,
> >>
> >> ----- Original Message -----
> >>> I think this should probably use uint instead of int for params since zero
> >>> is the "unset" number. Otherwise you have to write something about negative
> >>> sizes.
> >>
> >> Reason I used "int" is because these are limits for size, which are expressed with int as well. "set_window_geometry" uses "int" and specifies that width and height must be greater than zero.
> >>
> >> Similarly, the configure event uses "int" as well, not uint", and also use zero for a special case (zero means the client should decide its own dimension) so it made sense to me to remain consistent by using "int".
> >>
> >> But I can switch to uint if everyone agrees.
> >>
> >> Cheers,
> >> Olivier
> >
> > I think using ints makes most sense. Lets not end up with a salad of
> > different signedness for the same thing.
> >
> >
> > Jonas
>
> Just wanted to say that everyone's comments on this thread have been
> educational for me, especially regarding the review process. I agree that
> ints should be used since uints have not been used for width/height parameters
> elsewhere in the Wayland core protocol.
>
> But this begs a question, and please forgive my naïveté. Why aren't the
> width/height arguments in the core protocol unsigned? Wouldn't this afford us
> a little more type safety?
Because if x/y are ints and the x's and y's often needs to be combined
mathematically with the width's and height's. If we'd use different
signedness it'd be more error prone and confusing.
>
> I also think that Bill's prior comment about min/max conflicts, despite double-
> buffering, may deserve some attention in the documentation. In other words,
> what does happen when the min and max conflict? Is it undefined, or should the
> protocol state that the compositor should ignore such a conflict?
Good point. Setting an invalid state should probably result in a
protocol error.
Jonas
>
> yong
>
More information about the wayland-devel
mailing list