// -*- C++ -*-
+/**
+ * \file math_diminset.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
#ifndef MATH_DIMINSET_H
#define MATH_DIMINSET_H
#include "math_inset.h"
+#include "dimension.h"
-/// things that need the dimension cache
+class PainterInfo;
+
+/// things that need the dimension cache
class MathDimInset : public MathInset {
public:
- /// not sure whether the initialization is really necessary
- MathDimInset() : width_(0), ascent_(0), descent_(0) {}
- /// read ascent value (should be inline according to gprof)
- int ascent() const { return ascent_; }
- /// read descent
- int descent() const { return descent_; }
- /// read width
- int width() const { return width_; }
- ///
- void dimensions(int & w, int & a, int & d) const;
///
- void metricsT(TextMetricsInfo const &) const;
+ MathDimInset();
+
+ ///
+ Dimension dimensions() const { return dim_; }
+ ///
+ int ascent() const;
///
- void drawT(TextPainter & pain, int x, int y) const;
+ int descent() const;
+ ///
+ int width() const;
+
+ ///
+ int xo() const { return xo_; }
+ ///
+ int yo() const { return yo_; }
+ ///
+ void setPosCache(PainterInfo const & pi, int x, int y) const;
protected:
///
- mutable int width_;
+ mutable Dimension dim_;
///
- mutable int ascent_;
+ mutable int xo_;
///
- mutable int descent_;
+ mutable int yo_;
};
+
#endif