4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
11 * Full author contact details are available in file CREDITS.
27 * A class used for painting an individual row of text.
28 * FIXME: get rid of that class.
32 /// initialise and run painter
33 RowPainter(PainterInfo & pi, Text const & text,
34 Row const & row, int x, int y);
36 /// paint various parts
37 /// FIXME: transfer to TextMetrics
38 void paintAppendix() const;
39 void paintDepthBar() const;
40 void paintChangeBar() const;
41 void paintTooLargeMarks(bool const left, bool const right) const;
42 void paintFirst() const;
43 void paintLast() const;
45 void paintOnlyInsets();
46 void paintSelection() const;
49 void paintLanguageMarkings(Row::Element const & e) const;
50 void paintForeignMark(Row::Element const & e) const;
51 void paintNoSpellingMark(Row::Element const & e) const;
52 void paintStringAndSel(Row::Element const & e) const;
53 void paintTextDecoration(Row::Element const & e) const;
54 void paintMisspelledMark(Row::Element const & e) const;
55 void paintChange(Row::Element const & e) const;
56 void paintAppendixStart(int y) const;
57 void paintInset(Row::Element const & e) const;
59 /// return the label font for this row (end label when \c end is true)
60 FontInfo labelFont(bool end) const;
63 void paintLabel() const;
65 void paintTopLevelLabel() const;
68 /// contains painting related information.
73 TextMetrics const & tm_;
79 Paragraph const & par_;
83 int const yo_; // current baseline
89 #endif // ROWPAINTER_H