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.
26 namespace frontend { class Painter; }
29 * A class used for painting an individual row of text.
30 * FIXME: get rid of that class.
34 /// initialise and run painter
35 RowPainter(PainterInfo & pi, Text const & text,
36 Row const & row, int x, int y);
38 /// paint various parts
39 /// FIXME: transfer to TextMetrics
40 void paintAppendix() const;
41 void paintDepthBar() const;
42 void paintChangeBar() const;
43 void paintTooLargeMarks(bool const left, bool const right) const;
44 void paintFirst() const;
45 void paintLast() const;
47 void paintOnlyInsets();
48 void paintSelection() const;
51 void paintLanguageMarkings(Row::Element const & e) const;
52 void paintForeignMark(Row::Element const & e) const;
53 void paintNoSpellingMark(Row::Element const & e) const;
54 void paintStringAndSel(Row::Element const & e) const;
55 void paintTextDecoration(Row::Element const & e) const;
56 void paintMisspelledMark(Row::Element const & e) const;
57 void paintChange(Row::Element const & e) const;
58 void paintAppendixStart(int y) const;
59 void paintInset(Row::Element const & e) const;
61 /// return the label font for this row (end label when \c end is true)
62 FontInfo labelFont(bool end) const;
65 void paintLabel() const;
67 void paintTopLevelLabel() const;
70 /// contains painting related information.
75 TextMetrics const & tm_;
81 Paragraph const & par_;
85 int const yo_; // current baseline
91 #endif // ROWPAINTER_H