aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2014-07-19 09:29:20 +1000
committerNeil <nyamatongwe@gmail.com>2014-07-19 09:29:20 +1000
commit6e260ca3e80f495693592c746be53a2488f78919 (patch)
tree8e85b9a1c53af605107d5c7dc8a1e1166058f1b8
parent286895b1a01a6fd57b9fd5044efad711e9c2216b (diff)
downloadscintilla-mirror-6e260ca3e80f495693592c746be53a2488f78919.tar.gz
Treated SC_PHASES_MULTIPLE as SC_PHASES_TWO when buffered drawing is on.
-rw-r--r--doc/ScintillaDoc.html2
-rw-r--r--src/EditView.cxx2
2 files changed, 3 insertions, 1 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html
index 54b8b50d9..9cc5cae18 100644
--- a/doc/ScintillaDoc.html
+++ b/doc/ScintillaDoc.html
@@ -3225,6 +3225,8 @@ struct Sci_TextToFind {
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.
+ This mode is incompatible with buffered drawing and will act as <code>SC_PHASES_TWO</code>
+ if buffered drawing is turned on.
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>
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 1514b963b..76e54faac 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -1702,7 +1702,7 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan
int lineDocPrevious = -1; // Used to avoid laying out one document line multiple times
AutoLineLayout ll(llc, 0);
std::vector<DrawPhase> phases;
- if (phasesDraw == phasesMultiple) {
+ if ((phasesDraw == phasesMultiple) && !bufferedDraw) {
for (DrawPhase phase = drawBack; phase <= drawCarets; phase = static_cast<DrawPhase>(phase * 2)) {
phases.push_back(phase);
}