Commit e7e7de87 authored by Sergey Luzyanin's avatar Sergey Luzyanin Committed by Alexander.Trofimov

copy effectExtent

parent 283315e1
...@@ -4768,6 +4768,11 @@ ParaDrawing.prototype = ...@@ -4768,6 +4768,11 @@ ParaDrawing.prototype =
{ {
c.setExtent(this.Extent.W, this.Extent.H); c.setExtent(this.Extent.W, this.Extent.H);
} }
var EE = this.EffectExtent;
if(EE.L > 0 || EE.T > 0 || EE.R || EE.B)
{
c.setEffectExtent(EE.L, EE.T, EE.R, EE.B);
}
if (this.ParaMath) if (this.ParaMath)
c.Set_ParaMath(this.ParaMath.Copy()); c.Set_ParaMath(this.ParaMath.Copy());
return c; return c;
...@@ -7053,6 +7058,8 @@ ParaDrawing.prototype = ...@@ -7053,6 +7058,8 @@ ParaDrawing.prototype =
c.Set_AllowOverlap(this.AllowOverlap); c.Set_AllowOverlap(this.AllowOverlap);
c.Set_WrappingType(this.wrappingType); c.Set_WrappingType(this.wrappingType);
c.Set_BehindDoc(this.behindDoc); c.Set_BehindDoc(this.behindDoc);
var EE = this.EffectExtent;
c.setEffectExtent(EE.L, EE.T, EE.R, EE.B);
return c; return c;
}, },
...@@ -7445,44 +7452,34 @@ ParaPresentationNumbering.prototype = ...@@ -7445,44 +7452,34 @@ ParaPresentationNumbering.prototype =
/** /**
* Класс представляющий ссылку на сноску. * Класс представляющий ссылку на сноску.
* @param {CFootEndnote} Footnote - Ссылка на сноску. * @param {string} sId - Идентификатор сноски.
* @constructor * @constructor
*/ */
function ParaFootnoteReference(Footnote) function ParaFootnoteReference(sId)
{ {
this.Footnote = Footnote; this.FootnoteId = sId;
this.Width = 0; this.Width = 0;
this.WidthVisible = 0; this.WidthVisible = 0;
this.Number = 1; this.Height = 0;
} }
ParaFootnoteReference.prototype.Type = para_FootnoteReference; ParaFootnoteReference.prototype.Type = para_FootnoteReference;
ParaFootnoteReference.prototype.Get_Type = function() ParaFootnoteReference.prototype.Get_Type = function()
{ {
return para_FootnoteReference; return para_FootnoteReference;
}; };
ParaFootnoteReference.prototype.Draw = function(X, Y, Context, PDSE) ParaFootnoteReference.prototype.Draw = function(X, Y, Context)
{ {
Context.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size); Context.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size);
g_oTextMeasurer.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size); Context.FillTextCode(X, Y, "1".charCodeAt(0));
// TODO: Пока делаем обычный вариант с типом Decimal
var _X = X;
var T = Numbering_Number_To_String(this.Number);
for (var nPos = 0; nPos < T.length; ++nPos)
{
var Char = T.charAt(nPos);
Context.FillText(_X, Y, Char);
_X += g_oTextMeasurer.Measure(Char).Width;
}
// TODO: Надо переделать в отдельную функцию отрисовщика // TODO: Надо переделать в отдельную функцию отрисовщика
if (editor && editor.ShowParaMarks) if (editor && editor.ShowParaMarks)
{ {
if (Context.m_oContext && Context.m_oContext.setLineDash) if (Context.m_oContext && Context.m_oContext.setLineDash)
Context.m_oContext.setLineDash([1, 1]); Context.m_oContext.setLineDash([1,1]);
var l = X, t = PDSE.LineTop, r = X + this.Get_Width(), b = PDSE.BaseLine; var l = X, t = Y - this.Height, r = X + this.Get_Width(), b = Y;
Context.drawHorLineExt(c_oAscLineDrawingRule.Top, t, l, r, 0, 0, 0); Context.drawHorLineExt(c_oAscLineDrawingRule.Top, t, l, r, 0, 0, 0);
Context.drawVerLine(c_oAscLineDrawingRule.Right, l, t, b, 0); Context.drawVerLine(c_oAscLineDrawingRule.Right, l, t, b, 0);
Context.drawVerLine(c_oAscLineDrawingRule.Left, r, t, b, 0); Context.drawVerLine(c_oAscLineDrawingRule.Left, r, t, b, 0);
...@@ -7492,24 +7489,16 @@ ParaFootnoteReference.prototype.Draw = function(X, Y, Context, PDSE) ...@@ -7492,24 +7489,16 @@ ParaFootnoteReference.prototype.Draw = function(X, Y, Context, PDSE)
Context.m_oContext.setLineDash([]); Context.m_oContext.setLineDash([]);
} }
}; };
ParaFootnoteReference.prototype.Measure = function(Context, TextPr) ParaFootnoteReference.prototype.Measure = function(Context, TextPr)
{ {
Context.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size); Context.SetFontSlot(fontslot_ASCII, vertalign_Koef_Size);
var Temp = Context.MeasureCode("1".charCodeAt(0));
// TODO: Пока делаем обычный вариант с типом Decimal var ResultWidth = (Math.max((Temp.Width + TextPr.Spacing), 0) * TEXTWIDTH_DIVIDER) | 0;
var X = 0;
var T = Numbering_Number_To_String(this.Number);
for (var nPos = 0; nPos < T.length; ++nPos)
{
var Char = T.charAt(nPos);
X += Context.Measure(Char).Width;
}
var ResultWidth = (Math.max((X + TextPr.Spacing), 0) * TEXTWIDTH_DIVIDER) | 0;
this.Width = ResultWidth; this.Width = ResultWidth;
this.WidthVisible = ResultWidth; this.WidthVisible = ResultWidth;
this.Height = Temp.Height;
}; };
ParaFootnoteReference.prototype.Get_Width = function() ParaFootnoteReference.prototype.Get_Width = function()
{ {
return (this.Width / TEXTWIDTH_DIVIDER); return (this.Width / TEXTWIDTH_DIVIDER);
}; };
...@@ -7521,7 +7510,7 @@ ParaFootnoteReference.prototype.Set_WidthVisible = function(WidthVisible) ...@@ -7521,7 +7510,7 @@ ParaFootnoteReference.prototype.Set_WidthVisible = function(WidthVisible)
{ {
this.WidthVisible = (WidthVisible * TEXTWIDTH_DIVIDER) | 0; this.WidthVisible = (WidthVisible * TEXTWIDTH_DIVIDER) | 0;
}; };
ParaFootnoteReference.prototype.Is_RealContent = function() ParaFootnoteReference.prototype.Is_RealContent = function()
{ {
return true; return true;
}; };
...@@ -7529,26 +7518,22 @@ ParaFootnoteReference.prototype.Can_AddNumbering = function() ...@@ -7529,26 +7518,22 @@ ParaFootnoteReference.prototype.Can_AddNumbering = function()
{ {
return true; return true;
}; };
ParaFootnoteReference.prototype.Copy = function() ParaFootnoteReference.prototype.Copy = function()
{ {
return new ParaFootnoteReference(sId); return new ParaFootnoteReference(sId);
}; };
ParaFootnoteReference.prototype.Write_ToBinary = function(Writer) ParaFootnoteReference.prototype.Write_ToBinary = function(Writer)
{ {
// Long : Type // Long : Type
// String : FootnoteId // String : FootnoteId
Writer.WriteLong(this.Type); Writer.WriteLong(this.Type);
Writer.WriteString2(this.FootnoteId); Writer.WriteString2(this.FootnoteId);
}; };
ParaFootnoteReference.prototype.Read_FromBinary = function(Reader) ParaFootnoteReference.prototype.Read_FromBinary = function(Reader)
{ {
// String : FootnoteId // String : FootnoteId
this.FootnoteId = Reader.GetString2(); this.FootnoteId = Reader.GetString2();
}; };
ParaFootnoteReference.prototype.Get_Footnote = function()
{
return this.Footnote;
};
function ParagraphContent_Read_FromBinary(Reader) function ParagraphContent_Read_FromBinary(Reader)
......
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