diff options
| author | nyamatongwe <devnull@localhost> | 2003-09-18 12:24:16 +0000 | 
|---|---|---|
| committer | nyamatongwe <devnull@localhost> | 2003-09-18 12:24:16 +0000 | 
| commit | 3e459e50bf8c119f7964f5838ce557e287b2c89e (patch) | |
| tree | 1d298eb03c468b2a0b4fe6068ccc6598b3995442 /src | |
| parent | b6e64721e32f4b294ee0a457b3d29846096b4484 (diff) | |
| download | scintilla-mirror-3e459e50bf8c119f7964f5838ce557e287b2c89e.tar.gz | |
Safe parts of idle time wrapping.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Editor.cxx | 6 | ||||
| -rw-r--r-- | src/Editor.h | 15 | 
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); | 
