Commit 07c8816b authored by Anna.Pavlova's avatar Anna.Pavlova Committed by Alexander.Trofimov

1. bar object

2. поправила баг с линиями в качестве delimiters (были не равноудаленны)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@50012 954022d7-b5bf-4e40-9824-e11837661b57
parent 511ba203
......@@ -13,247 +13,6 @@
// 0x20D0 half left arrow (harpoon)
// 0x20D1 half right arrow (harpoon)
function CBaseDiacritic()
{
// g_dKoef_px_to_mm = 25.4/96
this.accentSize = {width: 0, height : 0};
this.shiftAccent = 0;
this.shiftArg = 0;
this.PEN_W = 0.04;
CMathBase.call(this);
}
extend(CBaseDiacritic, CMathBase);
CBaseDiacritic.prototype.init = function()
{
this.setDimension(1, 1);
this.setContent();
this.elements[0][0].SetDot(true);
}
CBaseDiacritic.prototype.old_setContent = function()
{
this.fillPlaceholders();
this.elements[0][0].SetDotIndef(true);
}
CBaseDiacritic.prototype.getCenter = function()
{
return this.elements[0][0].size.center + this.accentSize.height;
}
CBaseDiacritic.prototype.setPosition = function(pos)
{
this.pos = {x: pos.x, y: pos.y - this.size.center};
var x = this.pos.x + this.shiftArg,
y = this.pos.y + this.accentSize.height;
this.elements[0][0].setPosition({x: x, y: y});
}
CBaseDiacritic.prototype.findDisposition = function(mCoord)
{
var X = null,
Y = null,
inside_flag = -1; // остаемя в пределах данного элемента( за границы элемента не вышли )
if(mCoord.y < this.accentSize.height)
{
Y = 0;
inside_flag = 2;
}
else
Y = mCoord.y - this.accentSize.height;
if(mCoord.x < this.shiftArg)
{
X = 0;
inside_flag = 0;
}
else
X = mCoord.x - this.shiftArg;
var coord = {x: X, y: Y},
posCurs = {x: 0, y: 0};
return {pos: posCurs, mCoord: coord, inside_flag: inside_flag};
}
CBaseDiacritic.prototype.IsIncline = function()
{
// наклон есть в случае, если у нас математический текст(Cambria Math) и один символ в контенте
return this.elements[0][0].IsIncline();
}
CBaseDiacritic.prototype.getBase = function()
{
return this.elements[0][0];
}
function old_CCircumflex()
{
this.AUG = 5;
this.ANGLE = 0.1;
this.index = 1;
CBaseDiacritic.call(this);
}
extend(old_CCircumflex, CBaseDiacritic);
old_CCircumflex.prototype.setIndex = function(index)
{
this.index = index;
}
old_CCircumflex.prototype.recalculateSize = function()
{
var alpha = this.getTxtPrp().FontSize/36;
this.accentSize.width = 3.88*alpha;
this.accentSize.height = 3.175*alpha;
var augm = 0.9* this.elements[0][0].size.width/this.accentSize.width;
if(augm < 1)
augm = 1;
else if (augm > this.AUG)
augm = this.AUG;
var Arg = this.elements[0][0].size,
Accent = {width: augm*this.accentSize.width, height: this.accentSize.height};
var _height = Arg.height + Accent.height;
var _center = Arg.center + Accent.height;
var incline = 0;
if( this.IsIncline() )
incline = Arg.height*this.ANGLE;
if(Arg.width < Accent.width)
{
this.shiftAccent = incline;
this.shiftArg = (Arg.width - Accent.width)/2;
_width = Accent.width + incline;
}
else
{
var align = (Arg.width - Accent.width)/2 + incline;
_width = Arg.width > Accent.width + align ? Arg.width : Accent.width + align ;
this.shiftAccent = align;
this.shiftArg = 0;
}
this.size = {width: _width, height: _height, center: _center};
}
old_CCircumflex.prototype.draw = function()
{
this.elements[0][0].draw();
var x = this.pos.x + this.shiftAccent,
y = this.pos.y;
var fontSize = this.getTxtPrp().FontSize;
var penW = fontSize*g_dKoef_pt_to_mm*this.PEN_W;
penW *= 96/25.4;
// g_dKoef_px_to_mm = 25.4/96
var textScale = fontSize/1000, // 1000 pt
alpha = textScale*25.4/96 /64;
var X = new Array(),
Y = new Array();
X[0] = 0; Y[0] = 2373;
X[1] = 9331; Y[1] = 15494;
X[2] = 14913; Y[2] = 15494;
X[3] = 23869; Y[3] = 2373;
X[4] = 20953; Y[4] = 0;
X[5] = 12122; Y[5] = 10118;
X[6] = 11664; Y[6] = 10118;
X[7] = 2833; Y[7] = 0;
X[8] = 0; Y[8] = 2373;
var XX = new Array(),
YY = new Array();
var augm = 0.9* this.elements[0][0].size.width/this.accentSize.width;
if(augm > this.AUG)
augm = this.AUG;
else if(augm < 1)
augm = 1;
var W = this.accentSize.width * augm/alpha;
var a1 = X[3] - X[0], b1 = W, c1 = X[2] - X[1],
a2 = X[4] - X[7], b2 = W - 2*X[7], c2 = X[5] - X[6] ; //X[8] = 0
var RX = new Array();
for(var i = 0; i < X.length; i++)
RX[i] = 1;
RX[0] = RX[2] = (b1 - c1)/(a1-c1);
RX[4] = RX[6] = (b2 - c2)/(a2-c2);
XX[0] = XX[8] = X[0];
YY[0] = YY[8] = Y[0];
for(var i = 0; i< 4; i++)
{
XX[1 + i] = XX[i] + RX[i]*(X[1+i] - X[i]);
XX[7-i] = XX[8 - i] + RX[7-i]*(X[7-i] - X[8-i]);
YY[1+i] = Y[1+i];
YY[7-i] = Y[7-i];
}
var a,b;
if(this.index == 1) // вверх
{
a = 0;
b = 1;
}
else
{
a = YY[1]; // height
b = -1;
}
for(var i = 0; i < XX.length; i++)
{
XX[i] = x + XX[i]*alpha ;
YY[i] = y + (a + b*YY[i])*alpha;
}
var intGrid = MathControl.pGraph.GetIntegerGrid();
MathControl.pGraph.SetIntegerGrid(false);
MathControl.pGraph.p_width(penW*1000);
MathControl.pGraph.b_color1(0,0,0, 255);
MathControl.pGraph._s();
MathControl.pGraph._m(XX[0], YY[0]);
MathControl.pGraph._l(XX[1], YY[1]);
MathControl.pGraph._l(XX[2], YY[2]);
MathControl.pGraph._l(XX[3], YY[3]);
MathControl.pGraph._l(XX[4], YY[4]);
MathControl.pGraph._l(XX[5], YY[5]);
MathControl.pGraph._l(XX[6], YY[6]);
MathControl.pGraph._l(XX[7], YY[7]);
MathControl.pGraph._l(XX[8], YY[8]);
MathControl.pGraph._l(XX[9], YY[9]);
MathControl.pGraph._l(XX[10], YY[10]);
MathControl.pGraph._l(XX[11], YY[11]);
MathControl.pGraph.df();
MathControl.pGraph.SetIntegerGrid(intGrid);
}
function CCircumflex()
{
......@@ -423,347 +182,6 @@ CCircumflex.prototype.setPosition = function(pos)
this.pos = pos;
}
function old_CLine()
{
//0x302, 0x333
this.index = null; // одинарная, двойная, стрелки и т.п.
CBaseDiacritic.call(this);
}
extend(old_CLine, CBaseDiacritic);
old_CLine.prototype.setIndex = function(index)
{
this.index = index;
}
old_CLine.prototype.recalculateSize = function()
{
var alpha = this.getTxtPrp().FontSize/36;
var argSize = this.elements[0][0].size;
if(this.index == 1) //0x332
{
this.accentSize.height = 1.68*alpha;
this.accentSize.width = 4.938*alpha;
}
else //0x333
{
this.accentSize.height = 2.843*alpha;
this.accentSize.width = 4.938*alpha;
}
var f = this.accentSize.width,
s = argSize.width;
var _width = f > s ? f : s;
var _height = argSize.height + this.accentSize.height;
var _center = this.getCenter();
this.size = {width: _width, height: _height, center: _center};
}
old_CLine.prototype.draw = function()
{
this.elements[0][0].draw();
if(this.index == 1)
this.draw_singleLine();
else
this.draw_doubleLine();
}
old_CLine.prototype.draw_singleLine = function()
{
var penW = this.getTxtPrp().FontSize*g_dKoef_pt_to_mm*this.PEN_W;
//penW *= 96/25.4;
//var penY = penW/2*25.4/96; //для того чтобы линии совпадали (для одинарной и двойной черты)
var penY = penW/2; //для того чтобы линии совпадали (для одинарной и двойной черты)
// g_dKoef_px_to_mm = 25.4/96
var shY = this.accentSize.height - this.accentSize.height*2.843/1.68/2; // чтобы линии совпадали
var x1 = this.pos.x,
y1 = this.pos.y + penY + shY,
x2 = x1 + this.size.width,
y2 = y1;
MathControl.pGraph.p_width(penW*1000);
MathControl.pGraph.p_color(0,0,0, 255);
MathControl.pGraph._s();
MathControl.pGraph._m(x1, y1);
MathControl.pGraph._l(x2, y2);
MathControl.pGraph.ds();
}
old_CLine.prototype.draw_doubleLine = function()
{
var penW = this.getTxtPrp().FontSize*g_dKoef_pt_to_mm*this.PEN_W;
//penW *= 96/25.4;
//var penY = penW/2*25.4/96; //для того чтобы линии совпадали (для одинарной и двойной черты)
var penY = penW/2; //для того чтобы линии совпадали (для одинарной и двойной черты)
var x1 = this.pos.x,
y1 = this.pos.y + penY,
x2 = x1 + this.size.width,
y2 = y1,
x3 = x1,
//y3 = y1 + this.accentSize.height/2,
y3 = y1 + this.accentSize.height/2,
x4 = x2,
y4 = y3;
MathControl.pGraph.p_width(penW*1000);
MathControl.pGraph.p_color(0,0,0, 255);
MathControl.pGraph._s();
MathControl.pGraph._m(x1, y1);
MathControl.pGraph._l(x2, y2);
MathControl.pGraph._m(x3, y3);
MathControl.pGraph._l(x4, y4);
MathControl.pGraph.ds();
}
// TODO: установить смещение в зависимости от наклона буквы (как в old_CAccent)
/*function CSign()
{
this.index = null;
CBaseDiacritic.call(this);
}
extend(CSign, CBaseDiacritic);
CSign.prototype.setIndex = function(index)
{
this.index = index; // tilde
// breve up/down
}
CSign.prototype.recalculateSize = function()
{
var betta = this.getTxtPrp().FontSize/36;
var widthAcc, heightAcc;
if(this.index == 0 || this.index == 1)
{
widthAcc = this.accentSize.width = 4.2333333333333325*betta;
heightAcc = this.accentSize.height = 2.469444444444445*betta;
}
else
{
widthAcc = this.accentSize.width = 9.047509765625*betta; // реальная на отрисовке width 7.495282031249999
heightAcc = this.accentSize.height = 2.469444444444444*betta;
}
var arg = this.elements[0][0].size ;
this.size = {};
this.size.width = widthAcc > arg.width ? widthAcc : arg.width;
this.size.height = heightAcc + arg.height ;
this.size.center = this.getCenter();
this.shiftArg = (this.size.width - arg.width)/2;
this.shiftAccent = (this.size.width - widthAcc)/2;
*//*var accent = new CMathText(this.params);
accent.init(0x303);
//accent.setIndefSize(SizeDiacritic);
var size = accent.size;
accent = new CMathText(this.params);
accent.init(0x32E);
accent.setIndefSize(SizeDiacritic);
size = accent.size;*//*
}
CSign.prototype.draw = function()
{
this.elements[0][0].draw();
if(this.index == 0)
this.draw_breve(1);
else if(this.index == 1)
this.draw_breve(-1);
else
this.draw_tilde();
}
CSign.prototype.draw_tilde = function()
{
var X = new Array(),
Y = new Array();
X[0] = 0; Y[0] = 3066;
X[1] = 2125; Y[1] = 7984;
X[2] = 5624; Y[2] = 11256;
X[3] = 9123; Y[3] = 14528;
X[4] = 13913; Y[4] = 14528;
X[5] = 18912; Y[5] = 14528;
X[6] = 25827; Y[6] = 10144;
X[7] = 32742; Y[7] = 5760;
X[8] = 36324; Y[8] = 5760;
X[9] = 39865; Y[9] = 5760;
X[10] = 42239; Y[10] = 7641;
X[11] = 44614; Y[11] = 9522;
X[12] = 47030; Y[12] = 13492;
X[13] = 50362; Y[13] = 11254;
X[14] = 48571; Y[14] = 7544;
X[15] = 44697; Y[15] = 3772;
X[16] = 40823; Y[16] = 0;
X[17] = 35283; Y[17] = 0;
X[18] = 29951; Y[18] = 0;
X[19] = 23098; Y[19] = 4384;
X[20] = 16246; Y[20] = 8768;
X[21] = 12622; Y[21] = 8768;
X[22] = 9581; Y[22] = 8768;
X[23] = 7290; Y[23] = 6845;
X[24] = 4999; Y[24] = 4922;
X[25] = 3249; Y[25] = 1243;
X[26] = 0; Y[26] = 3066;
var XX = new Array(),
YY = new Array();
var fontSize = this.getTxtPrp().FontSize;
var textScale = fontSize/1000, // 1000 pt
alpha = textScale*25.4/96 /64 ; // g_dKoef_px_to_mm = 25.4/96
var align = this.size.width - X[13]*alpha;
var x = this.pos.x + align/2,
y = this.pos.y;
//var x = this.pos.x + this.shiftAccent, y = this.pos.y;
for(var i = 0; i < X.length; i++)
{
XX[i] = x + X[i]*alpha;
YY[i] = y + (Y[5] - Y[i])*alpha*0.65; // сжали !
}
var penW = fontSize*g_dKoef_pt_to_mm*this.PEN_W;
penW *= 96/25.4;
var intGrid = MathControl.pGraph.GetIntegerGrid();
MathControl.pGraph.SetIntegerGrid(false);
MathControl.pGraph.p_width(penW*1000);
MathControl.pGraph.b_color1(0,0,0, 255);
MathControl.pGraph._s();
MathControl.pGraph._m(XX[0], YY[0]);
MathControl.pGraph._c(XX[0], YY[0], XX[1], YY[1], XX[2], YY[2] );
MathControl.pGraph._c(XX[2], YY[2], XX[3], YY[3], XX[4], YY[4] );
MathControl.pGraph._c(XX[4], YY[4], XX[5], YY[5], XX[6], YY[6] );
MathControl.pGraph._c(XX[6], YY[6], XX[7], YY[7], XX[8], YY[8] );
MathControl.pGraph._c(XX[8], YY[8], XX[9], YY[9], XX[10], YY[10] );
MathControl.pGraph._c(XX[10], YY[10], XX[11], YY[11], XX[12], YY[12] );
MathControl.pGraph._l(XX[13], YY[13]);
MathControl.pGraph._c(XX[13], YY[13], XX[14], YY[14], XX[15], YY[15] );
MathControl.pGraph._c(XX[15], YY[15], XX[16], YY[16], XX[17], YY[17] );
MathControl.pGraph._c(XX[17], YY[17], XX[18], YY[18], XX[19], YY[19] );
MathControl.pGraph._c(XX[19], YY[19], XX[20], YY[20], XX[21], YY[21] );
MathControl.pGraph._c(XX[21], YY[21], XX[22], YY[22], XX[23], YY[23] );
MathControl.pGraph._c(XX[23], YY[23], XX[24], YY[24], XX[25], YY[25] );
MathControl.pGraph._l(XX[26], YY[26]);
MathControl.pGraph.df();
MathControl.pGraph.SetIntegerGrid(intGrid);
}
CSign.prototype.draw_breve = function(up)
{
var X = new Array(),
Y = new Array();
X[0] = 25161; Y[0] = 11372;
X[1] = 24077; Y[1] = 5749;
X[2] = 20932; Y[2] = 2875;
X[3] = 17787; Y[3] = 0;
X[4] = 12247; Y[4] = 0;
X[5] = 7082; Y[5] = 0;
X[6] = 4083; Y[6] = 2854;
X[7] = 1083; Y[7] = 5707;
X[8] = 0; Y[8] = 11372;
X[9] = 3208; Y[9] = 12371;
X[10] = 4249; Y[10] = 9623;
X[11] = 5561; Y[11] = 8083;
X[12] = 6873; Y[12] = 6542;
X[13] = 8456; Y[13] = 5959;
X[14] = 10039; Y[14] = 5376;
X[15] = 12414; Y[15] = 5376;
X[16] = 14746; Y[16] = 5376;
X[17] = 16454; Y[17] = 5980;
X[18] = 18162; Y[18] = 6583;
X[19] = 19558; Y[19] = 8124;
X[20] = 20953; Y[20] = 9665;
X[21] = 21953; Y[21] = 12371;
X[22] = 25161; Y[22] = 11372;
var XX = new Array(),
YY = new Array();
var fontSize = this.getTxtPrp().FontSize;
var textScale = fontSize/1000, // 1000 pt
alpha = textScale*25.4/96 /64 ; // g_dKoef_px_to_mm = 25.4/96
var align = this.size.width - X[22]*alpha;
var x = this.pos.x + align/2,
y = this.pos.y;
var a, b;
if(up == 1)
{
a = 0; b = 1;
}
else
{
a = Y[22]; // height
b = -1;
}
for(var i = 0; i < X.length; i++)
{
XX[i] = x + X[i]*alpha ;
YY[i] = y + (a + b*Y[i])*alpha ;
}
var penW = fontSize*g_dKoef_pt_to_mm*this.PEN_W;
penW *= 96/25.4;
var intGrid = MathControl.pGraph.GetIntegerGrid();
MathControl.pGraph.SetIntegerGrid(false);
MathControl.pGraph.p_width(penW*1000);
MathControl.pGraph.b_color1(0,0,0, 255);
MathControl.pGraph._s();
MathControl.pGraph._m(XX[0], YY[0]);
MathControl.pGraph._c(XX[0], YY[0], XX[1], YY[1], XX[2], YY[2] );
MathControl.pGraph._c(XX[2], YY[2], XX[3], YY[3], XX[4], YY[4] );
MathControl.pGraph._c(XX[4], YY[4], XX[5], YY[5], XX[6], YY[6] );
MathControl.pGraph._c(XX[6], YY[6], XX[7], YY[7], XX[8], YY[8] );
MathControl.pGraph._l(XX[9], YY[9]);
MathControl.pGraph._c(XX[9], YY[9], XX[10], YY[10], XX[11], YY[11] );
MathControl.pGraph._c(XX[11], YY[11], XX[12], YY[12], XX[13], YY[13] );
MathControl.pGraph._c(XX[13], YY[13], XX[14], YY[14], XX[15], YY[15] );
MathControl.pGraph._c(XX[15], YY[15], XX[16], YY[16], XX[17], YY[17] );
MathControl.pGraph._c(XX[17], YY[17], XX[18], YY[18], XX[19], YY[19] );
MathControl.pGraph._c(XX[19], YY[19], XX[20], YY[20], XX[21], YY[21] );
MathControl.pGraph._l(XX[22], YY[22]);
MathControl.pGraph.df();
MathControl.pGraph.SetIntegerGrid(intGrid);
}*/
function CLine()
{
......
......@@ -260,4 +260,51 @@ CBox.prototype.init = function(props)
CBox.prototype.getBase = function()
{
return this.elements[0][0];
}
function CBar()
{
this.loc = LOCATION_BOT;
CCharacter.call(this);
}
extend(CBar, CCharacter);
CBar.prototype.init = function(props)
{
if(props.pos === "top" || props.location === LOCATION_TOP)
this.loc = LOCATION_TOP;
else if(props.pos === "bot" || props.location === LOCATION_BOT)
this.loc = LOCATION_BOT;
var glyph = new COperatorLine();
var props =
{
location: this.loc,
turn: TURN_0
};
glyph.init(props);
this.setOperator( new COperator(glyph) );
}
CBar.prototype.getCenter = function()
{
var center;
if(this.loc === LOCATION_TOP )
center = this.operator.size.height + this.elements[0][0].size.center;
else if(this.loc === LOCATION_BOT )
center = this.elements[0][0].size.center;
return center;
}
function CPhantom()
{
CMathBase.call(this);
}
extend(CPhantom, CMathBase);
CPhantom.prototype.init = function(props)
{
this.setDimension(1, 1);
this.setContent();
}
\ No newline at end of file
......@@ -461,6 +461,9 @@ CMathContent.prototype =
case MATH_EQ_ARRAY:
mathElem = new CEqArray();
break;
case MATH_BAR:
mathElem = new CBar();
break;
}
......@@ -4234,7 +4237,7 @@ CMathContent.prototype =
delim.init(props);
delim.fillPlaceholders();*/
var accent = this.addMComponent(MATH_ACCENT);
var props =
props =
{
chrType: ACCENT_ARROW_LEFT
};
......@@ -4278,8 +4281,22 @@ CMathContent.prototype =
accent.fillPlaceholders();
break;
case 172:
var bar = this.addMComponent(MATH_BAR);
var props =
{
location: LOCATION_TOP
};
bar.init(props);
bar.fillPlaceholders();
break;
case 173:
var bar = this.addMComponent(MATH_BAR);
var props =
{
location: LOCATION_BOT
};
bar.init(props);
bar.fillPlaceholders();
break;
case 174:
var borderBox = this.addMComponent(MATH_BORDER_BOX);
......@@ -4320,8 +4337,24 @@ CMathContent.prototype =
break;
case 176:
var bar = this.addMComponent(MATH_BAR);
var props =
{
location: LOCATION_TOP
};
bar.init(props);
var base = bar.getBase();
base.addTxt("A");
break;
case 177:
var bar = this.addMComponent(MATH_BAR);
var props =
{
location: LOCATION_TOP
};
bar.init(props);
var base = bar.getBase();
base.addTxt("ABC");
break;
case 178:
var func = this.addMComponent(MATH_FUNCTION);
......@@ -4524,7 +4557,14 @@ CMathContent.prototype =
this.addTxt("");
break;
case 193:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: ARROW_LEFT,
......@@ -4534,7 +4574,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 194:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: ARROW_RIGHT,
......@@ -4544,7 +4591,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 195:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: ARROW_LEFT,
......@@ -4554,7 +4608,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 196:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: ARROW_RIGHT,
......@@ -4574,7 +4635,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 198:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: DOUBLE_RIGHT_ARROW,
......@@ -4584,7 +4652,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 199:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: DOUBLE_LEFT_ARROW,
......@@ -4594,7 +4669,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 200:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: DOUBLE_RIGHT_ARROW,
......@@ -4604,7 +4686,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 201:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: ARROW_LR,
......@@ -4614,7 +4703,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 202:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: ARROW_LR,
......@@ -4624,7 +4720,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 203:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: DOUBLE_ARROW_LR,
......@@ -4634,7 +4737,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 204:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: DOUBLE_ARROW_LR,
......@@ -4644,7 +4754,14 @@ CMathContent.prototype =
arrow.fillPlaceholders();
break;
case 205:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: ARROW_RIGHT,
......@@ -4655,7 +4772,14 @@ CMathContent.prototype =
base.addTxt("yields");
break;
case 206:
var arrow = this.addMComponent(MATH_GROUP_CHARACTER);
var box = this.addMComponent(MATH_BOX);
var props =
{
opEmu: true
};
box.init(props);
var base = box.getBase();
var arrow = base.addMComponent(MATH_GROUP_CHARACTER);
var props =
{
chrType: ARROW_RIGHT,
......@@ -6512,6 +6636,13 @@ CMathComposition.prototype =
this.Root.draw();
},
Draw_2: function()
{
this.Resize();
this.UpdatePosition();
this.CheckTarget();
this.Draw();
},
Cursor_MoveRight: function()
{
this.ClearSelect();
......
......@@ -11,7 +11,9 @@ var MATH_BORDER_BOX = 9;
var MATH_LIMIT = 10;
var MATH_MATRIX = 11;
var MATH_BOX = 12;
var MATH_EQ_ARRAY = 13;
var MATH_EQ_ARRAY = 13;
var MATH_BAR = 14;
var MATH_PHANTOM = 15;
var BAR_FRACTION = 0;
var SKEWED_FRACTION = 1;
......
......@@ -230,27 +230,27 @@ CGlyphOperator.prototype.getCoordinateGlyph = function()
// A*x + B*y + C = 0
if(this.loc == 0)
if(this.loc == LOCATION_TOP)
{
a1 = 1; b1 = 0; c1 = 0;
a2 = 0; b2 = 1; c2 = 0;
}
else if(this.loc == 1)
else if(this.loc == LOCATION_BOT)
{
a1 = 1; b1 = 0; c1 = 0;
a2 = 0; b2 = 1; c2 = H - glH;
}
else if(this.loc == 2)
else if(this.loc == LOCATION_LEFT)
{
a1 = 0; b1 = 1; c1 = 0;
a2 = 1; b2 = 0; c2 = 0;
}
else if(this.loc == 3)
else if(this.loc == LOCATION_RIGHT)
{
a1 = 0; b1 = 1; c1 = W - glW;
a2 = 1; b2 = 0; c2 = 0;
}
else if(this.loc == 4)
else if(this.loc == LOCATION_SEP)
{
a1 = 0; b1 = 1; c1 = 0;
a2 = 1; b2 = 0; c2 = 0;
......@@ -2661,7 +2661,7 @@ COperatorLine.prototype.calcCoord = function(measure)
var W = XX[2],
H = YY[2];
H = YY[2] + shY;
return {XX: XX, YY: YY, W: W, H: H};
......
......@@ -191,7 +191,7 @@
<!--<script type="text/javascript" src = "Math/parenthesis.js"></script>-->
<script type="text/javascript" src = "Math/operators.js"></script>
<script type="text/javascript" src = "Math/diacritical.js"></script>
<script type="text/javascript" src = "Math/accent.js"></script>
<script type="text/javascript" src = "Math/drawingUnion.js"></script>
<script type="text/javascript" src = "Math/borderBox.js"></script>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment