-/* This file is part of
- * ======================================================
- *
- * LyX, The Document Processor
- *
- * Copyright 1995 Matthias Ettrich
- * Copyright 1995-2001 The LyX Team.
+/**
+ * \file lyxrow.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * ====================================================== */
+ * \author unknown
+ * \author Lars Gullik Bjønnes
+ * \author John Levon
+ * \author André Pönitz
+ * \author Jürgen Vigna
+ *
+ * Full author contact details are available in file CREDITS.
+ *
+ * Metrics for an on-screen text row.
+ */
#include <config.h>
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
#include "lyxrow.h"
+#include "debug.h"
+
+using lyx::pos_type;
+using std::max;
+using std::min;
Row::Row()
- : par_(0), pos_(0), fill_(0), height_(0), width_(0),
- ascent_of_text_(0), baseline_(0), next_(0), previous_(0)
+ : pos_(0), end_(0), fill_(0), height_(0), width_(0), y_(0),
+ ascent_of_text_(0), baseline_(0),
+ x_(0), fill_separator_(0), fill_hfill_(0), fill_label_hfill_(0)
{}
-void Row::par(LyXParagraph * p)
-{
- par_ = p;
-}
+Row::Row(pos_type pos)
+ : pos_(pos), end_(0), fill_(0), height_(0), width_(0), y_(0),
+ ascent_of_text_(0), baseline_(0),
+ x_(0), fill_separator_(0), fill_hfill_(0), fill_label_hfill_(0)
+{}
-void Row::pos(LyXParagraph::size_type p)
+void Row::pos(pos_type p)
{
pos_ = p;
}
-LyXParagraph::size_type Row::pos() const
+pos_type Row::pos() const
{
return pos_;
}
-void Row::fill(int f)
+void Row::end(pos_type p)
{
- fill_ = f;
+ end_ = p;
}
-int Row::fill() const
+pos_type Row::end() const
{
- return fill_;
+ return end_;
+}
+
+
+void Row::fill(int f)
+{
+ fill_ = f;
}
-void Row::height(unsigned short h)
+int Row::fill() const
{
- height_ = h;
+ return fill_;
}
}
-void Row::ascent_of_text(unsigned short a)
+void Row::ascent_of_text(unsigned int a)
{
ascent_of_text_ = a;
}
-unsigned short Row::ascent_of_text() const
+unsigned int Row::ascent_of_text() const
{
return ascent_of_text_;
}
+void Row::top_of_text(unsigned int top)
+{
+ top_of_text_ = top;
+}
+
+
+unsigned int Row::top_of_text() const
+{
+ return top_of_text_;
+}
+
+
void Row::baseline(unsigned int b)
{
baseline_ = b;
}
-void Row::next(Row * r)
+float Row::x() const
+{
+ return x_;
+}
+
+
+void Row::x(float f)
+{
+ x_ = f;
+}
+
+
+float Row::fill_separator() const
+{
+ return fill_separator_;
+}
+
+
+void Row::fill_separator(float f)
+{
+ fill_separator_ = f;
+}
+
+
+float Row::fill_hfill() const
+{
+ return fill_hfill_;
+}
+
+
+void Row::fill_hfill(float f)
+{
+ fill_hfill_ = f;
+}
+
+
+float Row::fill_label_hfill() const
{
- next_ = r;
+ return fill_label_hfill_;
}
-void Row::previous(Row * r)
+void Row::fill_label_hfill(float f)
{
- previous_ = r;
+ fill_label_hfill_ = f;
}
-Row * Row::previous() const
+bool Row::isParStart() const
{
- return previous_;
+ return !pos();
}
+
+
+void Row::dump(const char * s) const
+{
+ lyxerr << s << " pos: " << pos_ << " width: " << width_
+ << " height: " << height_
+ << " fill: " << fill_
+ << " ascent_of_text: " << ascent_of_text_
+ << " top_of_text: " << top_of_text_
+ << " y: " << y_ << std::endl;
+}
+