mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-13 22:49:20 +00:00
some changes to make some compilers somewhat happier
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3310 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
13daca767e
commit
faf2f08712
@ -503,7 +503,6 @@ InsetFormula::localDispatch(BufferView * bv, kb_action action,
|
|||||||
|
|
||||||
bool needEqnArray(string const & extra)
|
bool needEqnArray(string const & extra)
|
||||||
{
|
{
|
||||||
return false;
|
|
||||||
return extra == "dsolve";
|
return extra == "dsolve";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -619,7 +619,7 @@ void MathCursor::macroModeClose()
|
|||||||
|
|
||||||
int MathCursor::macroNamePos() const
|
int MathCursor::macroNamePos() const
|
||||||
{
|
{
|
||||||
for (int i = pos() - 1; i >= 0; --i) {
|
for (MathInset::difference_type i = pos() - 1; i >= 0; --i) {
|
||||||
MathAtom & p = array().at(i);
|
MathAtom & p = array().at(i);
|
||||||
if (p->code() == LM_TC_TEX && p->getChar() == '\\')
|
if (p->code() == LM_TC_TEX && p->getChar() == '\\')
|
||||||
return i;
|
return i;
|
||||||
@ -631,7 +631,8 @@ int MathCursor::macroNamePos() const
|
|||||||
string MathCursor::macroName() const
|
string MathCursor::macroName() const
|
||||||
{
|
{
|
||||||
string s;
|
string s;
|
||||||
for (int i = macroNamePos(); i >= 0 && i < int(pos()); ++i)
|
MathInset::difference_type i = macroNamePos();
|
||||||
|
for ( ; i >= 0 && i < int(pos()); ++i)
|
||||||
s += array().at(i)->getChar();
|
s += array().at(i)->getChar();
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,8 @@ public:
|
|||||||
///
|
///
|
||||||
typedef buffer_type::size_type size_type;
|
typedef buffer_type::size_type size_type;
|
||||||
///
|
///
|
||||||
|
typedef buffer_type::difference_type difference_type;
|
||||||
|
///
|
||||||
typedef buffer_type::size_type idx_type;
|
typedef buffer_type::size_type idx_type;
|
||||||
///
|
///
|
||||||
typedef buffer_type::size_type pos_type;
|
typedef buffer_type::size_type pos_type;
|
||||||
|
@ -30,7 +30,7 @@ MathAtom createMathInset(latexkeys const * l)
|
|||||||
case LM_TK_FUNCLIM:
|
case LM_TK_FUNCLIM:
|
||||||
return MathAtom(new MathFuncLimInset(l->name));
|
return MathAtom(new MathFuncLimInset(l->name));
|
||||||
case LM_TK_SPECIAL:
|
case LM_TK_SPECIAL:
|
||||||
return MathAtom(new MathSpecialCharInset(l->id));
|
return MathAtom(new MathSpecialCharInset(static_cast<char>(l->id)));
|
||||||
case LM_TK_SYM:
|
case LM_TK_SYM:
|
||||||
case LM_TK_CMR:
|
case LM_TK_CMR:
|
||||||
case LM_TK_CMSY:
|
case LM_TK_CMSY:
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
// global
|
||||||
std::map<string, latexkeys> theWordList;
|
std::map<string, latexkeys> theWordList;
|
||||||
|
|
||||||
|
|
||||||
@ -18,11 +19,12 @@ struct key_type {
|
|||||||
///
|
///
|
||||||
char const * name;
|
char const * name;
|
||||||
///
|
///
|
||||||
short token;
|
MathTokenEnum token;
|
||||||
///
|
///
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
key_type wordlist_array[] =
|
key_type wordlist_array[] =
|
||||||
{
|
{
|
||||||
{"!", LM_TK_SPACE, 0},
|
{"!", LM_TK_SPACE, 0},
|
||||||
|
@ -79,6 +79,8 @@ class MathInset {
|
|||||||
public:
|
public:
|
||||||
/// short of anything else reasonable
|
/// short of anything else reasonable
|
||||||
typedef MathArray::size_type size_type;
|
typedef MathArray::size_type size_type;
|
||||||
|
/// type for cursor positions differences within a cell
|
||||||
|
typedef MathArray::difference_type difference_type;
|
||||||
/// type for cursor positions within a cell
|
/// type for cursor positions within a cell
|
||||||
typedef MathArray::size_type pos_type;
|
typedef MathArray::size_type pos_type;
|
||||||
/// type for cell indices
|
/// type for cell indices
|
||||||
|
@ -138,10 +138,10 @@ void MathIterator::operator++()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathIterator::jump(int i)
|
void MathIterator::jump(MathInset::difference_type i)
|
||||||
{
|
{
|
||||||
position().pos_ += i;
|
position().pos_ += i;
|
||||||
lyx::Assert(position().pos_ >= 0);
|
//lyx::Assert(position().pos_ >= 0);
|
||||||
lyx::Assert(position().pos_ <= cell().size());
|
lyx::Assert(position().pos_ <= cell().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ public:
|
|||||||
/// move on one step
|
/// move on one step
|
||||||
void operator++();
|
void operator++();
|
||||||
/// move on several steps
|
/// move on several steps
|
||||||
void jump(int n);
|
void jump(MathInset::difference_type);
|
||||||
/// read access to top most item
|
/// read access to top most item
|
||||||
MathCursorPos const & position() const;
|
MathCursorPos const & position() const;
|
||||||
/// write access to top most item
|
/// write access to top most item
|
||||||
|
@ -26,8 +26,6 @@
|
|||||||
#include "LString.h"
|
#include "LString.h"
|
||||||
#include "math_defs.h"
|
#include "math_defs.h"
|
||||||
|
|
||||||
class MathHullInset;
|
|
||||||
class MathMacroTemplate;
|
|
||||||
class MathAtom;
|
class MathAtom;
|
||||||
class MathArray;
|
class MathArray;
|
||||||
class LyXLex;
|
class LyXLex;
|
||||||
@ -36,7 +34,7 @@ class LyXLex;
|
|||||||
enum MathTokenEnum
|
enum MathTokenEnum
|
||||||
{
|
{
|
||||||
///
|
///
|
||||||
LM_TK_SYM = 256,
|
LM_TK_SYM,
|
||||||
///
|
///
|
||||||
LM_TK_BOX,
|
LM_TK_BOX,
|
||||||
///
|
///
|
||||||
@ -118,36 +116,41 @@ enum MathTokenEnum
|
|||||||
|
|
||||||
///
|
///
|
||||||
struct latexkeys {
|
struct latexkeys {
|
||||||
///
|
/// name of the macro or primitive
|
||||||
string name;
|
string name;
|
||||||
///
|
/// one of the categories above
|
||||||
short token;
|
MathTokenEnum token;
|
||||||
///
|
/// an id within a category if needed (only for spaces?)
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
///
|
/// which font to use (optional)
|
||||||
unsigned char latex_font_id;
|
unsigned int latex_font_id;
|
||||||
///
|
/// operator/...
|
||||||
string type;
|
string type;
|
||||||
///
|
/// how is this called as XML entity?
|
||||||
string xmlname;
|
string xmlname;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
///
|
/// check whether this is a well-known (La)TeX macro or primitive
|
||||||
latexkeys const * in_word_set(string const & str);
|
latexkeys const * in_word_set(string const & str);
|
||||||
|
|
||||||
///
|
/// parse formula from a string
|
||||||
void ReadSymbols(string const & file);
|
|
||||||
|
|
||||||
bool mathed_parse_normal(MathAtom &, string const &);
|
bool mathed_parse_normal(MathAtom &, string const &);
|
||||||
|
/// ... a stream
|
||||||
bool mathed_parse_normal(MathAtom &, std::istream &);
|
bool mathed_parse_normal(MathAtom &, std::istream &);
|
||||||
|
/// ... the LyX lexxer
|
||||||
bool mathed_parse_normal(MathAtom &, LyXLex &);
|
bool mathed_parse_normal(MathAtom &, LyXLex &);
|
||||||
|
|
||||||
|
/// parse a macro definition from a string, enter it into the macro table
|
||||||
string mathed_parse_macro(string const &);
|
string mathed_parse_macro(string const &);
|
||||||
|
/// ... a stream
|
||||||
string mathed_parse_macro(std::istream &);
|
string mathed_parse_macro(std::istream &);
|
||||||
|
/// ... the LyX lexxer
|
||||||
string mathed_parse_macro(LyXLex &);
|
string mathed_parse_macro(LyXLex &);
|
||||||
|
|
||||||
void mathed_parse_cell(MathArray & ar, string const & str);
|
/// parse a single cell from a string
|
||||||
void mathed_parse_cell(MathArray & ar, std::istream & is);
|
void mathed_parse_cell(MathArray & ar, string const &);
|
||||||
|
/// ... a stream
|
||||||
|
void mathed_parse_cell(MathArray & ar, std::istream &);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -106,37 +106,37 @@ int MathScriptInset::dy1(MathInset const * nuc) const
|
|||||||
int MathScriptInset::dx0(MathInset const * nuc) const
|
int MathScriptInset::dx0(MathInset const * nuc) const
|
||||||
{
|
{
|
||||||
lyx::Assert(hasDown());
|
lyx::Assert(hasDown());
|
||||||
return hasLimits(nuc) ? (width(nuc) - down().width()) / 2 : nwid(nuc);
|
return hasLimits(nuc) ? (width2(nuc) - down().width()) / 2 : nwid(nuc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int MathScriptInset::dx1(MathInset const * nuc) const
|
int MathScriptInset::dx1(MathInset const * nuc) const
|
||||||
{
|
{
|
||||||
lyx::Assert(hasUp());
|
lyx::Assert(hasUp());
|
||||||
return hasLimits(nuc) ? (width(nuc) - up().width()) / 2 : nwid(nuc);
|
return hasLimits(nuc) ? (width2(nuc) - up().width()) / 2 : nwid(nuc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int MathScriptInset::dxx(MathInset const * nuc) const
|
int MathScriptInset::dxx(MathInset const * nuc) const
|
||||||
{
|
{
|
||||||
//lyx::Assert(nuc());
|
//lyx::Assert(nuc());
|
||||||
return hasLimits(nuc) ? (width(nuc) - nwid(nuc)) / 2 : 0;
|
return hasLimits(nuc) ? (width2(nuc) - nwid(nuc)) / 2 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int MathScriptInset::ascent(MathInset const * nuc) const
|
int MathScriptInset::ascent2(MathInset const * nuc) const
|
||||||
{
|
{
|
||||||
return dy1(nuc) + (hasUp() ? up().ascent() : 0);
|
return dy1(nuc) + (hasUp() ? up().ascent() : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int MathScriptInset::descent(MathInset const * nuc) const
|
int MathScriptInset::descent2(MathInset const * nuc) const
|
||||||
{
|
{
|
||||||
return dy0(nuc) + (hasDown() ? down().descent() : 0);
|
return dy0(nuc) + (hasDown() ? down().descent() : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int MathScriptInset::width(MathInset const * nuc) const
|
int MathScriptInset::width2(MathInset const * nuc) const
|
||||||
{
|
{
|
||||||
int wid = 0;
|
int wid = 0;
|
||||||
if (hasLimits(nuc)) {
|
if (hasLimits(nuc)) {
|
||||||
@ -190,10 +190,9 @@ void MathScriptInset::metrics(MathInset const * nuc,
|
|||||||
MathNestInset::metrics(mi);
|
MathNestInset::metrics(mi);
|
||||||
if (nuc)
|
if (nuc)
|
||||||
nuc->metrics(mi);
|
nuc->metrics(mi);
|
||||||
|
ascent_ = ascent2(nuc);
|
||||||
ascent_ = ascent(nuc);
|
descent_ = descent2(nuc);
|
||||||
descent_ = descent(nuc);
|
width_ = width2(nuc);
|
||||||
width_ = width(nuc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,11 +34,11 @@ public:
|
|||||||
///
|
///
|
||||||
void draw(MathInset const * nuc, Painter &, int x, int y) const;
|
void draw(MathInset const * nuc, Painter &, int x, int y) const;
|
||||||
///
|
///
|
||||||
int ascent(MathInset const * nuc) const;
|
int ascent2(MathInset const * nuc) const;
|
||||||
///
|
///
|
||||||
int descent(MathInset const * nuc) const;
|
int descent2(MathInset const * nuc) const;
|
||||||
///
|
///
|
||||||
int width(MathInset const * nuc) const;
|
int width2(MathInset const * nuc) const;
|
||||||
|
|
||||||
///
|
///
|
||||||
bool idxLeft(idx_type &, pos_type &) const;
|
bool idxLeft(idx_type &, pos_type &) const;
|
||||||
|
@ -36,9 +36,9 @@ void MathXArray::metrics(MathMetricsInfo const & mi) const
|
|||||||
MathScriptInset const * q = (it + 1 == end()) ? 0 : asScript(it);
|
MathScriptInset const * q = (it + 1 == end()) ? 0 : asScript(it);
|
||||||
if (q) {
|
if (q) {
|
||||||
q->metrics(p, mi);
|
q->metrics(p, mi);
|
||||||
ascent_ = std::max(ascent_, q->ascent(p));
|
ascent_ = std::max(ascent_, q->ascent2(p));
|
||||||
descent_ = std::max(descent_, q->descent(p));
|
descent_ = std::max(descent_, q->descent2(p));
|
||||||
width_ += q->width(p);
|
width_ += q->width2(p);
|
||||||
++it;
|
++it;
|
||||||
} else {
|
} else {
|
||||||
p->metrics(mi);
|
p->metrics(mi);
|
||||||
@ -67,7 +67,7 @@ void MathXArray::draw(Painter & pain, int x, int y) const
|
|||||||
MathScriptInset const * q = (it + 1 == end()) ? 0 : asScript(it);
|
MathScriptInset const * q = (it + 1 == end()) ? 0 : asScript(it);
|
||||||
if (q) {
|
if (q) {
|
||||||
q->draw(p, pain, x, y);
|
q->draw(p, pain, x, y);
|
||||||
x += q->width(p);
|
x += q->width2(p);
|
||||||
++it;
|
++it;
|
||||||
} else {
|
} else {
|
||||||
p->draw(pain, x, y);
|
p->draw(pain, x, y);
|
||||||
@ -87,7 +87,7 @@ int MathXArray::pos2x(size_type targetpos) const
|
|||||||
if (q) {
|
if (q) {
|
||||||
++it;
|
++it;
|
||||||
if (it < target)
|
if (it < target)
|
||||||
x += q->width(p);
|
x += q->width2(p);
|
||||||
else // "half" position
|
else // "half" position
|
||||||
x += q->dxx(p) + q->nwid(p);
|
x += q->dxx(p) + q->nwid(p);
|
||||||
} else
|
} else
|
||||||
@ -111,7 +111,7 @@ MathArray::size_type MathXArray::x2pos(int targetx) const
|
|||||||
if (it + 1 != end())
|
if (it + 1 != end())
|
||||||
q = asScript(it);
|
q = asScript(it);
|
||||||
if (q) {
|
if (q) {
|
||||||
wid = q->width(p);
|
wid = q->width2(p);
|
||||||
++it;
|
++it;
|
||||||
} else
|
} else
|
||||||
wid = p->width();
|
wid = p->width();
|
||||||
|
Loading…
Reference in New Issue
Block a user