A new release of SinkWorld is available from SourceForge. The files
can be accessed through
http://scintilla.sourceforge.net/Tentacle.html
The biggest advance in this version is a more complex restyling
technique. In Scintilla, when the text is styled to line 1000 and a
change is made on line 10, then the styled area is reduced to before
line 10 abandoning much work. An attempt is made to avoid redrawing
after the modification but sometimes this does not work. An additional
problem is that Scintilla does not look at changes in the extra
information stored in LineState when working out the extent of a
change.
In SinkWorld, a modification first creates a hole in the styled
area. The hole is then restyled with all the active lexers and if the
end of the hole changes style in any of its style buffers or extra
(history) information then the styled area is reduced and more
restyling will be done later.
SinkWorld has functions for drawing translucent polygons and there
is a new RoundedBox decoration that uses this feature. You can set the
alpha (transparency) value to between 0 (transparent) and 255 (opaque)
and the transparency of the outline of the box can be set with the
alphaoutline value. To avoid needing too many lines in mode files
structured values can be specified surrounded with '{' and '}' so a
rounded box decoration may look like
KeyWord:bold=0,decoration={type=RoundedBox,fore=#0000FF,alpha=10,alphaoutline=20}
Translucent drawing is slower than opaque drawing. On GTK+ the code
moves bits around more than appears strictly necessary so GTK+ experts
may be able to improve the code. Translucency was much easier to
achieve for Java and C# as their graphics libraries support alpha.
There is another visual improvement with the box facet intended to
be a different way of indicating the selection or other multi-line
features. There are still a couple of problems with this: it doesn't
handle horizontal scrolling and only one box can be drawn in a window.
Both translucency and the box feature are visible in
http://scintilla.sourceforge.net/Boxes.png
Translucency on GTK+
http://scintilla.sourceforge.net/alphaspell.png
Neil
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest