]> git.lyx.org Git - lyx.git/blob - src/mathed/math_xyarrowinset.h
small up/down tweaking
[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 #ifdef __GNUG__
9 #pragma interface
10 #endif
11
12 // for the \ar stuff in \xymatrix
13
14 class MathXYMatrixInset;
15
16 class MathXYArrowInset : public MathNestInset {
17 public:
18         ///
19         MathXYArrowInset();
20         ///
21         MathInset * clone() const;
22         ///
23         void metrics(MathMetricsInfo & mi) const;
24         ///
25         void draw(MathPainterInfo & pi, int x, int y) const;
26         ///
27         MathXYArrowInset * asXYArrowInset() { return this; }
28
29         ///
30         void normalize();
31         ///
32         void write(WriteStream & os) const;
33         ///
34         void normalize(NormalStream &) const;
35
36 public:
37         ///
38         MathXYMatrixInset const * targetMatrix() const;
39         ///
40         MathArray const & targetCell() const;
41         ///
42         MathArray const & sourceCell() const;
43
44         ///
45         bool up_;
46         ///
47         mutable MathMetricsInfo mi_;
48         ///
49         mutable LyXFont font_;
50         ///
51         mutable MathXYMatrixInset const * target_;
52 };
53
54 #endif