]> git.lyx.org Git - lyx.git/blob - src/lyxrow.h
e480cfaf18b6d140ad390d724b83480e388fa6a9
[lyx.git] / src / lyxrow.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ====================================================== 
4  * 
5  *           LyX, The Document Processor
6  *       
7  *           Copyright 1995 Matthias Ettrich
8  *           Copyright 1995-2000 The LyX Team.
9  *
10  * ====================================================== */
11
12 #ifndef LYXROW_H
13 #define LYXROW_H
14
15 #include "lyxparagraph.h"
16
17 ///
18 class Row {
19 public:
20         ///
21         Row();
22         ///
23         void par(LyXParagraph * p);
24         ///
25         LyXParagraph * par();
26         ///
27         LyXParagraph * par() const;
28         ///
29         void pos(LyXParagraph::size_type p);
30         ///
31         LyXParagraph::size_type pos() const;
32         ///
33         void fill(int f);
34         ///
35         int fill() const;
36         ///
37         void height(unsigned short h);
38         ///
39         unsigned short height() const;
40         ///
41         void ascent_of_text(unsigned short a);
42         ///
43         unsigned short ascent_of_text() const;
44         ///
45         void baseline(unsigned int b);
46         ///
47         unsigned int baseline() const;
48         ///
49         void next(Row * r);
50         ///
51         Row * next() const;
52         ///
53         void previous(Row * r);
54         ///
55         Row * previous() const;
56 private:
57         ///
58         LyXParagraph * par_;
59         ///
60         LyXParagraph::size_type pos_;
61         /** what is missing to a full row can be negative.
62           Needed for hfills, flushright, block etc. */
63         mutable int fill_;
64         ///
65         unsigned short height_;
66         ///
67         unsigned short ascent_of_text_;
68         ///
69         unsigned int baseline_;
70         ///
71         Row * next_;
72         ///
73         Row * previous_;
74 };
75
76 #endif