]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/screen.h
some tabular fixes for the problems reported by Helge
[lyx.git] / src / frontends / screen.h
index 3ef3e5b0d9fb15ca7851a2140da823d9ca052f28..e229864525d47d123314f42c31de7bc67a70077a 100644 (file)
 #ifndef SCREEN_H
 #define SCREEN_H
 
-#include "RowList.h"
 
 class LyXText;
-class LyXCursor;
+class CursorSlice;
 class WorkArea;
 class BufferView;
+class ViewMetricsInfo;
+
 
 /**
  * LyXScreen - document rendering management
@@ -38,46 +39,15 @@ public:
 
        virtual ~LyXScreen();
 
-       /**
-        * fit the cursor onto the visible work area, scrolling if necessary
-        * @param bv the buffer view
-        * @param vheight the height of the visible region
-        * @param base_y the top of the lyxtext to look at
-        * @param x the new x position
-        * @param y the new y position
-        * @param a ascent of the cursor's row
-        * @param d descent of the cursor's row
-        * @return true if the work area needs scrolling as a result
-        */
-       bool fitManualCursor(BufferView * bv, LyXText * text,
-               int x, int y, int a, int d);
-
        /// redraw the screen, without using existing pixmap
-       virtual void redraw(BufferView & bv);
-
-       /**
-        * topCursorVisible - get a new "top" to make the cursor visible
-        * in a LyXText
-        *
-        * This helper function calculates a new y co-ordinate for
-        * the top of the containing region such that the cursor contained
-        * within the LyXText is "nicely" visible.
-        */
-       virtual unsigned int topCursorVisible(LyXText *);
-
-       /**
-        * fitCursor - fit the cursor onto the work area
-        * @param text the text containing the cursor
-        * @param bv the bufferview
-        * @return true if a change was necessary
-        *
-        * Scrolls the screen so that the cursor is visible
-        */
-       virtual bool fitCursor(LyXText *, BufferView *);
+       virtual void redraw(BufferView & bv, ViewMetricsInfo const & vi);
+
+       /// grey out (no buffer)
+       void greyOut();
 
        /// hide the visible cursor, if it is visible
        void hideCursor();
-       
+
        /// show the cursor if it is not visible
        void showCursor(BufferView & bv);
 
@@ -108,14 +78,14 @@ protected:
        virtual void removeCursor() = 0;
 
 private:
-       /// grey out (no buffer)
-       void greyOut();
+       ///
+       void checkAndGreyOut();
+
+       ///
+       bool greyed_out_;
 
        /// is the cursor currently displayed
        bool cursor_visible_;
-
-       /// is the screen displaying text or the splash screen?
-       bool greyed_out_;
 };
 
 #endif // SCREEN_H