]> git.lyx.org Git - lyx.git/blobdiff - src/rowpainter.h
Natbib authoryear uses (Ref1; Ref2) by default.
[lyx.git] / src / rowpainter.h
index aa550627c67d89cb60c32fbad311016379d5a90c..480a2dd56c58a946e7fe99626795e1edc5131ed5 100644 (file)
@@ -6,7 +6,7 @@
  *
  * \author various
  * \author John Levon
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -14,6 +14,8 @@
 #ifndef ROWPAINTER_H
 #define ROWPAINTER_H
 
+#include "Changes.h"
+
 #include "support/types.h"
 
 namespace lyx {
@@ -21,7 +23,9 @@ namespace lyx {
 class Bidi;
 class BufferView;
 class Font;
+class FontInfo;
 class Inset;
+class Language;
 class PainterInfo;
 class Paragraph;
 class ParagraphList;
@@ -29,7 +33,6 @@ class ParagraphMetrics;
 class Row;
 class Text;
 class TextMetrics;
-class ViewMetricsInfo;
 
 namespace frontend { class Painter; }
 
@@ -52,29 +55,35 @@ public:
        void paintLast();
        void paintText();
        void paintOnlyInsets();
+       void paintSelection();
 
 private:
-       void paintForeignMark(double orig_x, Font const & font, int desc = 0);
-       void paintHebrewComposeChar(pos_type & vpos, Font const & font);
-       void paintArabicComposeChar(pos_type & vpos, Font const & font);
-       void paintChars(pos_type & vpos, Font const & font,
+       void paintSeparator(double orig_x, double width, FontInfo const & font);
+       void paintForeignMark(double orig_x, Language const * lang, int desc = 0);
+       void paintMisspelledMark(double orig_x, bool changed);
+       void paintHebrewComposeChar(pos_type & vpos, FontInfo const & font);
+       void paintArabicComposeChar(pos_type & vpos, FontInfo const & font);
+       void paintChars(pos_type & vpos, FontInfo const & font,
                        bool hebrew, bool arabic);
        int paintAppendixStart(int y);
-       void paintFromPos(pos_type & vpos);
+       void paintFromPos(pos_type & vpos, bool changed);
        void paintInset(Inset const * inset, pos_type const pos);
-       void paintHfill(pos_type const pos, pos_type const body_pos);
+       void paintInlineCompletion(Font const & font);
 
        /// return left margin
        int leftMargin() const;
 
        /// return the label font for this row
-       Font const getLabelFont() const;
+       FontInfo labelFont() const;
+
+       ///
+       void paintLabel();
+       ///
+       void paintTopLevelLabel();
 
-       /// bufferview to paint on
-       BufferView & bv_;
 
-       /// Painter to use
-       frontend::Painter & pain_;
+       /// contains painting related information.
+       PainterInfo & pi_;
 
        /// Text for the row
        Text const & text_;
@@ -94,14 +103,18 @@ private:
        /// one of them is active at a time.
        Bidi & bidi_;
 
-       /// is row erased? (change tracking)
-       bool erased_;
+       /// row changed? (change tracking)
+       Change const change_;
 
        // Looks ugly - is
        double const xo_;
        int const yo_;    // current baseline
        double x_;
        int width_;
+       float solid_line_thickness_;
+       int solid_line_offset_;
+       float dotted_line_thickness_;
+       int dotted_line_offset_;
 };
 
 } // namespace lyx