]> git.lyx.org Git - lyx.git/blob - src/mathed/math_xyarrowinset.h
rename commandtags.h to lfuns.h and renumber/cleanup. Rebuild the tree !
[lyx.git] / src / mathed / math_xyarrowinset.h
1 // -*- C++ -*-
2 #ifndef MATH_XYARROWINSET_H
3 #define MATH_ARROWINSET_H
4
5 #include "math_nestinset.h"
6 #include "math_metricsinfo.h"
7
8
9 // for the \ar stuff in \xymatrix
10
11 class MathXYMatrixInset;
12
13 class MathXYArrowInset : public MathNestInset {
14 public:
15         ///
16         MathXYArrowInset();
17         ///
18         MathInset * clone() const;
19         ///
20         void metrics(MathMetricsInfo & mi) const;
21         ///
22         void draw(MathPainterInfo & pi, int x, int y) const;
23         ///
24         MathXYArrowInset * asXYArrowInset() { return this; }
25
26         ///
27         void normalize();
28         ///
29         void write(WriteStream & os) const;
30         ///
31         void normalize(NormalStream &) const;
32
33 public:
34         ///
35         MathXYMatrixInset const * targetMatrix() const;
36         ///
37         MathArray const & targetCell() const;
38         ///
39         MathArray const & sourceCell() const;
40
41         ///
42         bool up_;
43         ///
44         mutable MathMetricsInfo mi_;
45         ///
46         mutable LyXFont font_;
47         ///
48         mutable MathXYMatrixInset const * target_;
49 };
50
51 #endif