Commit 47e429d2 authored by Anna.Pavlova's avatar Anna.Pavlova Committed by Alexander.Trofimov

1. Поправила функции связанные с Merge текстовых настроек для Run Properies

2. Поправила баг для радикала со степенью при расчете размера (возникал, когда ширина степени меньше значка, на котором она рисуется)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@54572 954022d7-b5bf-4e40-9824-e11837661b57
parent db04af1f
......@@ -606,10 +606,11 @@ CSign.prototype.fixSize = function(oMeasure, stretch, bIncline)
var ctrPrp = this.Parent.getCtrPrp();
var rPrp = new CMathTextPrp();
var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP;
rPrp.Merge(defaultRPrp);
var defaultRPrp = this.Parent.Composition.GetDefaultRunPrp();
rPrp.Merge(defaultRPrp.getMergedWPrp());
rPrp.Merge(ctrPrp);
rPrp.Italic = false;
rPrp.Italic = false; // не меняем значок
rPrp.Bold = false;
oMeasure.SetFont(rPrp);
......
......@@ -25,6 +25,7 @@ function CMathBase()
this.Composition = null; // ссылка на общую формулу
this.CtrPrp = new CTextPr();
this.RunPrp = new CMathRunPrp();
//this.textPrp = new CMathTextPrp(); // для рассчета размера расстояний
......@@ -87,36 +88,51 @@ CMathBase.prototype =
setCtrPrp: function(txtPrp)
{
this.CtrPrp.Merge(txtPrp); // only runPrp for paragraph
this.RunPrp.setTxtPrp(txtPrp);
},
getCtrPrp: function()
{
var ctrPrp = new CTextPr();
ctrPrp.Merge(this.Composition.DEFAULT_RUN_PRP);
ctrPrp.Merge(this.Composition.GetFirstPrp() );
var defaultRPrp = this.Composition.GetFirstRPrp();
var gWPrp = defaultRPrp.getMergedWPrp();
ctrPrp.Merge(gWPrp);
ctrPrp.Merge(this.CtrPrp);
return ctrPrp;
},
getRunPrp: function()
{
var runPrp = new CMathRunPrp();
var defaultRPrp = this.Composition.GetFirstRPrp();
runPrp.Merge(defaultRPrp);
runPrp.Merge(this.RunPrp);
return runPrp;
},
getCtrPrpForFirst: function()
{
var ctrPrp = new CTextPr();
ctrPrp.Merge(this.Composition.DEFAULT_RUN_PRP);
var defaultRPrp = this.Composition.GetDefaultRunPrp();
var gWPrp = defaultRPrp.getMergedWPrp();
ctrPrp.Merge(gWPrp);
ctrPrp.Merge(this.CtrPrp);
return ctrPrp;
},
// для управляющих символов в приоритете GetFirstPrp
// для управляющих символов в приоритете GetFirstRunPrp
// если первый элемент - мат объект, то берутся его CtrPrp
getPrpToControlLetter: function()
{
var rPrp = new CTextPr();
rPrp.Merge( this.Composition.GetFirstPrp() );
rPrp.Merge( this.Composition.GetFirstRPrp() );
return rPrp;
},
setRPrp: function(rPrp)
{
this.RunPrp.Merge(rPrp);
this.CtrPrp = new CTextPr();
this.CtrPrp.Merge(rPrp);
var gPrp = rPrp.getMergedWPrp();
this.CtrPrp.Merge(gPrp);
for(var i=0; i < this.nRow; i++)
for(var j = 0; j < this.nCol; j++)
......
......@@ -93,8 +93,8 @@ CBorderBox.prototype.draw = function(x, y, pGraphics)
if(this.bTop)
{
var x1 = this.pos.x + x,
x2 = this.pos.x + x + this.size.width - penW/2,
y1 = this.pos.y + y;
x2 = this.pos.x + x + this.size.width - penW/2,
y1 = this.pos.y + y;
pGraphics.p_color(0,0,0, 255);
pGraphics.drawHorLine(0, y1, x1, x2, penW);
......
......@@ -494,6 +494,10 @@ CNumerator.prototype.getCtrPrp = function()
{
return this.Parent.getCtrPrp();
}
CNumerator.prototype.getRunPrp = function()
{
return this.Parent.getRunPrp();
}
function CDenominator()
{
......@@ -560,6 +564,10 @@ CDenominator.prototype.getCtrPrp = function()
{
return this.Parent.getCtrPrp();
}
CDenominator.prototype.getRunPrp = function()
{
return this.Parent.getRunPrp();
}
//////////
......
This diff is collapsed.
......@@ -238,7 +238,9 @@ CRadical.prototype.recalculateSize = function()
var wTick = this.signRadical.sizeTick.width,
hTick = this.signRadical.sizeTick.height;
var width = degr.width - wTick + sign.width;
var wDegree = degr.width > wTick ? degr.width - wTick : 0;
var width = wDegree + sign.width;
//var width = degr.width - wTick + sign.width;
var txtPrp = this.getCtrPrp();
var plH = 9.877777777777776 * txtPrp.FontSize /36;
......@@ -291,7 +293,10 @@ CRadical.prototype.setPosition = function(pos)
base = this.elements[0][1].size,
sign = this.signRadical.size;
var hDg = degr.height + this.gap + this.signRadical.sizeTick.height;
var wTick = this.signRadical.sizeTick.width,
hTick = this.signRadical.sizeTick.height;
var hDg = degr.height + this.gap + hTick;
this.topDegr = this.size.height - hDg;
var x1 = this.pos.x,
......@@ -299,7 +304,8 @@ CRadical.prototype.setPosition = function(pos)
this.elements[0][0].setPosition({x: x1, y: y1});
var x2 = this.pos.x + degr.width - this.signRadical.sizeTick.width,
var wDegree = degr.width > wTick ? degr.width - wTick : 0;
var x2 = this.pos.x + wDegree,
y2 = this.pos.y + this.size.height - sign.height;
this.signRadical.setPosition({x: x2, y: y2});
......
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