3 * \file InsetMathXYArrow.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
12 #ifndef MATH_XYARROWINSET_H
13 #define MATH_ARROWINSET_H
15 #include "InsetMathNest.h"
16 #include "MetricsInfo.h"
22 // for the \ar stuff in \xymatrix
24 class InsetMathXYMatrix;
26 class InsetMathXYArrow : public InsetMathNest {
31 virtual Inset * clone() const;
33 bool metrics(MetricsInfo & mi) const;
35 void draw(PainterInfo & pi, int x, int y) const;
37 InsetMathXYArrow * asXYArrowInset() { return this; }
42 void write(WriteStream & os) const;
44 void normalize(NormalStream &) const;
46 InsetMathXYMatrix const * targetMatrix() const;
48 MathData const & targetCell() const;
50 MathData const & sourceCell() const;
52 InsetCode lyxCode() const { return MATH_XYARROW_CODE; }
57 mutable MetricsInfo mi_;
61 mutable InsetMathXYMatrix const * target_;