X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.h;h=1b76da27117c593e4fdad9bc029f5465883005d4;hb=33f9cfb7961501b38c573eede468b011687f46de;hp=0381b6b86fe096ecfc67ae83e2fbc205af881e89;hpb=2f1eb35b868aaa5adb83ff358c2468551e25685e;p=lyx.git diff --git a/src/BufferView.h b/src/BufferView.h index 0381b6b86f..1b76da2711 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -26,6 +26,7 @@ namespace lyx { namespace support { class FileName; } +namespace frontend { struct CaretGeometry; } namespace frontend { class Painter; } namespace frontend { class GuiBufferViewDelegate; } @@ -34,19 +35,18 @@ class Change; class CoordCache; class Cursor; class CursorSlice; +class Dimension; class DispatchResult; class DocIterator; -class DocumentClass; class FuncRequest; class FuncStatus; class Intl; class Inset; class Length; -class ParIterator; +class MathData; +class MathRow; class ParagraphMetrics; class Point; -class Row; -class TexRow; class Text; class TextMetrics; @@ -102,9 +102,12 @@ public: /// right margin int rightMargin() const; - /// left margin int leftMargin() const; + /// top margin + int topMargin() const; + /// bottom margin + int bottomMargin() const; /// return the on-screen size of this length /* @@ -146,11 +149,6 @@ public: int horizScrollOffset(Text const * text, pit_type pit, pos_type pos) const; - // Returns true if the row of text starting at (pit, pos) was scrolled - // at the last draw event. - bool hadHorizScrollOffset(Text const * text, - pit_type pit, pos_type pos) const; - /// reset the scrollbar to reflect current view position. void updateScrollbar(); /// return the Scrollbar Parameters. @@ -221,7 +219,7 @@ public: /// return the inline completion postfix. docstring const & inlineCompletion() const; /// return the number of unique characters in the inline completion. - size_t const & inlineCompletionUniqueChars() const; + size_t inlineCompletionUniqueChars() const; /// return the position in the buffer of the inline completion postfix. DocIterator const & inlineCompletionPos() const; /// make sure inline completion position is OK @@ -241,7 +239,7 @@ public: /// request an X11 selection. /// \return the selected string. - docstring const requestSelection(); + docstring requestSelection(); /// clear the X11 selection. void clearSelection(); @@ -301,14 +299,23 @@ public: /// CoordCache const & coordCache() const; + /// + MathRow const & mathRow(MathData const * cell) const; + /// + void setMathRow(MathData const * cell, MathRow const & mrow); + /// Point getPos(DocIterator const & dit) const; /// is the paragraph of the cursor visible ? bool paragraphVisible(DocIterator const & dit) const; - /// is the cursor currently visible in the view - bool cursorInView(Point const & p, int h) const; + /// is the caret currently visible in the view + bool caretInView() const; /// get the position and height of the caret - void caretPosAndHeight(Point & p, int & h) const; + void caretPosAndDim(Point & p, Dimension & dim) const; + /// compute the shape of the caret + void buildCaretGeometry(bool complet); + /// the shape of the caret + frontend::CaretGeometry const & caretGeometry() const; /// void draw(frontend::Painter & pain, bool paint_caret); @@ -330,7 +337,7 @@ public: /// This signal is emitted when some dialog needs to be shown with /// some data. void showDialog(std::string const & name, std::string const & data, - Inset * inset = 0); + Inset * inset = nullptr); /// This signal is emitted when some dialogs needs to be updated. void updateDialog(std::string const & name, std::string const & data); @@ -343,7 +350,7 @@ public: // Insert plain text file (if filename is empty, prompt for one) void insertPlaintextFile(support::FileName const & f, bool asParagraph); /// - void insertLyXFile(support::FileName const & f); + void insertLyXFile(support::FileName const & f, bool const ignorelang = false); /// save temporary bookmark for jump back navigation void bookmarkEditPosition(); /// Find and return the inset associated with given dialog name.