discuss-gnustep
[Top][All Lists]
Advanced

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

Re: refresh problem when resizing split panes


From: Fred Kiefer
Subject: Re: refresh problem when resizing split panes
Date: Sat, 18 Feb 2012 22:05:32 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20120208 Thunderbird/10.0.1

I just implemented this. Please test it on the different backends. You will only see this behaviour when GSUseGhostResize is set to YES!

It turns out that it doesn't look to great in the NSSplitView test in GSTest. The problem there is that middle grey will result in middle grey again :-(

On 24.01.2012 23:35, Fred Kiefer wrote:
I had almost forgotten about this old problem, as we no longer use XOR
operations directly in the normal GNUstep code. There are at least to
different issues here. First the Cocoa documentation states that
NSCompositeHighlight gets mapped to NSCompositeSourceOver just as we do
in the cairo backend. But on the other hand gui still uses this operator
as XOR, which of course wont work.
As far as I am aware we only use this in the function NSHighlightRect()
in gui and we should come up with an operation here that just inverts
the colour values. I vaguely remember some discussion on the cairo
mailing list about subtracting the current colour from white
Something like:

cairo_set_operator (cr, CAIRO_OPERATOR_DIFFERENCE);
cairo_set_source_rgb (cr, 1, 1, 1);

We should introduce a new operator for this GSCompositeXOR and implement
it with the old NSCompositeHighlight code in the other backends. Not
sure whether we should add this now in the middle of a code freeze. We
need somebody to remind us to do it afterwards though.

I just looked at the currently available composite operators in cairo
(http://cairographics.org/operators/) and they have extended a lot since
we started to use it. Maybe we should recheck some of our operator
mappings now.

Fred

On 24.01.2012 22:39, Eric Wasylishen wrote:
I get this too with GSUseGhostResize YES. It's not clear to me how
the ghost resize code in NSSplitView is supposed to work. Is that
code expecting NSHighlightRect to be a bitwise XOR where drawing the
same rect twice gives you the original image back? NSHighlightRect
doesn't appear to do that, at least with cairo.

e.g. see
http://lists.cairographics.org/archives/cairo/2004-July/001593.html

On 2012-01-24, at 8:44 AM, Riccardo Mottola wrote:
when resizing split panes we have some sort of refresh problem
where the "grey" of the moving bar just erases what's in the view.
I can verify this in Grr and its reading panes but also in Vespucci
when viewing pages with frames.




reply via email to

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