[cairo] Use _cairo_rectangle_intersect in more places for intersection checking

BJörn Lindqvist bjourne at gmail.com
Wed Mar 19 07:45:22 PDT 2008


I think this mail got lost. What happened to these patches?


--
mvh Björn

On Sun, Nov 4, 2007 at 3:41 AM, BJörn Lindqvist <bjourne at gmail.com> wrote:
> On 10/29/07, Carl Worth <cworth at cworth.org> wrote:
>  > > Alright. Here are the two patches again with all indentation redone to
>  > > tabs. Note that it will still look inconsistent in some places when
>  > > viewing the patch. This is not my fault, the first tab character is
>  > > always only 7 space long when printed in a diff.
>  >
>  > Well, there is the fact that we do the first-level of indentation with
>  > 4 spaces, so those don't hide the extra diff-added space like an
>  > initial tab. But that won't actually result in anything that looks
>  > obviously inconsistent in the diff output. (It won't lead to a column
>  > that wanders left and right for example.)
>
>  Yes it will. First indentation looks indented four spaces, the next
>  one seven spaces because of the shorter tab character.
>
>
>  > PS. A couple of notes follow on indentation, (which I really wouldn't
>  > be mentioning here except that it was already raised as a topic in
>  > this thread).
>  >
>  > > +    if (interest) {
>  > > +     if (!_cairo_rectangle_intersect (&read_rect, interest)) {
>  >
>  > This is an example of a case you could have been referring to when you
>  > said the patch would have inconsistent indentation that is not your
>  > fault.
>
>  Yes.
>
>
>  > Notice that in my reply here, the problem has gotten worse, since my
>  > email composer has added two additional characters so the apparent
>  > indentation is now only 1 column. And that does look quite nasty, I
>  > admit.
>
>  Tabs are evil. :)
>
>
>  > >      if (rect_out)
>  > > -    {
>  > > -     rect_out->x = x1;
>  > > -     rect_out->y = y1;
>  > > -     rect_out->width = width;
>  > > -     rect_out->height = height;
>  > > -    }
>  > > +        *rect_out = read_rect;
>  >
>  > Here you are introducing a new line of code that is indented with
>  > spaces instead of a tab, and this one is noticeable, (the code being
>  > removed is clearly indented differently than the code being added), so
>  > this should be fixed.
>
>  Ok. Then it should also be written down in CODING_STYLE that the
>  _only_ form of indentation allowed is with tabs.
>
>
>  > >       imagerep = xcb_get_image_reply(surface->dpy,
>  > >                                   xcb_get_image(surface->dpy, XCB_IMAGE_FORMAT_Z_PIXMAP,
>  > > -                                             surface->drawable,
>  > > -                                             x1, y1,
>  > > -                                             x2 - x1, y2 - y1,
>  > > -                                             AllPlanes), &error);
>  > > +                                                surface->drawable,
>  > > +                                                read_rect.x,
>  > > +                                                read_rect.y,
>  > > +                                                read_rect.width,
>  > > +                                                read_rect.height,
>  > > +                                                AllPlanes), &error);
>  >
>
> > I made a point above about separating commits with logically
>  > independent pieces. To be honest though, if, when making a small
>  > change you notice an indentation problem or some missing
>  > documentation, then that's generally not a bad thing to just fix on
>  > the spot. So I wouldn't really object to a single commit for this
>  > change here. (But the general rule of splitting commits _is_ still
>  > important.)
>
>  Maybe I'm misusing the git-tools but manifacturing a new commit for
>  every set of spaces I write would be way to tedious.
>
>  > > -                  x1, y1, 0, 0, x2 - x1, y2 - y1);
>
> > > +                     read_rect.x, read_rect.y,
>  > > +                     0, 0,
>  > > +                     read_rect.width, read_rect.height);
>  >
>  > Clearly cairo-xcb-surface.c is a total mess with regard to alignment
>  > of these multi-line function calls. It's definitely worth a separate
>  > commit first to fix this up since presumably there are many similar
>  > problems that your work doesn't happen to hit.
>  >
>  > I could do that easily with a quick "M-x indent-region" and commit,
>  > but I'll hold off since I don't want to make things more difficult for
>  > you by introducing conflicts.
>
>  I think I have fixed all the new indentation inconsistensies my patch
>  introduced. Below are the three final patches attached again.
>
>
>  --
>  mvh Björn
>



-- 
mvh Björn


More information about the cairo mailing list