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_
;