bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bug in image drawing


From: Alexander Malmberg
Subject: Re: bug in image drawing
Date: Mon, 17 Mar 2003 19:57:39 +0100

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]