double separator_;
double hfill_;
double label_hfill_;
-
- // Hack to get 1.4cvs working
- LyXFont font_;
};
LyXText const & text, pit_type pit, Row const & row, int x, int y)
: bv_(*pi.base.bv), pain_(pi.pain), text_(text), pars_(text.paragraphs()),
row_(row), pit_(pit), par_(text.paragraphs()[pit]),
- xo_(x), yo_(y), width_(text_.width()), font_(pi.base.font)
+ xo_(x), yo_(y), width_(text_.width())
{
RowMetrics m = text_.computeRowMetrics(pit, row_);
x_ = m.x + xo_;
/// "temporary"
LyXFont const RowPainter::getFont(pos_type pos) const
{
- LyXFont lf(font_);
- lf.reduce(LyXFont(LyXFont::ALL_SANE));
- lf.realize(text_.getFont(par_, pos));
- return lf;
+ LyXFont pf(text_.getFont(par_, pos));
+ text_.applyOuterFont(pf);
+ return pf;
}
// start of appendix?
if (parparams.startOfAppendix())
- y_top += paintAppendixStart(yo_ + y_top + 2 * defaultRowHeight());
+ y_top += paintAppendixStart(yo_ - row_.ascent() + 2 * defaultRowHeight());
Buffer const & buffer = *bv_.buffer();
|| layout->latextype != LATEX_ENVIRONMENT
|| is_seq)) {
- LyXFont font = getLabelFont();
- if (!par_.getLabelstring().empty()) {
+ LyXFont const font = getLabelFont();
+ string const str = par_.getLabelstring();
+ if (!str.empty()) {
double x = x_;
- string const str = par_.getLabelstring();
// this is special code for the chapter layout. This is
// printed in an extra row and has a pagebreak at
// the top.
if (layout->counter == "chapter") {
- if (buffer.params().secnumdepth >= 0) {
- double spacing_val = 1.0;
- if (!parparams.spacing().isDefault()) {
- spacing_val = parparams.spacing().getValue();
- } else {
- spacing_val = buffer.params().spacing().getValue();
- }
+ double spacing_val = 1.0;
+ if (!parparams.spacing().isDefault()) {
+ spacing_val = parparams.spacing().getValue();
+ } else {
+ spacing_val = buffer.params().spacing().getValue();
+ }
#ifdef WITH_WARNINGS
#warning Look is this correct?
#endif
- int const labeladdon = int(font_metrics::maxHeight(font) * layout->spacing.getValue() * spacing_val);
-
- int const maxdesc = int(font_metrics::maxDescent(font) * layout->spacing.getValue() * spacing_val)
- + int(layout->parsep) * defaultRowHeight();
+ int const labeladdon = int(font_metrics::maxHeight(font) * layout->spacing.getValue() * spacing_val);
- if (is_rtl) {
- x = width_ - leftMargin() -
- font_metrics::width(str, font);
- }
+ int const maxdesc = int(font_metrics::maxDescent(font) * layout->spacing.getValue() * spacing_val)
+ + int(layout->parsep) * defaultRowHeight();
- pain_.text(int(x), yo_ - maxdesc - labeladdon, str, font);
+ if (is_rtl) {
+ x = width_ - leftMargin() -
+ font_metrics::width(str, font);
}
+
+ pain_.text(int(x), yo_ - maxdesc - labeladdon, str, font);
} else {
if (is_rtl) {
x = width_ - leftMargin()