]> git.lyx.org Git - lyx.git/blobdiff - src/rowpainter.h
fix linking error in the frontend
[lyx.git] / src / rowpainter.h
index 868b97c6a170c6fb0b45c646b1d1716a6b7dd449..63bad10004b80e693493e2221bbe1a1805e5f38d 100644 (file)
@@ -6,99 +6,40 @@
  *
  * \author various
  * \author John Levon
+ * \author André Pönitz
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef ROWPAINTER_H
 #define ROWPAINTER_H
 
-#include <config.h>
-
-#include "RowList.h"
-#include "LString.h"
 #include "support/types.h"
 
-class LyXText;
-class BufferView;
-class Paragraph;
-class Painter;
-class LyXFont;
-class VSpace;
-
-/**
- * A class used for painting an individual row of text.
- */
-class RowPainter {
-public:
-       /// initialise painter
-       RowPainter(BufferView const & bv, LyXText const & text, RowList::iterator rit);
-
-       /// paint the row.
-       void paint(int y_offset, int x_offset, int y);
+namespace lyx {
 
-private:
-       // paint various parts
-       void paintBackground();
-       void paintSelection();
-       void paintAppendix();
-       void paintDepthBar();
-       void paintChangeBar();
-       void paintFirst();
-       void paintLast();
-       void paintForeignMark(float const orig_x, LyXFont const & orig_font);
-       void paintHebrewComposeChar(lyx::pos_type & vpos);
-       void paintArabicComposeChar(lyx::pos_type & vpos);
-       void paintChars(lyx::pos_type & vpos, bool hebrew, bool arabic);
-       int paintPageBreak(string const & label, int y);
-       int paintAppendixStart(int y);
-       int paintLengthMarker(string const & prefix, VSpace const & vsp, int start);
-       void paintText();
-       void paintFromPos(lyx::pos_type & vpos);
-       void paintInset(lyx::pos_type const pos);
-
-       /// return left margin
-       int leftMargin() const;
-
-       /// return the font at the given pos
-       LyXFont const getFont(lyx::pos_type pos) const;
-
-       /// return the label font for this row
-       LyXFont const getLabelFont() const;
-
-       char const transformChar(char c, lyx::pos_type pos) const;
-
-       /// return pixel width for the given pos
-       int singleWidth(lyx::pos_type pos) const;
-       int singleWidth(lyx::pos_type pos, char c) const;
+class Text;
+class BufferView;
+class PainterInfo;
+class ViewMetricsInfo;
 
-       /// bufferview to paint on
-       BufferView const & bv_;
+namespace frontend { class Painter; }
 
-       /// Painter to use
-       Painter & pain_;
+/// paint visible paragraph of main text
+void paintText(BufferView & bv, frontend::Painter & painter);
 
-       /// LyXText for the row
-       LyXText const & text_;
+/// paint the rows of a text inset
+void paintTextInset(Text const & text, PainterInfo & pi, int x, int y);
 
-       /// The row to paint
-       RowList::iterator row_;
+/// some space for drawing the 'nested' markers (in pixel)
+inline int nestMargin() { return 15; }
 
-       /// Row's paragraph
-       mutable ParagraphList::iterator  pit_;
+/// margin for changebar
+inline int changebarMargin() { return 12; }
 
-       // Looks ugly - is
-       int xo_;
-       int yo_;
-       float x_;
-       int y_;
-       int width_;
-       float separator_;
-       float hfill_;
-       float label_hfill_;
-};
+/// right margin
+inline int rightMargin() { return 10; }
 
-/// return the pixel height of a space marker before/after a par
-int getLengthMarkerHeight(BufferView const & bv, VSpace const & vsp);
+} // namespace lyx
 
 #endif // ROWPAINTER_H