On Sun, Feb 5, 2012 at 3:13 AM, david BERTRAND
<dvd.brtrnd@xxxxxxxxx> wrote:
Hi Lenard,
I agree with you (and with the theory), but in practice, the new object size and the new center position are not correct ( in both case, the error is (x/2, y/2).
regards,
David
2012/2/4 Lenard Lindstrom
<len-l@xxxxxxxxx>
On 04/02/12 07:12 AM, david BERTRAND wrote:
Hi,
I'm new here but I'm working whith pygame (1.9.2) since few month.
When I use inflate() or inflate_ip, the resulting size and the new rect.center are never as expected.
reading the sources (1.9.1, rect.c), I found :
self->r.x -= x / 2;
self->r.y -= y / 2;
self->r.w += x;
self->r.h += y;
if (r.w, r.h) is the size of the rect this is correct.
But it woks like if (r.w, r.h) Ârepresents the rect.bottomright corner.
Andin this case, it seems better to write something like :
self->r.x -= x / 2;
self->r.y -= y / 2;
self->r.w += x / 2;
self->r.h += y / 2;
Please, excuse me if I am wrong : I am not a great C reader.
Hi David,
A rectangle is stored as the position of the top-left corner (r.x, r.y), and the size (r.w, r.h). It is the same with rectangles in Python: Rect(left, top, width, height).
Lenard Lindstrom