// -*- 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
-#ifdef __GNUG__
-#pragma interface
-#endif
-
#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() {}
- /// read ascent value (should be inline according to gprof)
- int ascent() const { return dim_.ascent(); }
- /// read descent
- int descent() const { return dim_.descent(); }
- /// read width
- int width() const { return dim_.width(); }
+ ///
+ MathDimInset();
+
///
Dimension dimensions() const { return dim_; }
///
- void metricsT(TextMetricsInfo const &) const;
+ 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 Dimension dim_;
+ ///
+ mutable int xo_;
+ ///
+ mutable int yo_;
};
+
#endif