Commit 65c3470d authored by Anna.Pavlova's avatar Anna.Pavlova

1. Поправила баг с размером сепаратора в CDelimiters для случая, когда grow = false

2. Рефакторинг recalculateSize для CDenominator и CNumerator

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58500 954022d7-b5bf-4e40-9824-e11837661b57
parent f174aa64
......@@ -498,21 +498,34 @@ CNumerator.prototype.recalculateSize = function()
var mgCtrPrp = this.Get_CompiledCtrPrp();
var Descent = arg.height - arg.ascent; // baseLine
var gapNum = 7.832769097222222 * mgCtrPrp.FontSize/36,
minGap = mgCtrPrp.FontSize* 25.4/96 * 0.16;
g_oTextMeasurer.SetFont(mgCtrPrp);
var Height = g_oTextMeasurer.GetHeight();
var gapNum, minGap;
if(this.Parent.kind == MATH_LIMIT || this.Parent.kind == MATH_GROUP_CHARACTER)
{
gapNum = Height/2.4;
minGap = Height/10;
//gapNum = Height/2.4;
//gapNum = Height/2.97;
//gapNum = Height/2.97 - Height/10.5;
gapNum = Height/4.14;
minGap = Height/13.8;
//var delta = 0.8076354679802956*gapNum - Descent;
var delta = gapNum - Descent;
//this.gap = delta > minGap ? delta - 0.95*minGap: minGap;
this.gap = delta > minGap ? delta: minGap;
}
else // Fraction
{
gapNum = Height/3.05;
minGap = Height/9.77;
var delta = 0.8076354679802956*gapNum - Descent;
var delta = gapNum - Descent;
this.gap = delta > minGap ? delta : minGap;
}
this.gap = delta > minGap ? delta - 0.95*minGap: minGap;
var width = arg.width;
var height = arg.height + this.gap;
......@@ -570,28 +583,32 @@ CDenominator.prototype.recalculateSize = function()
var mgCtrPrp = this.Get_CompiledCtrPrp();
var gapDen = 7.325682539682539 * mgCtrPrp.FontSize/36,
Ascent = arg.ascent - 4.938888888888888*mgCtrPrp.FontSize/36,
minGap = gapDen/3;
var Ascent = arg.ascent - 4.938888888888888*mgCtrPrp.FontSize/36;
g_oTextMeasurer.SetFont(mgCtrPrp);
var Height = g_oTextMeasurer.GetHeight();
var gapDen, minGap;
if(this.Parent.kind == MATH_LIMIT || this.Parent.kind == MATH_GROUP_CHARACTER)
{
gapDen = Height/2.6;
minGap = Height/10;
}
else // Fraction
{
gapDen = Height/2.03;
minGap = Height/6.1;
}
var delta = gapDen - Ascent;
this.gap = delta > minGap ? delta : minGap;
var width = arg.width;
var height = arg.height + this.gap;
var ascent = arg.ascent + this.gap;
this.size = {width : width, height: height, ascent: ascent};
}
CDenominator.prototype.setPosition = function(pos, PosInfo)
......
......@@ -103,7 +103,6 @@ CLimit.prototype.Resize = function(oMeasure, Parent, ParaMath, RPI, ArgSize)
this.dH = 0;
this.FName = this.ContentFName;
//this.elements[1][0] = this.Iterator;
this.Iterator = new CDenominator();
this.Iterator.fillMathComposition(this.ContentIterator);
......@@ -114,13 +113,8 @@ CLimit.prototype.Resize = function(oMeasure, Parent, ParaMath, RPI, ArgSize)
else
{
this.FName = this.ContentFName;
/*this.Iterator = new CNumerator();
this.Iterator.fillMathComposition(this.ContentIterator);*/
this.dH = 0.06*this.Get_CompiledCtrPrp().FontSize;
this.Iterator = this.ContentIterator;
this.dH = 0.06*this.Get_CompiledCtrPrp().FontSize;
this.elements[0][0] = this.Iterator;
this.elements[1][0] = this.FName;
......
......@@ -2202,15 +2202,7 @@ COperator.prototype.mergeProperties = function(properties, defaultProps) // pr
////////// delimiters //////////
/* if(type == OPERATOR_GROW_TEXT) // для случая grow у Delimiters, чтобы избежать использования собственных глифов
{
codeChr = code;
typeOper = OPERATOR_GROW_TEXT;
operator = new CMathText(true);
operator.add(code);
}
else */if( code === 0x28 || type === PARENTHESIS_LEFT)
if( code === 0x28 || type === PARENTHESIS_LEFT)
{
codeChr = 0x28;
typeOper = PARENTHESIS_LEFT;
......@@ -3045,7 +3037,7 @@ COperator.prototype.fixSize = function(ParaMath, oMeasure, stretch)
}
else
{
var StretchLng = this.type == OPER_DELIMITER && this.grow == false ? 0 : stretch;
var StretchLng = (this.type == OPER_DELIMITER || this.type == OPER_SEPARATOR) && this.grow == false ? 0 : stretch;
this.operator.fixSize(StretchLng);
dims = this.operator.getCoordinateGlyph();
this.coordGlyph = {XX: dims.XX, YY: dims.YY};
......
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