]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathGrid.h
Set correctly the spacing between atoms in MathData
[lyx.git] / src / mathed / InsetMathGrid.h
index 426d941f19167bfa43be63ac68481575d7a31d45..4300dc31881d6f580c67823f97b2736e2fde07c2 100644 (file)
@@ -44,13 +44,6 @@ public:
                Multicolumn multi_;
                /// special multi colums alignment
                docstring align_;
-               /// these should be a per-cell property, but ok to have it here
-               /// for single-column grids like paragraphs
-               mutable int glue_;
-               ///
-               mutable pos_type begin_;
-               ///
-               mutable pos_type end_;
        };
 
        /// additional per-row information
@@ -110,9 +103,6 @@ public:
        void metrics(MetricsInfo & mi, Dimension &) const;
        ///
        void draw(PainterInfo & pi, int x, int y) const;
-       ///
-       void drawWithMargin(PainterInfo & pi, int x, int y,
-               int lmargin = 0, int rmargin = 0) const;
        /// draw decorations.
        void drawDecoration(PainterInfo & pi, int x, int y) const
        { drawMarkers2(pi, x, y); }
@@ -221,6 +211,8 @@ public:
        virtual int vlinesep() const;
        ///
        virtual int border() const;
+       ///
+       virtual bool handlesMulticolumn() const { return false; }
 
        ///
        void write(WriteStream & os) const;
@@ -255,6 +247,11 @@ protected:
        int cellYOffset(idx_type idx) const;
        /// Width of cell, taking combined columns into account
        int cellWidth(idx_type idx) const;
+       ///
+       virtual int leftMargin() const { return 1; }
+       ///
+       virtual int rightMargin() const { return 1; }
+
        /// returns proper 'end of line' code for LaTeX
        virtual docstring eolString(row_type row, bool fragile, bool latex,
                        bool last_eoln) const;
@@ -276,6 +273,10 @@ protected:
        /// The value of a fixed col spacing for a certain hull type
        static int colSpace(HullType type, col_type col);
 
+       /// positions of vertical and horizontal lines
+       int vLineHOffset(col_type col, unsigned int line) const;
+       int hLineVOffset(row_type row, unsigned int line) const;
+
        /// row info.
        /// rowinfo_[nrows()] is a dummy row used only for hlines.
        std::vector<RowInfo> rowinfo_;
@@ -289,7 +290,7 @@ protected:
 
 private:
        ///
-       char v_align_; // add approp. type
+       char v_align_; // FIXME: add approp. type
        ///
        Inset * clone() const;
 };