]> git.lyx.org Git - lyx.git/blob - src/mathed/textpainter.h
small up/down tweaking
[lyx.git] / src / mathed / textpainter.h
1 #ifndef TEXTPAINTER_H
2 #define TEXTPAINTER_H
3
4 #ifdef __GNUG__
5 #pragma interface
6 #endif
7
8 #include <vector>
9 #include <iosfwd>
10
11 class TextPainter {
12         public:
13                 ///
14                 TextPainter(int xmax, int ymax);
15                 ///
16                 void draw(int x, int y, char const * str);
17                 ///
18                 void draw(int x, int y, char c);
19                 ///
20                 void show(std::ostream & os, int offset = 0) const;
21                 ///
22                 int textheight() const { return ymax_; }
23                 ///
24                 void horizontalLine(int x, int y, int len, char c = '-');
25                 ///
26                 void verticalLine(int x, int y, int len, char c = '|');
27
28         private:
29                 ///
30                 typedef std::vector<char> data_type;
31                 ///
32                 char at(int x, int y) const;
33                 ///
34                 char & at(int x, int y);
35
36                 /// xsize of the painter area
37                 int xmax_;
38                 /// ysize of the painter area
39                 int ymax_;
40                 /// the image
41                 data_type data_;
42 };
43
44 #endif