#include <config.h>
-
#include "inset.h"
-
#include "BufferView.h"
#include "funcrequest.h"
#include "gettext.h"
#include "lyxfont.h"
#include "lyxtext.h"
+#include "dimension.h"
+#include "metricsinfo.h"
#include "frontends/Painter.h"
#include "frontends/mouse_state.h"
#include "support/lstrings.h"
-using std::endl;
-
// Initialization of the counter for the inset id's,
unsigned int Inset::inset_id = 0;
{}
-Inset::Inset(Inset const & in, bool same_id)
+Inset::Inset(Inset const & in)
: InsetBase(),
top_x(0), top_baseline(0), scx(0), owner_(0),
name_(in.name_), background_color_(in.background_color_)
{
- if (same_id)
- id_ = in.id();
- else
- id_ = inset_id++;
+ id_ = inset_id++;
}
}
-void Inset::validate(LaTeXFeatures &) const
-{}
-
-
bool Inset::autoDelete() const
{
return false;
return bv->workWidth();
}
+
+int Inset::ascent(BufferView * bv, LyXFont const & font) const
+{
+ Dimension dim;
+ MetricsInfo mi;
+ mi.base.bv = bv;
+ mi.base.font = font;
+ metrics(mi, dim);
+ return dim.ascent();
+}
+
+
+int Inset::descent(BufferView * bv, LyXFont const & font) const
+{
+ Dimension dim;
+ MetricsInfo mi;
+ mi.base.bv = bv;
+ mi.base.font = font;
+ metrics(mi, dim);
+ return dim.descent();
+}
+
+
+int Inset::width(BufferView * bv, LyXFont const & font) const
+{
+ Dimension dim;
+ MetricsInfo mi;
+ mi.base.bv = bv;
+ mi.base.font = font;
+ metrics(mi, dim);
+ return dim.width();
+}