aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authornyamatongwe <unknown>2003-09-18 12:24:16 +0000
committernyamatongwe <unknown>2003-09-18 12:24:16 +0000
commit8b01a8c965414fa2ed7a86ced041bc515df31e82 (patch)
tree1d298eb03c468b2a0b4fe6068ccc6598b3995442 /src
parent2494178d6e891a824f870a940770e68a8860dd56 (diff)
downloadscintilla-mirror-8b01a8c965414fa2ed7a86ced041bc515df31e82.tar.gz
Safe parts of idle time wrapping.
Diffstat (limited to 'src')
-rw-r--r--src/Editor.cxx6
-rw-r--r--src/Editor.h15
2 files changed, 21 insertions, 0 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index b75a62ec6..470b30ea3 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -35,6 +35,9 @@ active(false), on(false), period(500) {}
Timer::Timer() :
ticking(false), ticksToWait(0), tickerID(0) {}
+Idler::Idler() :
+state(false), idlerID(0) {}
+
LineLayout::LineLayout(int maxLineLength_) :
lineStarts(0),
lenLineStarts(0),
@@ -375,6 +378,7 @@ Editor::Editor() {
wrapState = eWrapNone;
wrapWidth = LineLayout::wrapWidthInfinite;
docLineLastWrapped = -1;
+ docLastLineToWrap = -1;
hsStart = -1;
hsEnd = -1;
@@ -387,6 +391,7 @@ Editor::~Editor() {
pdoc->Release();
pdoc = 0;
DropGraphics();
+ /* SetIdle(false) must be called in a platform independent way */
delete pixmapLine;
delete pixmapSelMargin;
delete pixmapSelPattern;
@@ -395,6 +400,7 @@ Editor::~Editor() {
}
void Editor::Finalise() {
+ SetIdle(false);
CancelModes();
}
diff --git a/src/Editor.h b/src/Editor.h
index bd4669192..d0dfcccc1 100644
--- a/src/Editor.h
+++ b/src/Editor.h
@@ -33,6 +33,16 @@ public:
/**
*/
+class Idler {
+public:
+ bool state;
+ IdlerID idlerID;
+
+ Idler();
+};
+
+/**
+ */
class LineLayout {
private:
friend class LineLayoutCache;
@@ -208,6 +218,8 @@ protected: // ScintillaBase subclass needs access to much of Editor
Timer autoScrollTimer;
enum { autoScrollDelay = 200 };
+ Idler idler;
+
Point lastClick;
unsigned int lastClickTime;
int dwellDelay;
@@ -273,6 +285,7 @@ protected: // ScintillaBase subclass needs access to much of Editor
enum { eWrapNone, eWrapWord } wrapState;
int wrapWidth;
int docLineLastWrapped;
+ int docLastLineToWrap;
Document *pdoc;
@@ -451,7 +464,9 @@ protected: // ScintillaBase subclass needs access to much of Editor
void ButtonUp(Point pt, unsigned int curTime, bool ctrl);
void Tick();
+ bool Idle();
virtual void SetTicking(bool on) = 0;
+ virtual void SetIdle(bool on) = 0;
virtual void SetMouseCapture(bool on) = 0;
virtual bool HaveMouseCapture() = 0;
void SetFocusState(bool focusState);