traversing math tables should be at least as fast as for ordinary table by

now...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3732 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
André Pönitz 2002-03-12 16:39:27 +00:00
parent 3c416fd6bf
commit 82121d83da
4 changed files with 15 additions and 36 deletions

View File

@ -945,6 +945,7 @@ void MathCursor::touch()
void MathCursor::normalize() void MathCursor::normalize()
{ {
#if 0
// rebreak // rebreak
{ {
MathIterator it = ibegin(formula()->par().nucleus()); MathIterator it = ibegin(formula()->par().nucleus());
@ -953,6 +954,7 @@ void MathCursor::normalize()
if (it.par()->asBoxInset()) if (it.par()->asBoxInset())
it.par()->asBoxInset()->rebreak(); it.par()->asBoxInset()->rebreak();
} }
#endif
if (idx() >= par()->nargs()) { if (idx() >= par()->nargs()) {
lyxerr << "this should not really happen - 1: " lyxerr << "this should not really happen - 1: "

View File

@ -1,26 +0,0 @@
#include <config.h>
#include "math_diminset.h"
MathDimInset::MathDimInset()
: MathInset(), width_(0), ascent_(0), descent_(0)
{}
int MathDimInset::ascent() const
{
return ascent_;
}
int MathDimInset::descent() const
{
return descent_;
}
int MathDimInset::width() const
{
return width_;
}

View File

@ -8,13 +8,14 @@
class MathDimInset : public MathInset { class MathDimInset : public MathInset {
public: public:
MathDimInset(); /// not sure whether the initialization is really necessary
/// MathDimInset() : width_(0), ascent_(0), descent_(0) {}
int ascent() const; /// read ascent value (should be inline according to gprof)
/// int ascent() const { return ascent_; }
int descent() const; /// read descent
/// int descent() const { return descent_; }
int width() const; /// read width
int width() const { return width_; }
protected: protected:
/// ///

View File

@ -78,14 +78,16 @@ void MathXArray::draw(Painter & pain, int x, int y) const
yo_ = y; yo_ = y;
drawn_ = true; drawn_ = true;
if (data_.empty()) { const_iterator it = begin(), et = end();
if (it == et) {
pain.rectangle(x, y - ascent_, width_, height(), LColor::mathline); pain.rectangle(x, y - ascent_, width_, height(), LColor::mathline);
return; return;
} }
for (const_iterator it = begin(); it != end(); ++it) { for (; it != et; ++it) {
MathInset const * p = it->nucleus(); MathInset const * p = it->nucleus();
MathScriptInset const * q = (it + 1 == end()) ? 0 : asScript(it); MathScriptInset const * q = (it + 1 == et) ? 0 : asScript(it);
if (q) { if (q) {
q->draw(p, pain, x, y); q->draw(p, pain, x, y);
x += q->width2(p); x += q->width2(p);