diff options
author | Neil <nyamatongwe@gmail.com> | 2014-07-18 12:01:14 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2014-07-18 12:01:14 +1000 |
commit | 7124ef7839ecba143e3a6fa7b30cee13bf6458b5 (patch) | |
tree | 7ba3d4171cc100068d76acaf853c21c4e810ebb0 /doc/ScintillaDoc.html | |
parent | c6959a0ab03e5942d815a77f6566ea8611173c06 (diff) | |
download | scintilla-mirror-7124ef7839ecba143e3a6fa7b30cee13bf6458b5.tar.gz |
Allow extreme ascenders and descenders to overlap into adjacent lines with
multiple phase drawing option.
Diffstat (limited to 'doc/ScintillaDoc.html')
-rw-r--r-- | doc/ScintillaDoc.html | 49 |
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> |