X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferview_funcs.h;h=161ed4a5ef6805355ef1529e7afc24b3f181691f;hb=66561205e371dcd755f2187d562872c08ea582da;hp=c8665daa71412c4bdc9eb946889038e04571c5f7;hpb=b634b3eb3b5cc1c47fd3bc63294e16536d4f7664;p=lyx.git diff --git a/src/bufferview_funcs.h b/src/bufferview_funcs.h index c8665daa71..161ed4a5ef 100644 --- a/src/bufferview_funcs.h +++ b/src/bufferview_funcs.h @@ -15,23 +15,61 @@ #define BUFFERVIEW_FUNCS_H #include +#include -class LyXFont; +namespace lyx { +class Point; +class BufferView; +class DocIterator; +class Inset_code; +class Font; namespace bv_funcs { /// Set \param data using \param font and \param toggle. Return success. -bool font2string(LyXFont const & font, bool toggle, std::string & data); +bool font2string(Font const & font, bool toggle, std::string & data); /// Set \param font and \param toggle using \param data. Return success. -bool string2font(std::string const & data, LyXFont & font, bool & toggle); +bool string2font(std::string const & data, Font & font, bool & toggle); /** Returns the current freefont, encoded as a std::string to be passed to the * frontends. */ std::string const freefont2string(); +Point getPos(BufferView const & bv, DocIterator const & dit, bool boundary); + +enum CurStatus { + CUR_INSIDE, + CUR_ABOVE, + CUR_BELOW +}; + + +CurStatus status(BufferView const * bv, DocIterator const & dit); + + +Point coordOffset(BufferView const & bv, DocIterator const & dit, bool boundary); + +/// Moves cursor to the next inset with one of the given codes. +void gotoInset(BufferView * bv, std::vector const & codes, + bool same_content); + +/// Moves cursor to the next inset with given code. +void gotoInset(BufferView * bv, Inset_code code, bool same_content); + +/// Looks for next inset with one of the the given code +bool findInset(DocIterator & dit, std::vector const & codes, + bool same_content); + +/// Looks for next inset with the given code +void findInset(DocIterator & dit, Inset_code code, bool same_content); + + } // namespace bv_funcs + +} // namespace lyx + #endif