]> git.lyx.org Git - lyx.git/blobdiff - src/cursor.h
compilation fix
[lyx.git] / src / cursor.h
index e99a8a06bd4e16ba32c5e91988ea2e5cdae4e1d5..332bf219fbdc603efb3716f369cb1776a46b833f 100644 (file)
@@ -22,6 +22,8 @@ class Buffer;
 class BufferView;
 class FuncStatus;
 class FuncRequest;
+class Point;
+class LyXFont;
 
 // these should go
 class MathUnknownInset;
@@ -38,10 +40,9 @@ public:
        explicit LCursor(BufferView & bv);
 
        /// dispatch from innermost inset upwards
-       DispatchResult dispatch(FuncRequest const & cmd);
-       /// are we willing to handle this event?
-       bool getStatus(FuncRequest const & cmd, FuncStatus & flag);
-
+       void dispatch(FuncRequest const & cmd);
+       /// get the resut of the last dispatch
+       DispatchResult result() const;
        /// add a new cursor slice
        void push(InsetBase & inset);
        /// add a new cursor slice, place cursor on left end
@@ -53,7 +54,7 @@ public:
        /// pop one slice off the cursor stack and go right
        bool popRight();
        /// sets cursor part
-       void setCursor(DocIterator const & it, bool sel);
+       void setCursor(DocIterator const & it);
 
        //
        // selection
@@ -99,8 +100,6 @@ public:
        bool & macromode() { return macromode_; }
        /// returns x,y position
        void getPos(int & x, int & y) const;
-       /// returns cursor dimension
-       void getDim(int & asc, int & desc) const;
 
        //
        // common part
@@ -117,10 +116,14 @@ public:
        /// insert a string
        void insert(std::string const & str);
 
+       /// in pixels from left of screen
+       int targetX() const;
        /// write acess to target x position of cursor
        int & x_target();
        /// return target x position of cursor
        int x_target() const;
+       /// set targetX in current position
+       void setTargetX();
        /// clear target x position of cursor
        void clearTargetX();
 
@@ -145,8 +148,12 @@ public:
        void undispatched();
        /// the event was already dispatched
        void dispatched();
+       /// call update() when done
+       void needsUpdate();
        /// don't call update() when done
        void noUpdate();
+       /// fix cursor in circumstances that should never happen
+       void fixIfBroken();
 
        /// output
        friend std::ostream & operator<<(std::ostream & os, LCursor const & cur);
@@ -161,6 +168,7 @@ public:
        ///
        DispatchResult disp_;
 
+
 private:
        /**
         * The target x position of the cursor. This is used for when
@@ -180,6 +188,8 @@ private:
        /// are we on the way to get one?
        bool mark_;
 
+private:
+
        //
        // math specific stuff that could be promoted to "global" later
        //
@@ -221,8 +231,6 @@ public:
 
        /// in pixels from top of screen
        void setScreenPos(int x, int y);
-       /// in pixels from left of screen
-       int targetX() const;
        /// current offset in the top cell
        /// interpret name a name of a macro
        void macroModeClose();
@@ -268,12 +276,9 @@ public:
        bool openable(MathAtom const &) const;
        ///
        Encoding const * getEncoding() const;
-
-private:
-       /// moves position closest to (x, y) in current cell
-       void bruteFind2(int x, int y);
-       /// moves position closest to (x, y) in given box
-       bool bruteFind(int x, int y, int xlow, int xhigh, int ylow, int yhigh);
+       /// font at cursor position
+       LyXFont getFont() const;
 };
 
+
 #endif // LYXCURSOR_H