aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/ScintillaDoc.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ScintillaDoc.html')
-rw-r--r--doc/ScintillaDoc.html49
1 files changed, 36 insertions, 13 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html
index 7187eeb24..54b8b50d9 100644
--- a/doc/ScintillaDoc.html
+++ b/doc/ScintillaDoc.html
@@ -117,7 +117,7 @@
<p>The GTK+ version also uses messages in a similar way to the Windows version. This is
different to normal GTK+ practice but made it easier to implement rapidly.</p>
- <p>Scintilla also builds with Cocoa on OS X and with Qt, and follows the conventions of
+ <p>Scintilla also builds with Cocoa on OS X and with Qt, and follows the conventions of
those platforms.</p>
<p>Scintilla does not properly support right-to-left languages like Arabic and Hebrew.
@@ -256,7 +256,7 @@
<tr>
<td>o <a class="toc" href="#CaretAndSelectionStyles">Caret, selection, and hotspot styles</a></td>
-
+
<td>o <a class="toc" href="#CharacterRepresentations">Character representations</a></td>
<td>o <a class="toc" href="#Margins">Margins</a></td>
@@ -1737,7 +1737,7 @@ struct Sci_TextToFind {
effect until <a class="message" href="#SCI_SETSELFORE"><code>SCI_SETSELFORE</code></a>
and <a class="message" href="#SCI_SETSELBACK"><code>SCI_SETSELBACK</code></a> are
called with useSelection*Colour value set to true. Subsequent calls to
- <a class="message" href="#SCI_SETSELFORE"><code>SCI_SETSELFORE</code></a>,
+ <a class="message" href="#SCI_SETSELFORE"><code>SCI_SETSELFORE</code></a>,
and <a class="message" href="#SCI_SETSELBACK"><code>SCI_SETSELBACK</code></a> will
overwrite the values set by <code>SCI_SETADDITIONALSEL*</code> functions.</p>
<p>
@@ -3161,6 +3161,8 @@ struct Sci_TextToFind {
<h2 id="OtherSettings">Other settings</h2>
<a class="message" href="#SCI_SETBUFFEREDDRAW">SCI_SETBUFFEREDDRAW(bool isBuffered)</a><br />
<a class="message" href="#SCI_GETBUFFEREDDRAW">SCI_GETBUFFEREDDRAW</a><br />
+ <a class="message" href="#SCI_SETPHASESDRAW">SCI_SETPHASESDRAW(int phases)</a><br />
+ <a class="message" href="#SCI_GETPHASESDRAW">SCI_GETPHASESDRAW</a><br />
<a class="message" href="#SCI_SETTWOPHASEDRAW">SCI_SETTWOPHASEDRAW(bool twoPhase)</a><br />
<a class="message" href="#SCI_GETTWOPHASEDRAW">SCI_GETTWOPHASEDRAW</a><br />
<a class="message" href="#SCI_SETTECHNOLOGY">SCI_SETTECHNOLOGY(int technology)</a><br />
@@ -3199,17 +3201,38 @@ struct Sci_TextToFind {
bitmap to the screen. This avoids flickering although it does take longer. The default is for
drawing to be buffered.</p>
- <p><b id="SCI_SETTWOPHASEDRAW">SCI_SETTWOPHASEDRAW(bool twoPhase)</b><br />
- <b id="SCI_GETTWOPHASEDRAW">SCI_GETTWOPHASEDRAW</b><br />
- Two phase drawing is a better but slower way of drawing text.
- In single phase drawing each run of characters in one style is drawn along with its background.
+ <p><b id="SCI_SETPHASESDRAW">SCI_SETPHASESDRAW(int phases)</b><br />
+ <b id="SCI_GETPHASESDRAW">SCI_GETPHASESDRAW</b><br />
+ There are several orders in which the text area may be drawn offering a trade-off between speed
+ and allowing all pixels of text to be seen even when they overlap other elements.</p>
+ <p>In single phase drawing (<code>SC_PHASES_ONE</code>) each
+ run of characters in one style is drawn along with its background.
If a character overhangs the end of a run, such as in "<i>V</i>_" where the
"<i>V</i>" is in a different style from the "_", then this can cause the right hand
side of the "<i>V</i>" to be overdrawn by the background of the "_" which
- cuts it off. Two phase drawing
- fixes this by drawing all the backgrounds first and then drawing the text in
- transparent mode. Two phase drawing may flicker more than single phase
- unless buffered drawing is on. The default is for drawing to be two phase.</p>
+ cuts it off.</p>
+ <p>Two phase drawing (<code>SC_PHASES_TWO</code>)
+ fixes this by drawing all the backgrounds of a line first and then drawing the text
+ in transparent mode. Lines are drawn separately and no line will overlap another
+ so any pixels that overlap into another line such as extreme ascenders and
+ descenders on characters will be cut off.
+ Two phase drawing may flicker more than single phase
+ unless buffered drawing is on or the platform is naturally buffered.
+ The default is for drawing to be two phase.</p>
+ <p>Multiple phase drawing (<code>SC_PHASES_MULTIPLE</code>)
+ draws the whole area multiple times, once for each feature, building up the
+ the appearance in layers or phases. The coloured backgrounds for all lines are
+ drawn before any text and then all the text is drawn in transparent mode over this
+ combined background without clipping text to the line boundaries. This allows
+ extreme ascenders and decenders to overflow into the adjacent lines.
+ Multiple phase drawing is slower than two phase drawing.
+ Setting the layout cache to <a class="message" href="#SCI_SETLAYOUTCACHE">SC_CACHE_PAGE</a>
+ or higher can ensure that multiple phase drawing is not significantly slower.</p>
+
+ <p><b id="SCI_SETTWOPHASEDRAW">SCI_SETTWOPHASEDRAW(bool twoPhase)</b><br />
+ <b id="SCI_GETTWOPHASEDRAW">SCI_GETTWOPHASEDRAW</b><br />
+ This property has been replaced with the preceding PHASESDRAW property which is more general,
+ allowing multiple phase drawing as well as one and two phase drawing.</p>
<p><b id="SCI_SETTECHNOLOGY">SCI_SETTECHNOLOGY(int technology)</b><br />
<b id="SCI_GETTECHNOLOGY">SCI_GETTECHNOLOGY</b><br />
@@ -3545,7 +3568,7 @@ struct Sci_TextToFind {
<code>SC_MARK_BACKGROUND</code>,
<code>SC_MARK_LEFTRECT</code>,
<code>SC_MARK_FULLRECT</code>,
- <code>SC_MARK_BOOKMARK</code>, and
+ <code>SC_MARK_BOOKMARK</code>, and
<code>SC_MARK_UNDERLINE</code>.
</p>
@@ -7422,7 +7445,7 @@ EM_FORMATRANGE
<b id="SCI_GETUSEPALETTE">SCI_GETUSEPALETTE</b> Deprecated<br />
Scintilla no longer supports palette mode. The last version to support palettes was 2.29.
Any calls to these methods should be removed.</p>
-
+
<p>The following are features that should be removed from calling code but are still
defined to avoid breaking callers.</p>