|> There is a simple-minded fix to the wrapping problem, which is to use
|> IntersectClipRect(rc) before calling FormatRange and
|> IntersectCliprect(0,0,0,0) after - perhaps this should be done inside
|> Scintilla?
|
|   Which devices was this tested on? IIRC not all devices support clipping.
You are right that some devices do not support clipping. I tested it to
Adobe PDF writer and to a PCL6 printer, which were OK. I was using XP SP2.
IIRC Win 9x has all sorts of problems with clipping and printing, so if it
is to work in that environment it needs fixing properly.

|> However, it does have the effect of changing whatever clipping
|> region was set.
|
|   Won't that discard any drawing the container does after calling
FormatRange?
Oops... IntersectClipRect(0,0,0,0) is wrong, you have to use
SetClipRgn(NULL) to cancel all clipping.

I agree that it would be much better if it worked without the need to mess
with clipping. I had a quick look at the code in Scintilla... it looks very
involved. I am prepared to look at this, but it wouold take me quite a while
to get my head around the code. Looking back in the archives it seems that
there was some discussion about word wrapping in printing a while back...
perhaps thats why the word wrapping works (apart from writing a couple of
pixels beyond the drawing rectangle on the right when text is split due to
there being no suitable word break). To see the problem you need to frame
the drawing area with a rectangle and also fill in the entire page with a
background colour so you can see the background exceeding the rectangle.

Greg Smith


_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to