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
commitca7b9e66fc519cae98fd0e8eac04f5e81ef6584c (patch)
treee64f5a14c92f833e9401e960e28c7b5c212ea82a
parent1472b33e83897ba443974f838fb92fe720118d42 (diff)
downloadscintilla-mirror-ca7b9e66fc519cae98fd0e8eac04f5e81ef6584c.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);
}