From fc7f7bed53a60d2d3785cf95093d388d39b2af11 Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 11 Nov 2015 19:14:30 +1100 Subject: Implemented idle styling. This allows painting without first styling all visible text then styling in the background using idle-time. --- doc/ScintillaDoc.html | 21 ++++++++++++++++++++- doc/ScintillaHistory.html | 6 ++++++ 2 files changed, 26 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html index e77c064c3..34722f259 100644 --- a/doc/ScintillaDoc.html +++ b/doc/ScintillaDoc.html @@ -82,7 +82,7 @@

Scintilla Documentation

-

Last edited 31 July 2015 NH

+

Last edited 11 November 2015 NH

There is an overview of the internal design of Scintilla.
@@ -2391,6 +2391,8 @@ struct Sci_TextToFind { SCI_SETSTYLING(int length, int style)
SCI_SETSTYLINGEX(int length, const char *styles)
+ SCI_SETIDLESTYLING(int idleStyling)
+ SCI_GETIDLESTYLING
SCI_SETLINESTATE(int line, int value)
SCI_GETLINESTATE(int line)
SCI_GETMAXLINESTATE
@@ -2426,6 +2428,23 @@ struct Sci_TextToFind { SCI_STARTSTYLING should be called before the first call to this.

+

SCI_SETIDLESTYLING(int idleStyling)
+ SCI_GETIDLESTYLING
+ By default, SC_IDLESTYLING_NONE (0), + syntax styling is performed for all the currently visible text before displaying it. + On very large files, this may make scrolling down slow. + With SC_IDLESTYLING_TOVISIBLE (1), + a small amount of styling is performed before display and then + further styling is performed incrementally in the background as an idle-time task. + This may result in the text initially appearing uncoloured and then, some time later, it is coloured. + Text after the currently visible portion may be styled in the background with SC_IDLESTYLING_AFTERVISIBLE (2). + To style both before and after the visible text in the background use SC_IDLESTYLING_ALL (3). +

+

+ Since wrapping also needs to perform styling and also uses idle time, this setting has no effect when + the document is displayed wrapped. +

+

SCI_SETLINESTATE(int line, int value)
SCI_GETLINESTATE(int line)
As well as the 8 bits of lexical state stored for each character there is also an integer diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 9aea9b6e3..0639d28fb 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -497,6 +497,12 @@ Released 6 November 2015.

  • + Allow painting without first styling all visible text then styling in the background + using idle-time. This helps performance when scrolling down in very large documents. + Can also incrementally style after the visible area to the end of the document so that + the document is already styled when the user scrolls to it. +
  • +
  • On GTK+ on OS X, fix warning during destruction. Bug #1777.
  • -- cgit v1.2.3