> I found this out already, but why, what is the rationale ? i have only one thought, about the reason for this: if you follow the Microsoft GDI rules, then you'll get width := r.Right - r.Left; otherwise (if r.Right is also filled then drawn), you'll end-up with additional operation width := r.Right - r.Left + 1;