+
+ Dimension const & d = row.dimension();
+ char_type const b[] = { static_cast<char_type>(row.sel_beg),
+ static_cast<char_type>(row.sel_end),
+ row.begin_margin_sel, row.end_margin_sel, d.wid, d.asc, d.des};
+ crc.process_bytes(b, sizeof(b));
+
+ return crc.checksum();
+}
+
+
+void ParagraphMetrics::setPosition(int position)
+{
+ position_ = position;
+}
+
+
+Dimension const & ParagraphMetrics::insetDimension(Inset const * inset) const
+{
+ InsetDims::const_iterator it = inset_dims_.find(inset);
+ if (it != inset_dims_.end())
+ return it->second;
+
+ static Dimension dummy;
+ return dummy;
+}
+
+
+void ParagraphMetrics::setInsetDimension(Inset const * inset,
+ Dimension const & dim)
+{
+ inset_dims_[inset] = dim;