X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Frowpainter.h;h=6408fdc73fb33ac0b9dea21807af71f3686aa27b;hb=e6f46dd08c0e1ea040f7d085344d4fd568674cec;hp=47369cdd482932938e0388ed4f77c44d54044517;hpb=be8de62ae298dd51970fdcb6e9965c37aa4b74ad;p=lyx.git diff --git a/src/rowpainter.h b/src/rowpainter.h index 47369cdd48..6408fdc73f 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,29 @@ 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 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; - - /// bufferview to paint on - BufferView & bv_; + FontInfo labelFont() const; - /// Painter to use - frontend::Painter & pain_; + /// contains painting related information. + PainterInfo & pi_; /// Text for the row Text const & text_; @@ -91,14 +96,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