X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Frowpainter.h;h=480a2dd56c58a946e7fe99626795e1edc5131ed5;hb=3d4076b598deb18660e50ec9c327efc3b15f15d0;hp=988892ab2a2bffa1789e548f8d1c9065441dadd7;hpb=a276c057704762bd260f888407b1ef713a0ef0c9;p=lyx.git diff --git a/src/rowpainter.h b/src/rowpainter.h index 988892ab2a..480a2dd56c 100644 --- a/src/rowpainter.h +++ b/src/rowpainter.h @@ -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,6 +23,9 @@ namespace lyx { class Bidi; class BufferView; class Font; +class FontInfo; +class Inset; +class Language; class PainterInfo; class Paragraph; class ParagraphList; @@ -28,7 +33,6 @@ class ParagraphMetrics; class Row; class Text; class TextMetrics; -class ViewMetricsInfo; namespace frontend { class Painter; } @@ -50,28 +54,36 @@ public: void paintFirst(); 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 paintInset(pos_type const pos, Font const & font); + 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; /// 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_; @@ -91,17 +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_; - double separator_; - double hfill_; - double label_hfill_; + float solid_line_thickness_; + int solid_line_offset_; + float dotted_line_thickness_; + int dotted_line_offset_; }; } // namespace lyx