Hi all. Since there was no BRegion in our repository, and since Marc asked me to tackle this class for months ;P, I have done some work, played a bit with the debugger (BRegion involves lots of friend methods, which we have to implement as closely as R5 as possible), and I think that the public methods are implemented correctly. What it's still missing are the following friend functions: void and_region_complex(BRegion*, BRegion*, BRegion*); void r_or(long, long, BRegion*, BRegion*, BRegion*, long*, long *); void or_region_complex(BRegion*, BRegion*, BRegion*); void sub_region_complex(BRegion*, BRegion*, BRegion*); void r_sub(long , long, BRegion*, BRegion*, BRegion*, long*, long*); I think I know what these function does, they are just hard to implement (I'm not a mathematician :)) Then there's void sort_trans(long *lptr1, long *lptr2, long count); Which I still have to understand what it does, and I'm reviewing cleanup_region_horizontal and cleanup_region_1, since they seem ok, but a bit ugly. If there's someone who want to come here and help.... :P Should I commit the partial work that I have done ? There are also some inline functions which work with clipping_rects, that should be put in a private but "accessible" header (private/interface ?), since I guess they can be interesting even for our app server.