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

Bug 23982 - Не применяется Font Color

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@55876 954022d7-b5bf-4e40-9824-e11837661b57
parent f4e63aee
......@@ -879,6 +879,7 @@ var historyitem_ParaRun_Lang_Bidi = 26; // �������� ��
var historyitem_ParaRun_Lang_EastAsia = 27; // �������� ��������� �����
var historyitem_ParaRun_Lang_Val = 28; // �������� ��������� �����
var historyitem_ParaRun_TextPr = 29; // �������� ��� ��������� �������
var historyitem_ParaRun_Unifill = 30; // �������� ��� ��������� �������
// Типы изменений в классе ParaTextPr
var historyitem_TextPr_Change = 1; // Изменяем настройку
......@@ -908,6 +909,7 @@ var historyitem_TextPr_RFonts_Hint = 24; // Изменяем настрой
var historyitem_TextPr_Lang_Bidi = 25; // Изменяем настройку языка
var historyitem_TextPr_Lang_EastAsia = 26; // Изменяем настройку языка
var historyitem_TextPr_Lang_Val = 27; // Изменяем настройку языка
var historyitem_TextPr_Unifill = 28; // Изменяем настройку языка
// Типы изменений в классе ParaDrawing
var historyitem_Drawing_Size = 1; // Изменяем размер картинки
......
......@@ -4126,7 +4126,7 @@ CUniFill.prototype =
{
writeDouble(w, this.transparent);
if(this.fill)
this.fill.Write_ToBinary();
this.fill.Write_ToBinary(w);
},
Read_FromBinary: function(r)
......
......@@ -7174,11 +7174,19 @@ Paragraph.prototype =
X_start = X - NumberingItem.WidthNum / 2;
NumTextPr.Unifill.check(PDSE.Theme, PDSE.ColorMap);
var RGBA = NumTextPr.Unifill.getRGBAColor();
var RGBA ;
if(NumTextPr.Unifill)
{
RGBA = NumTextPr.Unifill.getRGBAColor();
pGraphics.b_color1(RGBA.R, RGBA.G, RGBA.B, 255 );
}
else
{
if ( true === NumTextPr.Color.Auto )
pGraphics.b_color1( AutoColor.r, AutoColor.g, AutoColor.b, 255);
else
pGraphics.b_color1(RGBA.R, RGBA.G, RGBA.B, 255 );
pGraphics.b_color1(NumTextPr.Color.r, NumTextPr.Color.g, NumTextPr.Color.b, 255 );
}
// Рисуется только сам символ нумерации
switch ( NumJc )
......@@ -7229,11 +7237,18 @@ Paragraph.prototype =
}
if ( true === NumTextPr.Strikeout || true === NumTextPr.Underline )
{
if(NumTextPr.Unifill)
{
pGraphics.p_color( RGBA.R, RGBA.G, RGBA.B, 255 );
}
else
{
if ( true === NumTextPr.Color.Auto )
pGraphics.p_color( AutoColor.r, AutoColor.g, AutoColor.b, 255);
else
pGraphics.p_color( RGBA.R, RGBA.G, RGBA.B, 255 );
pGraphics.p_color( NumTextPr.Color.r, NumTextPr.Color.g, NumTextPr.Color.b, 255 );
}
}
if ( true === NumTextPr.Strikeout )
......
......@@ -549,6 +549,11 @@ ParaTextPr.prototype =
if ( undefined != TextPr.Lang )
this.Set_Lang( TextPr.Lang );
if(undefined != TextPr.Unifill)
{
this.Set_Unifill(TextPr.Unifill.createDuplicate());
}
},
Clear_Style : function()
......@@ -960,6 +965,16 @@ ParaTextPr.prototype =
History.Add( this, { Type : historyitem_TextPr_Lang_Val, New : Value, Old : OldValue } );
},
Set_Unifill : function(Value)
{
if ( undefined != Value )
this.Value.Unifill = Value;
else
this.Value.Unifill = undefined;
History.Add(this, {Type: historyitem_TextPr_Unifill, New: Value, Old: this.Value.Unifill});
},
//-----------------------------------------------------------------------------------
// Undo/Redo функции
//-----------------------------------------------------------------------------------
......@@ -1227,6 +1242,15 @@ ParaTextPr.prototype =
break;
}
case historyitem_TextPr_Unifill:
{
if ( undefined != Data.Old )
this.Value.Unifill = Data.Old;
else
this.Value.Unifill = undefined;
break;
}
}
},
......@@ -1502,6 +1526,15 @@ ParaTextPr.prototype =
break;
}
case historyitem_TextPr_Unifill:
{
if ( undefined != Data.New )
this.Value.Unifill = Data.New;
else
this.Value.Unifill = undefined;
break;
}
}
},
......@@ -1628,6 +1661,7 @@ ParaTextPr.prototype =
}
case historyitem_TextPr_Color:
case historyitem_TextPr_Unifill:
{
// Bool : IsUndefined
// Variable : Color (CDocumentColor)
......@@ -1959,6 +1993,19 @@ ParaTextPr.prototype =
break;
}
case historyitem_TextPr_Unifill:
{
if ( true != Reader.GetBool() )
{
var unifill = new CUniFill();
unifill.Read_FromBinary(r);
this.Value.Unifill = unifill;
}
else
this.Value.Unifill = undefined;
break;
}
case historyitem_TextPr_VertAlign:
{
// Bool : IsUndefined
......
......@@ -656,10 +656,15 @@ ParaRun.prototype =
Para.DrawingDocument.SetTargetSize( Height );
var RGBA;
if(CurTextPr.Unifill)
{
CurTextPr.Unifill.check(Para.Get_Theme(), Para.Get_ColorMap());
var RGBA = CurTextPr.Unifill.getRGBAColor();
RGBA = CurTextPr.Unifill.getRGBAColor();
Para.DrawingDocument.SetTargetColor( RGBA.R, RGBA.G, RGBA.B );
}
else
{
if ( true === CurTextPr.Color.Auto )
{
// Выясним какая заливка у нашего текста
......@@ -680,7 +685,8 @@ ParaRun.prototype =
Para.DrawingDocument.SetTargetColor( AutoColor.r, AutoColor.g, AutoColor.b );
}
else
Para.DrawingDocument.SetTargetColor( RGBA.R, RGBA.G, RGBA.B );
Para.DrawingDocument.SetTargetColor( CurTextPr.Color.r, CurTextPr.Color.g, CurTextPr.Color.b );
}
var TargetY = Y - Ascender - CurTextPr.Position;
switch( CurTextPr.VertAlign )
......@@ -2925,16 +2931,29 @@ ParaRun.prototype =
var CurTextPr = this.Get_CompiledPr( false );
pGraphics.SetTextPr( CurTextPr, Theme );
var RGBA;
if(CurTextPr.Unifill)
{
CurTextPr.Unifill.check(PDSE.Theme, PDSE.ColorMap);
var RGBA = CurTextPr.Unifill.getRGBAColor();
RGBA = CurTextPr.Unifill.getRGBAColor();
if ( true === PDSE.VisitedHyperlink )
pGraphics.b_color1( 128, 0, 151, 255 );
else
{
pGraphics.b_color1( RGBA.R, RGBA.G, RGBA.B, RGBA.A);
}
}
else
{
if ( true === PDSE.VisitedHyperlink )
pGraphics.b_color1( 128, 0, 151, 255 );
else if ( true === CurTextPr.Color.Auto )
pGraphics.b_color1( AutoColor.r, AutoColor.g, AutoColor.b, 255);
else
{
pGraphics.b_color1( RGBA.R, RGBA.G, RGBA.B, RGBA.A);
pGraphics.b_color1( CurTextPr.Color.r, CurTextPr.Color.g, CurTextPr.Color.b, 255);
}
}
for ( var Pos = StartPos; Pos < EndPos; Pos++ )
......@@ -2980,6 +2999,13 @@ ParaRun.prototype =
{
pGraphics.SetTextPr( CurTextPr, Theme );
if(RGBA)
{
pGraphics.b_color1( RGBA.R, RGBA.G, RGBA.B, 255);
pGraphics.p_color( RGBA.R, RGBA.G, RGBA.B, 255);
}
else
{
if ( true === CurTextPr.Color.Auto )
{
pGraphics.b_color1( AutoColor.r, AutoColor.g, AutoColor.b, 255);
......@@ -2987,8 +3013,9 @@ ParaRun.prototype =
}
else
{
pGraphics.b_color1( RGBA.R, RGBA.G, RGBA.B, 255);
pGraphics.p_color( RGBA.R, RGBA.G, RGBA.B, 255);
pGraphics.b_color1( CurTextPr.Color.r, CurTextPr.Color.g, CurTextPr.Color.b, 255);
pGraphics.p_color( CurTextPr.Color.r, CurTextPr.Color.g, CurTextPr.Color.b, 255);
}
}
}
......@@ -3012,14 +3039,20 @@ ParaRun.prototype =
var EndTextPr = Para.Get_CompiledPr2(false).TextPr.Copy();
EndTextPr.Merge(Para.TextPr.Value);
if(EndTextPr.Unifill)
{
EndTextPr.Unifill.check(PDSE.Theme, PDSE.ColorMap);
var RGBAEnd = EndTextPr.Unifill.getRGBAColor();
pGraphics.SetTextPr(EndTextPr, PDSE.Theme);
}
else
{
pGraphics.SetTextPr(EndTextPr, PDSE.Theme);
if (true === EndTextPr.Color.Auto)
pGraphics.b_color1(AutoColor.r, AutoColor.g, AutoColor.b, 255);
else
pGraphics.b_color1(RGBAEnd.R, RGBAEnd.G, RGBAEnd.B, 255);
pGraphics.b_color1(EndTextPr.Color.r, EndTextPr.Color.g, EndTextPr.Color.b, 255);
}
bEnd = true;
var bEndCell = false;
......@@ -4356,6 +4389,9 @@ ParaRun.prototype =
if ( undefined !== TextPr.Color )
this.Set_Color( null === TextPr.Color ? undefined : TextPr.Color );
if ( undefined !== TextPr.Unifill )
this.Set_Unifill( null === TextPr.Unifill ? undefined : TextPr.Unifill );
if ( undefined != TextPr.VertAlign )
this.Set_VertAlign( null === TextPr.VertAlign ? undefined : TextPr.VertAlign );
......@@ -4490,6 +4526,20 @@ ParaRun.prototype =
}
},
Set_Unifill : function(Value)
{
if ( ( undefined === Value && undefined !== this.Pr.Unifill ) || ( Value instanceof CUniFill && ( undefined === this.Pr.Unifill || false === CompareUnifillBool(this.Pr.Unifill, Value) ) ) )
{
var OldValue = this.Pr.Unifill;
this.Pr.Unifill = Value;
History.Add( this, { Type : historyitem_ParaRun_Unifill, New : Value, Old : OldValue } );
this.Recalc_CompiledPr( false );
}
},
Get_Color : function()
{
return this.Get_CompiledPr(false).Color;
......@@ -4911,6 +4961,16 @@ ParaRun.prototype =
break;
}
case historyitem_ParaRun_Unifill:
{
if ( undefined != Data.Old )
this.Pr.Unifill = Data.Old;
else
this.Pr.Unifill = undefined;
this.Recalc_CompiledPr(false);
break;
}
case historyitem_ParaRun_VertAlign:
{
......@@ -5246,6 +5306,16 @@ ParaRun.prototype =
break;
}
case historyitem_ParaRun_Unifill:
{
if ( undefined != Data.New )
this.Pr.Unifill = Data.New;
else
this.Pr.Unifill = undefined;
this.Recalc_CompiledPr(false);
break;
}
case historyitem_ParaRun_VertAlign:
{
......@@ -5603,6 +5673,19 @@ ParaRun.prototype =
break;
}
case historyitem_ParaRun_Unifill:
{
if ( undefined != Data.New )
{
Writer.WriteBool(false);
Data.New.Write_ToBinary( Writer );
}
else
Writer.WriteBool(true);
break;
}
case historyitem_ParaRun_VertAlign:
{
// Bool : IsUndefined
......@@ -5963,6 +6046,24 @@ ParaRun.prototype =
break;
}
case historyitem_ParaRun_Unifill:
{
if ( true != Reader.GetBool() )
{
var unifill = new CUniFill();
unifill.Read_FromBinary(Reader);
this.Pr.Unifill = unifill;
}
else
this.Pr.Unifill = undefined;
this.Recalc_CompiledPr(false);
break;
}
case historyitem_ParaRun_VertAlign:
{
// Bool : IsUndefined
......
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