* Full author contact details are available in file CREDITS.
*/
+#include <config.h>
#include "Bidi.h"
#include "buffer.h"
#include "lyxfont.h"
#include "lyxrow.h"
-#include "lyxrow_funcs.h"
#include "lyxrc.h"
#include "paragraph.h"
-#include "insets/updatableinset.h"
-using lyx::pos_type;
+namespace lyx {
-lyx::pos_type Bidi::log2vis(lyx::pos_type pos) const
+pos_type Bidi::log2vis(pos_type pos) const
{
return (start_ == -1) ? pos : log2vis_list_[pos - start_];
}
-lyx::pos_type Bidi::vis2log(lyx::pos_type pos) const
+pos_type Bidi::vis2log(pos_type pos) const
{
return (start_ == -1) ? pos : vis2log_list_[pos - start_];
}
-lyx::pos_type Bidi::level(lyx::pos_type pos) const
+pos_type Bidi::level(pos_type pos) const
{
return (start_ == -1) ? 0 : levels_[pos - start_];
}
-bool Bidi::inRange(lyx::pos_type pos) const
+bool Bidi::inRange(pos_type pos) const
{
return start_ == -1 || (start_ <= pos && pos <= end_);
}
void Bidi::computeTables(Paragraph const & par,
- Buffer const & buf, Row & row)
+ Buffer const & buf, Row const & row)
{
same_direction_ = true;
if (!lyxrc.rtl_support) {
return;
}
- InsetOld * inset = par.inInset();
- if (inset && inset->owner() &&
- inset->owner()->lyxCode() == InsetOld::ERT_CODE) {
+ if (par.ownerCode() == InsetBase::ERT_CODE) {
start_ = -1;
return;
}
log2vis_list_[lpos - start_] = rtl ? 1 : -1;
} else if (lev < new_level) {
log2vis_list_[lpos - start_] = rtl ? -1 : 1;
- if (new_level > rtl_par)
+ if (new_level > 0 && !rtl_par)
same_direction_ = false;
} else
log2vis_list_[lpos - start_] = new_rtl ? -1 : 1;
: par.isRightToLeftPar(buf.params());
return rtl != rtl2;
}
+
+
+} // namespace lyx