X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontList.h;h=388a04ee21c33c58382e463dff947ae0fd76d6e5;hb=5b75a45bc1c590cca5ac2a3e539a741a4aede26a;hp=86824bb55da5afaa56ccca16a1cd93a05a1ec1c2;hpb=4d9007bd61e41bad94b182e806702b6bbe5ea28c;p=lyx.git diff --git a/src/FontList.h b/src/FontList.h index 86824bb55d..388a04ee21 100644 --- a/src/FontList.h +++ b/src/FontList.h @@ -56,21 +56,13 @@ private: paragraph or, in the case of nested paragraphs, from the layout in the environment one level up until completely resolved. - The values Font::IGNORE_* and Font::TOGGLE are NOT + The values Font::IGNORE_* and FONT_TOGGLE are NOT allowed in these font tables. */ Font font_; }; - -class matchFT -{ -public: - /// used by lower_bound and upper_bound - int operator()(FontTable const & a, FontTable const & b) const { - return a.pos() < b.pos(); - } -}; +class LaTeXFeatures; /// class FontList @@ -92,6 +84,8 @@ public: /// bool empty() const { return list_.empty(); } /// + void clear() { list_.clear(); } + /// void erase(pos_type pos); /// iterator fontIterator(pos_type pos); @@ -102,10 +96,37 @@ public: /// void set(pos_type pos, Font const & font); /// + void setRange( + pos_type startpos, + pos_type endpos, + Font const & font); + /// void increasePosAfterPos(pos_type pos); /// void decreasePosAfterPos(pos_type pos); + /// + void setMisspelled( + pos_type startpos, + pos_type endpos, + bool misspelled); + + /// Returns the height of the highest font in range + FontSize highestInRange( + pos_type startpos, + pos_type endpos, + FontSize def_size + ) const; + + /// is there a font change in middle of the word? + bool hasChangeInRange( + pos_type pos, ///< position in the paragraph. + int len ///< length of the range to check. + ) const; + + /// + void validate(LaTeXFeatures & features) const; + private: /// List list_;