X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxcursor.h;h=0fdf06a2961d30637f34f768f4fea6e619932d55;hb=d1182f17daa1a164d9527ccbe6500840d7ac6bc8;hp=e1a8a64ef5eb9e1d97eb7046c39562ba7ea2e291;hpb=73b9ca2a4b2db9a2d005311bae34bd3863d5ee66;p=lyx.git diff --git a/src/lyxcursor.h b/src/lyxcursor.h index e1a8a64ef5..0fdf06a296 100644 --- a/src/lyxcursor.h +++ b/src/lyxcursor.h @@ -5,39 +5,89 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ #ifndef LYXCURSOR_H #define LYXCURSOR_H -#include "lyxparagraph.h" +#ifdef __GNUG__ +#pragma interface +#endif + +#include "paragraph.h" struct Row; /** All these variables should be explained. Matthias? */ -struct LyXCursor { +class LyXCursor { +public: + LyXCursor(); + /// + void par(Paragraph * p); + /// + Paragraph * par(); + /// + Paragraph * par() const; + /// + void pos(Paragraph::size_type p); + /// + Paragraph::size_type pos() const; + /// + void boundary(bool b); + /// + bool boundary() const; /// - LyXParagraph * par; + void x(int i); /// - LyXParagraph::size_type pos; + int x() const; /// - bool boundary; + void x_fix(int i); /// - int x; + int x_fix() const; /// - int x_fix; + void y(int i); /// - unsigned long y; + int y() const; /// - Row * row; + void row(Row * r); /// - inline bool operator==(const LyXCursor &a) const - { return a.par == par && a.pos == pos && a.boundary == boundary ; } - inline bool operator!=(const LyXCursor &a) const - { return a.par != par || a.pos != pos || a.boundary != boundary; } + Row * row(); + /// + Row * row() const; +private: + /// The paragraph the cursor is in. + Paragraph * par_; + /// The position inside the paragraph + Paragraph::size_type pos_; + /// + bool boundary_; + /// + int x_; + /// + int x_fix_; + /// + int y_; + /// + Row * row_; }; +/// +inline +bool operator==(LyXCursor const & a, LyXCursor const & b) +{ + return (a.par() == b.par()) + && (a.pos() == b.pos()) + && a.boundary() == b.boundary(); +} + +/// +inline +bool operator!=(LyXCursor const & a, LyXCursor const & b) +{ + return !(a == b); +} + #endif