internal override void WriteStyles(StyleWriterMode mode, IRPLStyle style) { string text = style[20] as string; if (text != null) { text = HTML4Renderer.HandleSpecialFontCharacters(text); } WriteStyle(HTML4Renderer.m_fontFamily, text); WriteStyle(HTML4Renderer.m_fontSize, style[21]); object obj = style[22]; string text2 = null; if (obj != null) { text2 = EnumStrings.GetValue((RPLFormat.FontWeights)obj); WriteStyle(HTML4Renderer.m_fontWeight, text2); } obj = style[19]; if (obj != null) { text2 = EnumStrings.GetValue((RPLFormat.FontStyles)obj); WriteStyle(HTML4Renderer.m_fontStyle, text2); } obj = style[24]; if (obj != null) { text2 = EnumStrings.GetValue((RPLFormat.TextDecorations)obj); WriteStyle(HTML4Renderer.m_textDecoration, text2); } WriteStyle(HTML4Renderer.m_color, style[27]); }
public override bool NeedsToWriteNullStyle(StyleWriterMode mode) { RPLParagraph paragraph = this.m_paragraph; switch (mode) { case StyleWriterMode.NonShared: { RPLParagraphProps rPLParagraphProps = paragraph.ElementProps as RPLParagraphProps; if (rPLParagraphProps.LeftIndent == null && rPLParagraphProps.RightIndent == null && rPLParagraphProps.SpaceBefore == null && rPLParagraphProps.SpaceAfter == null && rPLParagraphProps.HangingIndent == null) { RPLStyleProps nonSharedStyle = this.m_textBox.ElementProps.NonSharedStyle; if (!this.m_outputSharedInNonShared) { break; } return(true); } return(true); } case StyleWriterMode.Shared: { if (this.m_outputSharedInNonShared) { return(false); } RPLParagraphPropsDef rPLParagraphPropsDef = paragraph.ElementProps.Definition as RPLParagraphPropsDef; if (rPLParagraphPropsDef.LeftIndent == null && rPLParagraphPropsDef.RightIndent == null && rPLParagraphPropsDef.SpaceBefore == null && rPLParagraphPropsDef.SpaceAfter == null && rPLParagraphPropsDef.HangingIndent == null) { IRPLStyle sharedStyle = this.m_textBox.ElementPropsDef.SharedStyle; if (sharedStyle == null) { break; } if (!HTML4Renderer.IsDirectionRTL(sharedStyle)) { break; } return(true); } return(true); } } return(false); }
private void RenderBookmarkOnClick(string bookmarkLink) { m_pageWithBookmarkLinks = true; WriteStream(" onClick=\""); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("GoVisibleBookmark('"); StringBuilder stringBuilder = new StringBuilder(); HTML4Renderer.QuoteString(stringBuilder, bookmarkLink); WriteAttrEncoded(stringBuilder.ToString()); WriteStream("');return false;"); WriteStream(HTML4Renderer.m_quote); WriteStream(" onkeypress=\""); WriteStream(HTML4Renderer.m_checkForEnterKey); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("GoVisibleBookmark('"); WriteAttrEncoded(stringBuilder.ToString()); WriteStream("');return false;}\""); }
public void FixIndents(ref RPLReportSize leftIndent, ref RPLReportSize rightIndent, ref RPLReportSize spaceBefore, ref RPLReportSize spaceAfter, RPLReportSize hangingIndent) { RPLTextBoxProps rPLTextBoxProps = this.m_textBox.ElementProps as RPLTextBoxProps; if (HTML4Renderer.IsDirectionRTL(rPLTextBoxProps.Style)) { rightIndent = this.FixHangingIndent(rightIndent, hangingIndent); } else { leftIndent = this.FixHangingIndent(leftIndent, hangingIndent); } object obj = rPLTextBoxProps.Style[30]; if (base.m_renderer.IsBrowserIE && obj != null && HTML4Renderer.IsWritingModeVertical((RPLFormat.WritingModes)obj)) { RPLReportSize rPLReportSize = leftIndent; leftIndent = spaceAfter; spaceAfter = rightIndent; rightIndent = spaceBefore; spaceBefore = rPLReportSize; } }
public static string GetStyleStreamName(int pageNumber) { return(HTML4Renderer.GetStyleStreamName("STYLESTREAM", pageNumber)); }
internal override string GetStyleStreamUrl() { string styleStreamName = HTML4Renderer.GetStyleStreamName(m_rplReport.ReportName, m_pageNum); return("cid:" + styleStreamName); }
private void RenderFinalScript() { if (!m_deviceInfo.AllowScript) { return; } WriteStream("<script language=\"javascript\" type=\"text/javascript\">"); WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("//<![CDATA["); WriteStream(HTML4Renderer.m_standardLineBreak); if (HasFindStringScript) { WriteStream("window.location.replace('#oHit0');"); } if (HasInteractiveScript) { if (m_report.ShowHideToggle != null && m_deviceInfo.IsBrowserIE) { WriteStream("var "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("showHideId=\""); StringBuilder stringBuilder = new StringBuilder(); HTML4Renderer.QuoteString(stringBuilder, m_deviceInfo.HtmlPrefixId + m_report.ShowHideToggle); WriteStreamEncoded(stringBuilder.ToString()); WriteStream(HTML4Renderer.m_quote); WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("function "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("GoToShowHideToggle(){if (document.getElementById("); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("showHideId) != null)window.location.replace(\"#\"+ "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("showHideId);}"); WriteStream(HTML4Renderer.m_standardLineBreak); } if (m_pageWithSortClicks) { WriteStream("var "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("sortUrlBase=\""); StringBuilder stringBuilder2 = new StringBuilder(); HTML4Renderer.QuoteString(stringBuilder2, BuildAbsoluteBookmarkOrSortBaseUrl(isSort: true)); WriteStream(stringBuilder2.ToString()); WriteStream(HTML4Renderer.m_quote); WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("var "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("sortDirection=\"&rs:"); WriteStream("SortDirection"); WriteStream("="); WriteStream(HTML4Renderer.m_quote); WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("var "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("clearSort=\"&rs:"); WriteStream("ClearSort"); WriteStream("="); WriteStream(HTML4Renderer.m_quote); WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("function "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("Sort(id, direction){var clear=true;"); WriteStream("if (window.event && window.event.shiftKey) clear=false;"); WriteStream("var sortUrl="); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("sortUrlBase + id + "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("sortDirection + direction + "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("clearSort;"); WriteStream("if (clear) "); WriteStream("window.location.replace(sortUrl + \"True\");"); WriteStream("else "); WriteStream("window.location.replace(sortUrl + \"False\");}"); } if (m_report.SortItem != null) { WriteStream("var "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("sortId=\""); StringBuilder stringBuilder3 = new StringBuilder(); HTML4Renderer.QuoteString(stringBuilder3, m_deviceInfo.HtmlPrefixId + m_report.SortItem); WriteStreamEncoded(stringBuilder3.ToString()); WriteStream(HTML4Renderer.m_quote); WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("function "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("GoToSortItem(){if (document.getElementById("); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("sortId) != null)window.location.replace(\"#\"+ "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("sortId);}"); WriteStream(HTML4Renderer.m_standardLineBreak); } if (m_report.HasBookmarks || m_deviceInfo.NavigationId != null) { WriteStream("function "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("GoToBookmark(id){window.location.replace(\"#\"+id);}"); WriteStream(HTML4Renderer.m_standardLineBreak); if (m_pageWithBookmarkLinks) { if (m_pageBookmarks == null || m_pageBookmarks.Count < 1) { WriteStream("var "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("bookmarkIds = [];"); } else { WriteStream("var "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("bookmarkIds = new Array(" + m_pageBookmarks.Count + ");"); ICollection keys = m_pageBookmarks.Keys; foreach (string item in keys) { WriteStream(m_deviceInfo.JavascriptPrefixId + "bookmarkIds[\"" + item + "\"] = \"" + m_pageBookmarks[item] + "\";"); } } WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("var "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("bookmarkUrlBase=\""); StringBuilder stringBuilder4 = new StringBuilder(); HTML4Renderer.QuoteString(stringBuilder4, BuildAbsoluteBookmarkOrSortBaseUrl(isSort: false)); WriteStream(stringBuilder4.ToString()); WriteStream(HTML4Renderer.m_quote); WriteStream(";"); WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("function "); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("GoVisibleBookmark(idLink){if ("); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("bookmarkIds == null) return;"); WriteStream("var isHref=true;"); WriteStream("if (bookmarkIds[idLink] != null) {"); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("GoToBookmark(bookmarkIds[idLink]);}"); WriteStream("else{window.location.replace("); WriteStream(m_deviceInfo.JavascriptPrefixId); WriteStream("bookmarkUrlBase + '&rc:BookmarkId=' + idLink);}}"); } } } WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream(HTMLRendererResources.GetBytes("Common.js")); WriteStream(HTML4Renderer.m_standardLineBreak); RenderFitProportionalScript(); RenderFixedHeaderScripts(); if (m_needsCanGrowFalseScript) { WriteStream(HTMLRendererResources.GetBytes("CanGrowFalse.js")); } if (m_emitImageConsolidationScaling) { WriteStream(HTMLRendererResources.GetBytes("ImageConsolidation.js")); } WriteStream("//]]>"); WriteStream(HTML4Renderer.m_standardLineBreak); WriteStream("</script>"); }
internal virtual string GetStyleStreamUrl() { string styleStreamName = HTML4Renderer.GetStyleStreamName(m_rplReport.ReportName, m_pageNum); return(m_report.GetStreamUrl(useSessionId: true, styleStreamName)); }
public override void Render(HtmlTextWriter outputWriter) { m_encoding = outputWriter.Encoding; m_mainStream = Utility.CreateBufferedStream(outputWriter); if (!m_onlyVisibleStyles) { string styleStreamName = HTML4Renderer.GetStyleStreamName(m_rplReport.ReportName, m_pageNum); Stream stream = m_createAndRegisterStreamCallback(styleStreamName, "css", Encoding.UTF8, "text/css", willSeek: false, StreamOper.CreateAndRegister); ROMReport rOMReport = m_report as ROMReport; if (rOMReport != null) { HTMLStyleRenderer hTMLStyleRenderer = new HTMLStyleRenderer(rOMReport.Report, m_createAndRegisterStreamCallback, m_deviceInfo, this); hTMLStyleRenderer.Render(stream); } stream.Flush(); m_styleStream = stream; } else if (!m_useInlineStyle) { string styleStreamName2 = HTML4Renderer.GetStyleStreamName(m_rplReport.ReportName, m_pageNum); StreamOper operation = StreamOper.CreateOnly; if (m_deviceInfo.StyleStream) { operation = StreamOper.CreateAndRegister; } Stream stream2 = m_createAndRegisterStreamCallback(styleStreamName2, "css", Encoding.UTF8, "text/css", willSeek: false, operation); m_styleStream = new BufferedStream(stream2); } if (!m_deviceInfo.HTMLFragment) { WriteStream(HTMLElements.Html40DocType); Stream mainStream = m_mainStream; Stream stream3 = m_mainStream = new BufferedStream(m_createAndRegisterStreamCallback("BODY", "html", null, null, willSeek: true, StreamOper.CreateOnly)); RenderHtmlBody(); RenderSecondaryStreamSpanTagsForJavascriptFunctions(); WriteStream(HTML4Renderer.m_closeBody); m_mainStream = mainStream; stream3.Flush(); WriteStream(HTML4Renderer.m_openHtml); WriteStreamLineBreak(); WriteStream(HTML4Renderer.m_openHead); WriteStream(HTML4Renderer.m_openTitle); WriteStream(HttpUtility.HtmlEncode(m_rplReport.ReportName)); WriteStream(HTML4Renderer.m_closeTitle); WriteStreamLineBreak(); WriteStreamCR("<META http-equiv=\"Content-Type\" content=\"text/html; charset=" + outputWriter.Encoding.BodyName + "\"/>"); WriteStreamCR("<META http-equiv=\"Content-Style-Type\" content=\"text/css\"/>"); WriteStreamCR("<META http-equiv=\"Content-Script-Type\" content=\"text/javascript\"/>"); if (!m_isMHTML) { WriteStreamCR(HTMLElements.Ie5ContentType); } RenderHead(); RenderFinalScript(); WriteStream(HTML4Renderer.m_closeHead); WriteStream(HTML4Renderer.m_openBody); if (m_deviceInfo.AllowScript) { StringBuilder stringBuilder = new StringBuilder(); if (base.NeedResizeImages) { stringBuilder.Append(m_deviceInfo.JavascriptPrefixId); stringBuilder.Append("ResizeImages();"); } if (m_deviceInfo.NavigationId != null) { stringBuilder.Append(m_deviceInfo.JavascriptPrefixId); stringBuilder.Append("GoToBookmark("); stringBuilder.Append(m_deviceInfo.NavigationId); stringBuilder.Append(");"); } if (m_report.SortItem != null) { stringBuilder.Append(m_deviceInfo.JavascriptPrefixId); stringBuilder.Append("GoToSortItem();"); } if (m_report.ShowHideToggle != null) { stringBuilder.Append(m_deviceInfo.JavascriptPrefixId); stringBuilder.Append("GoToShowHideToggle();"); } if (m_emitImageConsolidationScaling) { stringBuilder.Append("Microsoft_ReportingServices_HTMLRenderer_ScaleImageConsolidation('"); stringBuilder.Append(m_deviceInfo.HtmlPrefixId); stringBuilder.Append("');"); stringBuilder.Append("Microsoft_ReportingServices_HTMLRenderer_ScaleImageForFit('"); stringBuilder.Append(m_deviceInfo.HtmlPrefixId); stringBuilder.Append("');"); } bool hasFixedHeader = HasFixedHeader; if (m_deviceInfo.IsBrowserGeckoEngine && hasFixedHeader) { stringBuilder.Append(m_deviceInfo.JavascriptPrefixId + "CreateFixedHeaders();"); } if (m_needsCanGrowFalseScript) { stringBuilder.Append("Microsoft_ReportingServices_HTMLRenderer_GrowTablixTextBoxes();"); } if (m_needsGrowRectangleScript) { stringBuilder.Append("Microsoft_ReportingServices_HTMLRenderer_GrowRectangles('"); stringBuilder.Append(m_deviceInfo.HtmlPrefixId); stringBuilder.Append("'"); stringBuilder.Append(","); stringBuilder.Append("'"); stringBuilder.Append(m_deviceInfo.HtmlPrefixId); stringBuilder.Append("oReportDiv"); stringBuilder.Append("');"); } if (m_needsFitVertTextScript) { stringBuilder.Append("Microsoft_ReportingServices_HTMLRenderer_FitVertText('"); stringBuilder.Append(m_deviceInfo.HtmlPrefixId); stringBuilder.Append("'"); stringBuilder.Append(","); stringBuilder.Append("'"); stringBuilder.Append(m_deviceInfo.HtmlPrefixId); stringBuilder.Append("oReportDiv"); stringBuilder.Append("');"); } if (stringBuilder.Length > 0) { WriteStream(string.Concat(" onload=\"", stringBuilder, "\"")); } if (hasFixedHeader && !m_isMHTML && m_hasOnePage) { WriteStream(" onscroll=\"" + m_deviceInfo.JavascriptPrefixId + "CreateFixedHeaders()\""); WriteStream(" onresize=\"" + m_deviceInfo.JavascriptPrefixId + "CreateFixedHeaders()\" "); } } RenderBodyTagStyle(); WriteStream(HTML4Renderer.m_closeBracket); m_mainStream.Flush(); stream3.Seek(0L, SeekOrigin.Begin); Utility.CopyStream(stream3, m_mainStream); stream3.Close(); stream3 = null; WriteStream(HTML4Renderer.m_closeHtml); m_mainStream.Flush(); } else { Stream mainStream2 = m_mainStream; Stream stream4 = m_mainStream = new BufferedStream(m_createAndRegisterStreamCallback("BODY", "html", null, null, willSeek: true, StreamOper.CreateOnly)); RenderHtmlBody(); RenderFinalScript(); stream4.Flush(); m_mainStream = mainStream2; RenderHead(); stream4.Seek(0L, SeekOrigin.Begin); Utility.CopyStream(stream4, m_mainStream); m_mainStream.Flush(); } }
public override void WriteStyles(StyleWriterMode mode, IRPLStyle style) { RPLParagraph paragraph = this.m_paragraph; RPLTextBox textBox = this.m_textBox; RPLTextBoxProps rPLTextBoxProps = textBox.ElementProps as RPLTextBoxProps; if (paragraph != null) { RPLParagraphProps rPLParagraphProps = paragraph.ElementProps as RPLParagraphProps; RPLParagraphPropsDef rPLParagraphPropsDef = rPLParagraphProps.Definition as RPLParagraphPropsDef; RPLReportSize rPLReportSize = null; RPLReportSize rPLReportSize2 = null; RPLReportSize rPLReportSize3 = null; RPLReportSize rPLReportSize4 = null; RPLReportSize rPLReportSize5 = null; switch (mode) { case StyleWriterMode.All: rPLReportSize = rPLParagraphProps.HangingIndent; if (rPLReportSize == null) { rPLReportSize = rPLParagraphPropsDef.HangingIndent; } rPLReportSize2 = rPLParagraphProps.LeftIndent; if (rPLReportSize2 == null) { rPLReportSize2 = rPLParagraphPropsDef.LeftIndent; } rPLReportSize3 = rPLParagraphProps.RightIndent; if (rPLReportSize3 == null) { rPLReportSize3 = rPLParagraphPropsDef.RightIndent; } rPLReportSize4 = rPLParagraphProps.SpaceBefore; if (rPLReportSize4 == null) { rPLReportSize4 = rPLParagraphPropsDef.SpaceBefore; } rPLReportSize5 = rPLParagraphProps.SpaceAfter; if (rPLReportSize5 == null) { rPLReportSize5 = rPLParagraphPropsDef.SpaceAfter; } break; case StyleWriterMode.NonShared: { RPLStyleProps nonSharedStyle = this.m_textBox.ElementProps.NonSharedStyle; rPLReportSize = rPLParagraphProps.HangingIndent; rPLReportSize3 = rPLParagraphProps.RightIndent; rPLReportSize2 = rPLParagraphProps.LeftIndent; rPLReportSize5 = rPLParagraphProps.SpaceAfter; rPLReportSize4 = rPLParagraphProps.SpaceBefore; if (this.m_outputSharedInNonShared) { if (rPLReportSize == null) { rPLReportSize = rPLParagraphPropsDef.HangingIndent; } if (rPLReportSize3 == null) { rPLReportSize3 = rPLParagraphPropsDef.RightIndent; } if (rPLReportSize2 == null) { rPLReportSize2 = rPLParagraphPropsDef.LeftIndent; } if (rPLReportSize5 == null) { rPLReportSize5 = rPLParagraphPropsDef.SpaceAfter; } if (rPLReportSize4 == null) { rPLReportSize4 = rPLParagraphPropsDef.SpaceBefore; } } else { bool flag = HTML4Renderer.IsDirectionRTL(this.m_textBox.ElementProps.Style); if (rPLReportSize == null) { if (flag) { if (rPLReportSize3 != null) { rPLReportSize = rPLParagraphPropsDef.HangingIndent; } } else if (rPLReportSize2 != null) { rPLReportSize = rPLParagraphPropsDef.HangingIndent; } } else if (flag) { if (rPLReportSize3 == null) { rPLReportSize3 = rPLParagraphPropsDef.RightIndent; } } else if (rPLReportSize2 == null) { rPLReportSize2 = rPLParagraphPropsDef.LeftIndent; } } break; } case StyleWriterMode.Shared: { RPLStyleProps sharedStyle = this.m_textBox.ElementPropsDef.SharedStyle; rPLReportSize = rPLParagraphPropsDef.HangingIndent; rPLReportSize2 = rPLParagraphPropsDef.LeftIndent; rPLReportSize3 = rPLParagraphPropsDef.RightIndent; rPLReportSize4 = rPLParagraphPropsDef.SpaceBefore; rPLReportSize5 = rPLParagraphPropsDef.SpaceAfter; break; } } if (this.m_currentListLevel > 0 && rPLReportSize != null && rPLReportSize.ToMillimeters() < 0.0 && !base.m_renderer.IsBrowserIE) { rPLReportSize = null; } if (this.m_mode != Mode.ParagraphOnly) { this.FixIndents(ref rPLReportSize2, ref rPLReportSize3, ref rPLReportSize4, ref rPLReportSize5, rPLReportSize); bool flag2 = HTML4Renderer.IsWritingModeVertical(rPLTextBoxProps.Style); if (flag2 && base.m_renderer.IsBrowserIE) { base.WriteStyle(HTML4Renderer.m_paddingLeft, rPLReportSize2); } else { base.WriteStyle(HTML4Renderer.m_marginLeft, rPLReportSize2); } base.WriteStyle(HTML4Renderer.m_marginRight, rPLReportSize3); base.WriteStyle(HTML4Renderer.m_marginTop, rPLReportSize4); if (flag2 && base.m_renderer.IsBrowserIE) { base.WriteStyle(HTML4Renderer.m_marginBottom, rPLReportSize5); } else { base.WriteStyle(HTML4Renderer.m_paddingBottom, rPLReportSize5); } } if (this.m_mode == Mode.ListOnly) { base.WriteStyle(HTML4Renderer.m_fontFamily, "Arial"); base.WriteStyle(HTML4Renderer.m_fontSize, "10pt"); } else if (rPLReportSize != null && rPLReportSize.ToMillimeters() < 0.0) { base.WriteStyle(HTML4Renderer.m_textIndent, rPLReportSize); } } if (style != null) { if (this.m_mode != Mode.All && this.m_mode != Mode.ParagraphOnly) { return; } object obj = style[25]; if (obj != null || mode != 0) { RPLFormat.TextAlignments textAlignments = RPLFormat.TextAlignments.General; if (obj != null) { textAlignments = (RPLFormat.TextAlignments)obj; } if (textAlignments == RPLFormat.TextAlignments.General) { bool flag3 = HTML4Renderer.GetTextAlignForType(rPLTextBoxProps); if (HTML4Renderer.IsDirectionRTL(rPLTextBoxProps.Style)) { flag3 = ((byte)((!flag3) ? 1 : 0) != 0); } base.WriteStream(HTML4Renderer.m_textAlign); if (flag3) { base.WriteStream(HTML4Renderer.m_rightValue); } else { base.WriteStream(HTML4Renderer.m_leftValue); } base.WriteStream(HTML4Renderer.m_semiColon); } else { base.WriteStyle(HTML4Renderer.m_textAlign, EnumStrings.GetValue(textAlignments), null); } } base.WriteStyle(HTML4Renderer.m_lineHeight, style[28]); } }
internal override void WriteStyles(StyleWriterMode mode, IRPLStyle style) { RPLParagraph paragraph = m_paragraph; RPLTextBox textBox = m_textBox; RPLTextBoxProps rPLTextBoxProps = textBox.ElementProps as RPLTextBoxProps; if (paragraph != null) { RPLParagraphProps rPLParagraphProps = paragraph.ElementProps as RPLParagraphProps; RPLParagraphPropsDef rPLParagraphPropsDef = rPLParagraphProps.Definition as RPLParagraphPropsDef; RPLReportSize rPLReportSize = null; RPLReportSize leftIndent = null; RPLReportSize rightIndent = null; RPLReportSize spaceBefore = null; RPLReportSize spaceAfter = null; IRPLStyle iRPLStyle = null; switch (mode) { case StyleWriterMode.All: rPLReportSize = rPLParagraphProps.HangingIndent; if (rPLReportSize == null) { rPLReportSize = rPLParagraphPropsDef.HangingIndent; } leftIndent = rPLParagraphProps.LeftIndent; if (leftIndent == null) { leftIndent = rPLParagraphPropsDef.LeftIndent; } rightIndent = rPLParagraphProps.RightIndent; if (rightIndent == null) { rightIndent = rPLParagraphPropsDef.RightIndent; } spaceBefore = rPLParagraphProps.SpaceBefore; if (spaceBefore == null) { spaceBefore = rPLParagraphPropsDef.SpaceBefore; } spaceAfter = rPLParagraphProps.SpaceAfter; if (spaceAfter == null) { spaceAfter = rPLParagraphPropsDef.SpaceAfter; } break; case StyleWriterMode.NonShared: { iRPLStyle = m_textBox.ElementProps.NonSharedStyle; rPLReportSize = rPLParagraphProps.HangingIndent; rightIndent = rPLParagraphProps.RightIndent; leftIndent = rPLParagraphProps.LeftIndent; spaceAfter = rPLParagraphProps.SpaceAfter; spaceBefore = rPLParagraphProps.SpaceBefore; if (m_outputSharedInNonShared) { if (rPLReportSize == null) { rPLReportSize = rPLParagraphPropsDef.HangingIndent; } if (rightIndent == null) { rightIndent = rPLParagraphPropsDef.RightIndent; } if (leftIndent == null) { leftIndent = rPLParagraphPropsDef.LeftIndent; } if (spaceAfter == null) { spaceAfter = rPLParagraphPropsDef.SpaceAfter; } if (spaceBefore == null) { spaceBefore = rPLParagraphPropsDef.SpaceBefore; } break; } bool flag = HTML4Renderer.IsDirectionRTL(m_textBox.ElementProps.Style); if (rPLReportSize == null) { if (flag) { if (rightIndent != null) { rPLReportSize = rPLParagraphPropsDef.HangingIndent; } } else if (leftIndent != null) { rPLReportSize = rPLParagraphPropsDef.HangingIndent; } } else if (flag) { if (rightIndent == null) { rightIndent = rPLParagraphPropsDef.RightIndent; } } else if (leftIndent == null) { leftIndent = rPLParagraphPropsDef.LeftIndent; } break; } case StyleWriterMode.Shared: iRPLStyle = m_textBox.ElementPropsDef.SharedStyle; rPLReportSize = rPLParagraphPropsDef.HangingIndent; leftIndent = rPLParagraphPropsDef.LeftIndent; rightIndent = rPLParagraphPropsDef.RightIndent; spaceBefore = rPLParagraphPropsDef.SpaceBefore; spaceAfter = rPLParagraphPropsDef.SpaceAfter; break; } if (m_currentListLevel > 0 && rPLReportSize != null && rPLReportSize.ToMillimeters() < 0.0 && !m_renderer.IsBrowserIE) { rPLReportSize = null; } if (m_mode != Mode.ParagraphOnly) { FixIndents(ref leftIndent, ref rightIndent, ref spaceBefore, ref spaceAfter, rPLReportSize); bool flag2 = HTML4Renderer.IsWritingModeVertical(rPLTextBoxProps.Style); if (flag2 && m_renderer.IsBrowserIE) { WriteStyle(HTML4Renderer.m_paddingLeft, leftIndent); } else { WriteStyle(HTML4Renderer.m_marginLeft, leftIndent); } WriteStyle(HTML4Renderer.m_marginRight, rightIndent); WriteStyle(HTML4Renderer.m_marginTop, spaceBefore); if (flag2 && m_renderer.IsBrowserIE) { WriteStyle(HTML4Renderer.m_marginBottom, spaceAfter); } else { WriteStyle(HTML4Renderer.m_paddingBottom, spaceAfter); } } if (m_mode == Mode.ListOnly) { WriteStyle(HTML4Renderer.m_fontFamily, "Arial"); WriteStyle(HTML4Renderer.m_fontSize, "10pt"); } else if (rPLReportSize != null && rPLReportSize.ToMillimeters() < 0.0) { WriteStyle(HTML4Renderer.m_textIndent, rPLReportSize); } } if (style == null || (m_mode != Mode.All && m_mode != Mode.ParagraphOnly)) { return; } object obj = style[25]; if (obj != null || mode != 0) { RPLFormat.TextAlignments textAlignments = RPLFormat.TextAlignments.General; if (obj != null) { textAlignments = (RPLFormat.TextAlignments)obj; } if (textAlignments == RPLFormat.TextAlignments.General) { bool flag3 = HTML4Renderer.GetTextAlignForType(rPLTextBoxProps); if (HTML4Renderer.IsDirectionRTL(rPLTextBoxProps.Style)) { flag3 = ((!flag3) ? true : false); } WriteStream(HTML4Renderer.m_textAlign); if (flag3) { WriteStream(HTML4Renderer.m_rightValue); } else { WriteStream(HTML4Renderer.m_leftValue); } WriteStream(HTML4Renderer.m_semiColon); } else { WriteStyle(HTML4Renderer.m_textAlign, EnumStrings.GetValue(textAlignments), null); } } WriteStyle(HTML4Renderer.m_lineHeight, style[28]); }