]> git.lyx.org Git - features.git/blobdiff - src/Row.h
Fix computation of LABEL_MANUAL label separation
[features.git] / src / Row.h
index bf49eb1b33025c3238bb7ca9a0d5a59396f11aa1..62ee6cfb5e55aa8359790f0624a9c79c8e79315b 100644 (file)
--- a/src/Row.h
+++ b/src/Row.h
@@ -50,7 +50,10 @@ public:
                // An inset
                INSET,
                // Some spacing described by its width, not a string
-               SPACE
+               SPACE,
+               // Spacing until the left margin, with a minimal value given
+               // by the initial width
+               MARGINSPACE
        };
 
 /**
@@ -119,9 +122,11 @@ public:
                pos_type pos;
                // first position after the element in the paragraph
                pos_type endpos;
-               // The dimension of the chunk (does not contains the
+               // The dimension of the chunk (does not contain the
                // separator correction)
                Dimension dim;
+               // The width of the element without trailing spaces
+               int nspc_wid = 0;
 
                // Non-zero only if element is an inset
                Inset const * inset = nullptr;
@@ -251,6 +256,8 @@ public:
                        Font const & f, Change const & ch);
        ///
        void addSpace(pos_type pos, int width, Font const & f, Change const & ch);
+       ///
+       void addMarginSpace(pos_type pos, int width, Font const & f, Change const & ch);
 
        ///
        typedef std::vector<Element> Elements;
@@ -301,10 +308,12 @@ public:
         * Find sequences of right-to-left elements and reverse them.
         * This should be called once the row is completely built.
         */
-       void reverseRTL(bool rtl_par);
+       void reverseRTL();
        ///
        bool isRTL() const { return rtl_; }
        ///
+       void setRTL(bool rtl) { rtl_ = rtl; }
+       ///
        bool needsChangeBar() const { return changebar_; }
        ///
        void needsChangeBar(bool ncb) { changebar_ = ncb; }