// -*- C++ -*-
/* This file is part of
* ======================================================
- *
+ *
* LyX, The Document Processor
- *
+ *
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-1999 The LyX Team.
+ * Copyright 1995-2001 The LyX Team.
*
* ====================================================== */
#ifndef LYXROW_H
#define LYXROW_H
-#include "lyxparagraph.h"
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "support/types.h"
+
+class Paragraph;
///
-struct Row {
+class Row {
+public:
///
- LyXParagraph * par;
+ Row();
+
///
-#ifdef NEW_TEXT
- LyXParagraph::size_type pos;
-#else
- int pos;
-#endif
+ void par(Paragraph * p);
+ ///
+ Paragraph * par();
+ ///
+ Paragraph * par() const;
+ ///
+ void pos(lyx::pos_type p);
+ ///
+ lyx::pos_type pos() const;
+ ///
+ void fill(int f);
+ ///
+ int fill() const;
+ ///
+ void height(unsigned short h);
+ ///
+ unsigned short height() const;
+ ///
+ void width(unsigned int w);
+ ///
+ unsigned int width() const;
+ ///
+ void ascent_of_text(unsigned short a);
+ ///
+ unsigned short ascent_of_text() const;
///
- unsigned short baseline;
+ void baseline(unsigned int b);
+ ///
+ unsigned int baseline() const;
+ ///
+ void next(Row * r);
+ ///
+ Row * next() const;
+ ///
+ void previous(Row * r);
+ ///
+ Row * previous() const;
+private:
+ ///
+ Paragraph * par_;
+ ///
+ lyx::pos_type pos_;
/** what is missing to a full row can be negative.
Needed for hfills, flushright, block etc. */
- int fill;
+ mutable int fill_;
+ ///
+ unsigned short height_;
+ ///
+ unsigned int width_;
///
- unsigned short height;
+ unsigned short ascent_of_text_;
///
- unsigned short ascent_of_text;
-
+ unsigned int baseline_;
///
- Row * next;
+ Row * next_;
///
- Row * previous;
+ Row * previous_;
};
+
+inline
+Paragraph * Row::par()
+{
+ return par_;
+}
+
+
+inline
+Paragraph * Row::par() const
+{
+ return par_;
+}
+
+
+inline
+unsigned short Row::height() const
+{
+ return height_;
+}
+
+
+inline
+Row * Row::next() const
+{
+ return next_;
+}
+
#endif