]> git.lyx.org Git - lyx.git/blobdiff - src/lyxscreen.h
fix typo that put too many include paths for most people
[lyx.git] / src / lyxscreen.h
index 89e8cb01f143cdcdbad755a38502285a5888eebb..f611e8a6e118411a27a5f9c955c68c1dc611a5d7 100644 (file)
@@ -1,11 +1,11 @@
 // -*- C++ -*-
 /* This file is part of
- * ====================================================== 
- * 
+ * ======================================================
+ *
  *           LyX, The Document Processor
- *      
+ *
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team
+ *           Copyright 1995-2001 The LyX Team
  *
  * ====================================================== */
 
 #pragma interface
 #endif
 
-#include FORMS_H_LOCATION
 #include <X11/Xlib.h>
 
 class LyXText;
 class WorkArea;
 class Buffer;
+class BufferView;
 
 struct Row;
 
-///
-typedef unsigned short Dimension;
-
-
 /** The class LyXScreen is used for the main Textbody.
     Concretely, the screen is held in a pixmap.  This pixmap is kept up to
     date and used to optimize drawing on the screen.
@@ -49,58 +45,68 @@ public:
        ///
        LyXScreen(WorkArea &);
 
+       ///
+       ~LyXScreen();
+
+       /// Sets the cursor color to LColor::cursor.
+       void setCursorColor();
+
        /** Draws the screen form textposition y. Uses as much of
            the already printed pixmap as possible */
-       void Draw(LyXText *, unsigned long y);
+       void draw(LyXText *, BufferView *, unsigned int y);
 
        /// Redraws the screen, without using existing pixmap
-       void Redraw(LyXText *);
-   
+       void redraw(LyXText *, BufferView *);
+
        /// Returns a new top so that the cursor is visible
-       unsigned long TopCursorVisible(LyXText const *);
+       unsigned int topCursorVisible(LyXText const *);
        /// Redraws the screen such that the cursor is visible
-       bool FitCursor(LyXText *);
+       bool fitCursor(LyXText *, BufferView *);
        ///
-       void ShowCursor(LyXText const *);
+       void showCursor(LyXText const *, BufferView const *);
        ///
-       void HideCursor();
+       void hideCursor();
        ///
-       void CursorToggle(LyXText const *);
+       void cursorToggle(BufferView *) const;
        ///
-       void ShowManualCursor(LyXText const *, long x, long y,
+       void showManualCursor(LyXText const *, int x, int y,
                              int asc, int desc,
                              Cursor_Shape shape);
        /// returns 1 if first has changed, otherwise 0
-       bool FitManualCursor(LyXText *, long, long, int, int);
+       bool fitManualCursor(LyXText *, BufferView *, int, int, int, int);
        ///
-       void ToggleSelection(LyXText *, bool = true, int y_offset = 0,
-                            int x_offset = 0);
+       void toggleSelection(LyXText *, BufferView *, bool = true,
+                            int y_offset = 0, int x_offset = 0);
        ///
-       void ToggleToggle(LyXText *, int y_offset = 0, int x_offset = 0);
-       
+       void toggleToggle(LyXText *, BufferView *,
+                         int y_offset = 0, int x_offset = 0);
+
        /** Updates part of the screen. If text->status is
            LyXText::NEED_MORE_REFRESH, we update from the
            point of change and to the end of the screen.
            If text->status is LyXText::NEED_VERY_LITTLE_REFRESH,
            we only update the current row. */
-       void Update(LyXText *, int y_offset=0, int x_offset=0);
+       void update(LyXText *, BufferView *, int y_offset=0, int x_offset=0);
+       ///
+       bool forceClear() const { return force_clear; }
 
        ///
        bool cursor_visible;
 private:
        /// Copies specified area of pixmap to screen
-       void expose(int x, int y, int exp_width, int exp_height); 
+       void expose(int x, int y, int exp_width, int exp_height);
 
        /// y1 and y2 are coordinates of the screen
-       void DrawFromTo(LyXText *, int y1, int y2, int y_offset=0, int x_offset=0);
+       void drawFromTo(LyXText *, BufferView *, int y1, int y2,
+                       int y_offset = 0, int x_offset = 0, bool internal=false);
 
        /// y is a coordinate of the text
-       void DrawOneRow(LyXText *, Row * row, long y_text, int y_offset=0,
-                       int x_offset=0);
+       void drawOneRow(LyXText *, BufferView *, Row * row,
+                       int y_text, int y_offset = 0, int x_offset = 0);
 
        ///
        WorkArea & owner;
-       
+
        ///
        Pixmap cursor_pixmap;
        ///
@@ -113,6 +119,8 @@ private:
        int cursor_pixmap_h;
        ///
        GC gc_copy;
+       ///
+       bool force_clear;
 };
 
 #endif