]> git.lyx.org Git - lyx.git/blobdiff - src/RowPainter.h
add stripped down zlib 1.2.8
[lyx.git] / src / RowPainter.h
index 9a615f94becd55fc93ee98dc6b1b8c20fbd56d41..a4120e6dfd81f38eaf65621cab5fc1d320d22b44 100644 (file)
@@ -14,8 +14,8 @@
 #ifndef ROWPAINTER_H
 #define ROWPAINTER_H
 
-#include "Bidi.h"
 #include "Changes.h"
+#include "Row.h"
 
 #include "support/types.h"
 
@@ -30,27 +30,11 @@ class PainterInfo;
 class Paragraph;
 class ParagraphList;
 class ParagraphMetrics;
-class Row;
 class Text;
 class TextMetrics;
 
 namespace frontend { class Painter; }
 
-/**
- * FIXME: Re-implement row painting using row elements.
- *
- * This is not difficult in principle, but the code is intricate and
- * needs some careful analysis. The first thing that needs to be done
- * is to break row elements with the same criteria. Currently breakRow
- * does not consider on-the-fly spell-checking, but it is not clear to
- * me that it is required. Moreover, this thing would only work if we
- * are sure that the Row object is up-to-date when drawing happens.
- * This depends on the update machinery.
- *
- * This would allow to get rid of the Bidi class.
- */
-
-
 /**
  * A class used for painting an individual row of text.
  * FIXME: get rid of that class.
@@ -74,17 +58,14 @@ public:
        void paintSelection() const;
 
 private:
-       void paintSeparator(double orig_x, double width, FontInfo const & font);
+       void paintSeparator(double width, Font const & font);
        void paintForeignMark(double orig_x, Language const * lang, int desc = 0) const;
-       void paintMisspelledMark(double orig_x, bool changed) const;
-       void paintChars(pos_type & vpos, Font const & font);
-       int paintAppendixStart(int y) const;
-       void paintFromPos(pos_type & vpos, bool changed);
-       void paintInset(Inset const * inset, pos_type const pos);
-       void paintInlineCompletion(Font const & font);
-
-       /// return left margin
-       int leftMargin() const;
+       void paintStringAndSel(Row::Element const & e);
+       void paintMisspelledMark(double orig_x, Row::Element const & e) const;
+       void paintChange(double orig_x , Font const & font, Change const & change) const;
+       void paintAppendixStart(int y) const;
+       void paintInset(Inset const * inset, Font const & font,
+                    Change const & change, pos_type const pos);
 
        /// return the label font for this row
        FontInfo labelFont() const;
@@ -111,9 +92,6 @@ private:
        Paragraph const & par_;
        ParagraphMetrics const & pm_;
 
-       /// bidi cache
-       Bidi bidi_;
-
        /// row changed? (change tracking)
        Change const change_;
 
@@ -122,10 +100,9 @@ private:
        int const yo_;    // current baseline
        double x_;
        int width_;
-       float solid_line_thickness_;
+       int solid_line_thickness_;
        int solid_line_offset_;
-       float dotted_line_thickness_;
-       int dotted_line_offset_;
+       int dotted_line_thickness_;
 };
 
 } // namespace lyx