X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxcursor.h;h=60ad1e0bfbe4386b2fc85d2dd55c3fc1703c4f4a;hb=a69e7a45780e94f4330a91facfe35126c678e34e;hp=322dd38dc9375edd268cfaff51d5d01db2c73c87;hpb=27de1486ca34aaad446adb798d71a77d6f6304da;p=lyx.git diff --git a/src/lyxcursor.h b/src/lyxcursor.h index 322dd38dc9..60ad1e0bfb 100644 --- a/src/lyxcursor.h +++ b/src/lyxcursor.h @@ -1,33 +1,92 @@ // -*- C++ -*- /* This file is part of - * ====================================================== + * ====================================================== * * LyX, The Document Processor * - * Copyright (C) 1995 Matthias Ettrich + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2000 The LyX Team. * - *======================================================*/ -#ifndef _LYXCURSOR_H -#define _LYXCURSOR_H + * ====================================================== */ + +#ifndef LYXCURSOR_H +#define LYXCURSOR_H + +#ifdef __GNUG__ +#pragma interface +#endif + +#include "lyxparagraph.h" -class LyXParagraph; struct Row; -/** All these variavles should be explained. Matthias? +/** All these variables should be explained. Matthias? */ -struct LyXCursor { +class LyXCursor { +public: + /// + void par(LyXParagraph * p); + /// + LyXParagraph * par(); + /// + LyXParagraph * par() const; + /// + void pos(LyXParagraph::size_type p); + /// + LyXParagraph::size_type pos() const; + /// + void boundary(bool b); + /// + bool boundary() const; /// - LyXParagraph *par; + void x(int i); /// - int pos; + int x() const; /// - int x; + void x_fix(int i); /// - int x_fix; + int x_fix() const; /// - long y; + void y(unsigned long i); /// - Row *row; + unsigned long y() const; + /// + void row(Row * r); + /// + Row * row(); + /// + Row * row() const; +private: + /// The paragraph the cursor is in. + LyXParagraph * par_; + /// The position inside the paragraph + LyXParagraph::size_type pos_; + /// + bool boundary_; + /// + int x_; + /// + int x_fix_; + /// + unsigned long 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