]> git.lyx.org Git - lyx.git/blobdiff - src/metricsinfo.h
minimal effort implementation of:
[lyx.git] / src / metricsinfo.h
index d3ff26ad3bb66e9329420cd7f5626116910507e3..d55c3f4e4e50e70ab57b73f7a8e43ccb420203b8 100644 (file)
 
 #include <string>
 
-class Painter;
 class BufferView;
 
+namespace lyx {
+namespace frontend {
+class Painter;
+}
+}
+
 
 /// Standard Sizes (mode styles)
 enum Styles {
@@ -80,18 +85,20 @@ public:
 class PainterInfo {
 public:
        ///
-       PainterInfo(BufferView * bv, Painter & pain);
+       PainterInfo(BufferView * bv, lyx::frontend::Painter & pain);
        ///
-       void draw(int x, int y, char c);
+        void draw(int x, int y, lyx::char_type c);
        ///
-       void draw(int x, int y, std::string const & str);
+       void draw(int x, int y, lyx::docstring const & str);
 
        ///
        MetricsBase base;
        ///
-       Painter & pain;
+       lyx::frontend::Painter & pain;
        /// Whether the text at this point is right-to-left (for InsetNewline)
        bool ltr_pos;
+       /// Whether the parent is deleted (change tracking)
+       bool erased_;
 };
 
 class TextMetricsInfo {};
@@ -99,14 +106,19 @@ class TextMetricsInfo {};
 class ViewMetricsInfo
 {
 public:
+       ViewMetricsInfo()
+               : p1(0), p2(0), y1(0), y2(0),
+                 singlepar(false), size(0) {}
        ViewMetricsInfo(lyx::pit_type p1, lyx::pit_type p2, int y1, int y2,
-                       bool singlepar) : p1(p1), p2(p2), y1(y1), y2(y2),
-                       singlepar(singlepar) {}
+                       bool singlepar, lyx::pit_type size)
+               : p1(p1), p2(p2), y1(y1), y2(y2),
+                 singlepar(singlepar), size(size) {}
        lyx::pit_type p1;
        lyx::pit_type p2;
        int y1;
        int y2;
        bool singlepar;
+       lyx::pit_type size;
 };