Benhur Stein wrote: > > Alexander Malmberg wrote: > > This is tricky, but the behavior of compositing has been discussed > > before: > > > > http://mail.gnu.org/archive/html/gnustep-dev/2002-09/msg00013.html > > http://mail.gnu.org/archive/html/gnustep-dev/2002-09/msg00051.html > > > > If this doesn't clear it up, tell me and I'll try to provide a better > > explanation (with pictures and stuff). > > I've put some figures below, with what I have understood from those. > source has a rectangle 123 with 1 being the origin point; > destination has an x in the destination point > and the resulting 123 where the figure will be after the copy. > Is it the way NSCopyBits should work?
This is how the compositing (and dissolving) works. NSCopyBits(), the function in -gui, uses DPScomposite.... It isn't completely clear from the documentation that it's supposed to behave the same way, but I think it should. If this is the case, the implementation of NSCopyBits is probably broken (it doesn't let the caller decide which corner should be the origin). > It is not the way it is working now on -xlib. in the second case, > 123 starts in x and goes down, that's why things appear offset when > GraphicCompositing is NO. > [snip correct figure] > > > I'm not really familiar with how -xlib handles this (it seems to have > > very limited handling of transforms), but -gui is correct afaict (I have > > no problems, regardless of GraphicCompositing, with back-art). > > Unfortunately, I have never been able to use back-art in my system > (gentoo linux on x86), X dies when I run the first gnustep app. Does it give you any error message? > I can't see an implementation for copyBits in back-art. Does it use the > one in xlib? copyBits(), the function in back/xlib/, is just a helper for the compositing operators in back-xlib. The compositing code for back-art is in back/Source/art/composite.m . - Alexander Malmberg _______________________________________________ Bug-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-gnustep
