X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCursor.h;h=0d7441967866c2635fd9d6eea34a83355127f35c;hb=55a3dd7b346d29a52ba305a4558e9e380ef50f47;hp=979ffb5c95bb793d0cd797faaa7515691cd62f56;hpb=917785df7132ec51d5df6fe2b7dbb434ecda311e;p=lyx.git diff --git a/src/Cursor.h b/src/Cursor.h index 979ffb5c95..0d74419678 100644 --- a/src/Cursor.h +++ b/src/Cursor.h @@ -247,6 +247,8 @@ public: * Not using noScreenUpdate() should never be wrong. */ void noScreenUpdate() const; + /// + Update::flags screenUpdate() const { return disp_.screenUpdate(); } /// fix cursor in circumstances that should never happen. /// \retval true if a fix occured. bool fixIfBroken(); @@ -292,6 +294,15 @@ public: /// void checkBufferStructure(); + /// hook for text input to maintain the "new born word" + void markNewWordPosition(); + + /// The position of the new born word + /// As the user is entering a word without leaving it + /// the result is not empty. When not in text mode + /// and after leaving the word the result is empty. + DocIterator newWord() const { return new_word_; } + public: //private: @@ -300,11 +311,19 @@ public: /// void saveBeforeDispatchPosXY(); +private: + /// validate the "new born word" position + void checkNewWordPosition(); + /// clear the "new born word" position + void clearNewWordPosition(); + private: /// BufferView * bv_; /// the anchor position DocIterator anchor_; + /// the start of the new born word + DocIterator new_word_; /// mutable DispatchResult disp_; /**