public void RenderReportItem(RPLElement reportItem, RPLItemMeasurement measurement, StyleContext styleContext, ref int borderContext, bool renderId, bool treatAsTopLevel) { RPLElementProps elementProps = reportItem.ElementProps; RPLElementPropsDef definition = elementProps.Definition; this.RenderLine((RPLLine)reportItem, elementProps, (RPLLinePropsDef)definition, measurement, renderId, styleContext); }
public void RenderReportItem(RPLElement reportItem, RPLItemMeasurement measurement, StyleContext styleContext, ref int borderContext, bool renderId, bool treatAsTopLevel) { RPLElementProps elementProps = reportItem.ElementProps; RPLElementPropsDef definition = elementProps.Definition; RenderRectangle((RPLContainer)reportItem, elementProps, definition, measurement, ref borderContext, renderId, styleContext, treatAsTopLevel); }
internal IDisposable EnterSubreport(RPLElementPropsDef subreportDef) { RPLItemPropsDef rPLItemPropsDef = subreportDef as RPLItemPropsDef; SubreportContext subreportContext = new SubreportContext(rPLItemPropsDef.Name, PopSubreport); PushSubreport(subreportContext); return(subreportContext); }
public override void WriteCustomSharedItemProps(RPLElementPropsDef sharedProps, PageContext pageContext) { AspNetCore.ReportingServices.OnDemandReportRendering.SubReport subReport = (AspNetCore.ReportingServices.OnDemandReportRendering.SubReport)base.m_source; if (subReport.ReportName != null) { ((RPLSubReportPropsDef)sharedProps).ReportName = subReport.ReportName; } }
internal override void WriteCustomSharedItemProps(RPLElementPropsDef sharedProps, RPLWriter rplWriter, PageContext pageContext) { Microsoft.ReportingServices.OnDemandReportRendering.SubReport subReport = (Microsoft.ReportingServices.OnDemandReportRendering.SubReport)m_source; if (subReport.ReportName != null) { ((RPLSubReportPropsDef)sharedProps).ReportName = subReport.ReportName; } }
internal override void WriteCustomSharedItemProps(RPLElementPropsDef sharedProps, PageContext pageContext) { Microsoft.ReportingServices.OnDemandReportRendering.Rectangle rectangle = (Microsoft.ReportingServices.OnDemandReportRendering.Rectangle)m_source; ReportItemCollection reportItemCollection = rectangle.ReportItemCollection; if (rectangle.LinkToChild >= 0 && rectangle.LinkToChild < reportItemCollection.Count) { ReportItem reportItem = reportItemCollection[rectangle.LinkToChild]; ((RPLRectanglePropsDef)sharedProps).LinkToChildId = reportItem.ID; } }
public override void WriteCustomSharedItemProps(RPLElementPropsDef sharedProps, PageContext pageContext) { AspNetCore.ReportingServices.OnDemandReportRendering.Rectangle rectangle = (AspNetCore.ReportingServices.OnDemandReportRendering.Rectangle)base.m_source; ReportItemCollection reportItemCollection = rectangle.ReportItemCollection; if (rectangle.LinkToChild >= 0 && rectangle.LinkToChild < reportItemCollection.Count) { ReportItem reportItem = ((ReportElementCollectionBase <ReportItem>)reportItemCollection)[rectangle.LinkToChild]; ((RPLRectanglePropsDef)sharedProps).LinkToChildId = reportItem.ID; } }
public void RenderReportItem(RPLElement reportItem, RPLItemMeasurement measurement, StyleContext styleContext, ref int borderContext, bool renderId, bool treatAsTopLevel) { RPLSubReport rPLSubReport = (RPLSubReport)reportItem; RPLElementProps elementProps = reportItem.ElementProps; RPLElementPropsDef definition = elementProps.Definition; using (html5Renderer.m_reportContext.EnterSubreport(definition)) { if (!styleContext.InTablix || renderId) { styleContext.RenderMeasurements = false; html5Renderer.WriteStream(HTMLElements.m_openDiv); html5Renderer.RenderReportItemStyle(rPLSubReport, elementProps, definition, measurement, styleContext, ref borderContext, definition.ID); if (renderId) { html5Renderer.RenderReportItemId(elementProps.UniqueName); } html5Renderer.WriteStreamCR(HTMLElements.m_closeBracket); } RPLItemMeasurement[] children = rPLSubReport.Children; int num = 0; int num2 = borderContext; bool usePercentWidth = children.Length != 0; int num3 = children.Length; for (int i = 0; i < num3; i++) { if (i == 0 && num3 > 1 && (borderContext & 8) > 0) { num2 &= -9; } else if (i == 1 && (borderContext & 4) > 0) { num2 &= -5; } if (i > 0 && i == num3 - 1 && (borderContext & 8) > 0) { num2 |= 8; } num = num2; RPLItemMeasurement rPLItemMeasurement = children[i]; RPLContainer rPLContainer = (RPLContainer)rPLItemMeasurement.Element; RPLElementProps elementProps2 = rPLContainer.ElementProps; RPLElementPropsDef definition2 = elementProps2.Definition; html5Renderer.m_isBody = true; html5Renderer.m_usePercentWidth = usePercentWidth; new RectangleRenderer(html5Renderer).RenderReportItem(rPLContainer, rPLItemMeasurement, new StyleContext(), ref num, renderId: false, treatAsTopLevel); } if (!styleContext.InTablix || renderId) { html5Renderer.WriteStreamCR(HTMLElements.m_closeDiv); } } }
public override void WriteCustomSharedItemProps(RPLElementPropsDef sharedProps, PageContext pageContext) { AspNetCore.ReportingServices.OnDemandReportRendering.Image image = (AspNetCore.ReportingServices.OnDemandReportRendering.Image)base.m_source; RPLImagePropsDef rPLImagePropsDef = (RPLImagePropsDef)sharedProps; switch (image.Sizing) { case AspNetCore.ReportingServices.OnDemandReportRendering.Image.Sizings.AutoSize: rPLImagePropsDef.Sizing = RPLFormat.Sizings.AutoSize; break; case AspNetCore.ReportingServices.OnDemandReportRendering.Image.Sizings.Clip: rPLImagePropsDef.Sizing = RPLFormat.Sizings.Clip; break; case AspNetCore.ReportingServices.OnDemandReportRendering.Image.Sizings.Fit: rPLImagePropsDef.Sizing = RPLFormat.Sizings.Fit; break; case AspNetCore.ReportingServices.OnDemandReportRendering.Image.Sizings.FitProportional: rPLImagePropsDef.Sizing = RPLFormat.Sizings.FitProportional; break; } }
internal override void WriteCustomSharedItemProps(RPLElementPropsDef sharedProps, RPLWriter rplWriter, PageContext pageContext) { Microsoft.ReportingServices.OnDemandReportRendering.Image obj = (Microsoft.ReportingServices.OnDemandReportRendering.Image)m_source; RPLImagePropsDef rPLImagePropsDef = (RPLImagePropsDef)sharedProps; switch (obj.Sizing) { case Microsoft.ReportingServices.OnDemandReportRendering.Image.Sizings.AutoSize: rPLImagePropsDef.Sizing = RPLFormat.Sizings.AutoSize; break; case Microsoft.ReportingServices.OnDemandReportRendering.Image.Sizings.Clip: rPLImagePropsDef.Sizing = RPLFormat.Sizings.Clip; break; case Microsoft.ReportingServices.OnDemandReportRendering.Image.Sizings.Fit: rPLImagePropsDef.Sizing = RPLFormat.Sizings.Fit; break; case Microsoft.ReportingServices.OnDemandReportRendering.Image.Sizings.FitProportional: rPLImagePropsDef.Sizing = RPLFormat.Sizings.FitProportional; break; } }
internal override void WriteCustomSharedItemProps(RPLElementPropsDef sharedProps, RPLWriter rplWriter, PageContext pageContext) { ((RPLLinePropsDef)sharedProps).Slant = ((Microsoft.ReportingServices.OnDemandReportRendering.Line)m_source).Slant; }
private void FillAndFindOverlap(RPLItemMeasurement[] repItemCollection, double delta) { bool flag = false; int num = -1; int num2 = -1; int colSpan = 0; int rowSpan = 0; int num3 = 0; PageTableCell pageTableCell = null; int num4 = 0; RPLItemMeasurement rPLItemMeasurement = null; RPLElement rPLElement = null; while (num4 < repItemCollection.Length) { num = -1; num2 = -1; flag = false; rPLItemMeasurement = repItemCollection[num4]; if (PageTableLayout.SkipReportItem(rPLItemMeasurement)) { num4++; } else { rPLElement = rPLItemMeasurement.Element; flag = this.FindRItemCell(rPLItemMeasurement, ref num, ref num2, delta); if (!flag && !(rPLElement is RPLLine)) { num4++; } else { RPLLine rPLLine = rPLElement as RPLLine; if (rPLLine != null) { RPLElementPropsDef elementPropsDef = rPLLine.ElementPropsDef; float width = rPLItemMeasurement.Width; if (width >= 0.0 && width < 0.0099999997764825821) { goto IL_00b8; } if (width < 0.0 && width > -0.0099999997764825821) { goto IL_00b8; } width = rPLItemMeasurement.Height; if (width >= 0.0 && width < 0.0099999997764825821) { goto IL_0176; } if (width < 0.0 && width > -0.0099999997764825821) { goto IL_0176; } } num3 = num + this.m_nrCols * num2; pageTableCell = this.m_tableGrid[num3]; if ((pageTableCell.InUse || pageTableCell.Eaten) && rPLElement is RPLLine && rPLItemMeasurement.Width != 0.0 && rPLItemMeasurement.Height != 0.0) { num4++; continue; } this.ComputeColRowSpan(rPLItemMeasurement, num, num2, ref colSpan, ref rowSpan); this.AttachRItem(num, num2, colSpan, rowSpan, rPLItemMeasurement); num4++; } } continue; IL_00b8: if (!flag) { int num5 = 0; bool flag2 = true; while (flag2 && num5 < this.m_nrRows) { if (this.m_tableGrid[num5 * this.m_nrCols].YValue == (float)((double)rPLItemMeasurement.Top - delta)) { num2 = num5; flag2 = false; } num5++; } num = this.m_nrCols - 1; if (!flag2) { this.AttachVerticalBorder(num, num2, rPLItemMeasurement, (RPLLine)rPLElement, false); } } else { this.AttachVerticalBorder(num, num2, rPLItemMeasurement, (RPLLine)rPLElement, true); } num4++; continue; IL_0176: if (!flag) { int num6 = 0; bool flag3 = true; while (flag3 && num6 < this.m_nrCols) { if (this.m_tableGrid[num6].XValue == rPLItemMeasurement.Left) { num = num6; flag3 = false; } num6++; } num2 = this.m_nrRows - 1; this.AttachHorizontalBorder(num, num2, rPLItemMeasurement, (RPLLine)rPLElement, false); } else { this.AttachHorizontalBorder(num, num2, rPLItemMeasurement, (RPLLine)rPLElement, true); } num4++; } }
protected void RenderRectangle(RPLContainer rectangle, RPLElementProps props, RPLElementPropsDef def, RPLItemMeasurement measurement, ref int borderContext, bool renderId, StyleContext styleContext, bool treatAsTopLevel) { RPLItemMeasurement[] children = rectangle.Children; RPLRectanglePropsDef rPLRectanglePropsDef = def as RPLRectanglePropsDef; if (rPLRectanglePropsDef != null && rPLRectanglePropsDef.LinkToChildId != null) { this.html5Renderer.m_linkToChildStack.Push(rPLRectanglePropsDef.LinkToChildId); } bool expandItem = this.html5Renderer.m_expandItem; bool flag = renderId; string text = props.UniqueName; bool flag2 = children == null || children.Length == 0; if (flag2 && styleContext.InTablix) { return; } bool flag3 = this.html5Renderer.m_deviceInfo.OutlookCompat || !this.html5Renderer.m_browserIE || (flag2 && this.html5Renderer.m_usePercentWidth); if (!styleContext.InTablix || renderId) { if (flag3) { this.html5Renderer.WriteStream(HTMLElements.m_openTable); this.html5Renderer.WriteStream(HTMLElements.m_zeroBorder); } else { this.html5Renderer.WriteStream(HTMLElements.m_openDiv); if (this.html5Renderer.m_deviceInfo.IsBrowserIE && this.html5Renderer.m_deviceInfo.AllowScript) { if (!this.needsGrowRectangleScript) { this.CreateGrowRectIdsStream(); } flag = true; if (!renderId) { text = props.UniqueName + "_gr"; } this.html5Renderer.WriteIdToSecondaryStream(this.html5Renderer.m_growRectangleIdsStream, text); } } if (flag) { this.html5Renderer.RenderReportItemId(text); } if (this.html5Renderer.m_isBody) { this.html5Renderer.m_isBody = false; styleContext.RenderMeasurements = false; if (flag2) { this.html5Renderer.OpenStyle(); if (this.html5Renderer.m_usePercentWidth) { this.html5Renderer.RenderMeasurementHeight(measurement.Height); this.html5Renderer.WriteStream(HTMLElements.m_styleWidth); this.html5Renderer.WriteStream(HTMLElements.m_percent); this.html5Renderer.WriteStream(HTMLElements.m_semiColon); } else { this.RenderRectangleMeasurements(measurement, props.Style); } } else if (flag3 && this.html5Renderer.m_usePercentWidth) { this.html5Renderer.OpenStyle(); this.html5Renderer.WriteStream(HTMLElements.m_styleWidth); this.html5Renderer.WriteStream(HTMLElements.m_percent); this.html5Renderer.WriteStream(HTMLElements.m_semiColon); } this.html5Renderer.m_usePercentWidth = false; } if (!styleContext.InTablix) { if (styleContext.RenderMeasurements) { this.html5Renderer.OpenStyle(); this.RenderRectangleMeasurements(measurement, props.Style); } this.html5Renderer.RenderReportItemStyle((RPLElement)rectangle, props, def, measurement, styleContext, ref borderContext, def.ID); } this.html5Renderer.CloseStyle(true); this.html5Renderer.WriteToolTip(props); this.html5Renderer.WriteStreamCR(HTMLElements.m_closeBracket); if (flag3) { this.html5Renderer.WriteStream(HTMLElements.m_firstTD); this.html5Renderer.OpenStyle(); if (flag2) { this.html5Renderer.RenderMeasurementStyle(measurement.Height, measurement.Width); this.html5Renderer.WriteStream(HTMLElements.m_fontSize); this.html5Renderer.WriteStream("1pt"); } else { this.html5Renderer.WriteStream(HTMLElements.m_verticalAlign); this.html5Renderer.WriteStream(HTMLElements.m_topValue); } this.html5Renderer.CloseStyle(true); this.html5Renderer.WriteStream(HTMLElements.m_closeBracket); } } if (flag2) { this.html5Renderer.WriteStream(HTMLElements.m_nbsp); } else { bool inTablix = styleContext.InTablix; styleContext.InTablix = false; flag2 = this.html5Renderer.GenerateHTMLTable(children, measurement.Top, measurement.Left, measurement.Width, measurement.Height, borderContext, expandItem, SharedListLayoutState.None, null, props.Style, treatAsTopLevel); if (inTablix) { styleContext.InTablix = true; } } if (!styleContext.InTablix || renderId) { if (flag3) { this.html5Renderer.WriteStream(HTMLElements.m_lastTD); this.html5Renderer.WriteStream(HTMLElements.m_closeTable); } else { this.html5Renderer.WriteStreamCR(HTMLElements.m_closeDiv); } } if (this.html5Renderer.m_linkToChildStack.Count > 0 && rPLRectanglePropsDef != null && rPLRectanglePropsDef.LinkToChildId != null && rPLRectanglePropsDef.LinkToChildId.Equals(this.html5Renderer.m_linkToChildStack.Peek())) { this.html5Renderer.m_linkToChildStack.Pop(); } }
public override void WriteCustomSharedItemProps(RPLElementPropsDef sharedProps, PageContext pageContext) { ((RPLLinePropsDef)sharedProps).Slant = ((AspNetCore.ReportingServices.OnDemandReportRendering.Line)base.m_source).Slant; }
public void RenderReportItem(RPLElement dynamicImage, RPLItemMeasurement measurement, StyleContext styleContext, ref int borderContext, bool renderId, bool treatAsTopLevel) { RPLElementProps elementProps = dynamicImage.ElementProps; RPLElementPropsDef definition = elementProps.Definition; RPLDynamicImageProps rPLDynamicImageProps = (RPLDynamicImageProps)elementProps; string tooltip = html5Renderer.GetTooltip(rPLDynamicImageProps); if (dynamicImage == null) { return; } bool flag = rPLDynamicImageProps.ActionImageMapAreas != null && rPLDynamicImageProps.ActionImageMapAreas.Length != 0; Rectangle rectangle = RenderDynamicImage(measurement, rPLDynamicImageProps); int xOffset = 0; int yOffset = 0; bool flag2 = !rectangle.IsEmpty; bool flag3 = !html5Renderer.m_deviceInfo.IsBrowserSafari || html5Renderer.m_deviceInfo.AllowScript || !styleContext.InTablix; if (flag3) { html5Renderer.WriteStream(HTMLElements.m_openDiv); if (flag2 && html5Renderer.m_elementExtender.ShouldApplyToElement(treatAsTopLevel)) { WriteReportItemDataName(); } html5Renderer.WriteAccesibilityTags(RenderRes.AccessibleChartLabel, rPLDynamicImageProps, treatAsTopLevel); if (treatAsTopLevel) { string accessibleAriaName = string.IsNullOrEmpty(tooltip) ? RenderRes.AccessibleChartLabel : RenderResWrapper.AccessibleChartNavigationGroupLabel(tooltip); html5Renderer.WriteAriaAccessibleTags(accessibleAriaName); } } bool flag4 = html5Renderer.m_deviceInfo.DataVisualizationFitSizing == DataVisualizationFitSizing.Exact && styleContext.InTablix; if (flag2) { RPLFormat.Sizings sizing = flag4 ? RPLFormat.Sizings.Fit : RPLFormat.Sizings.AutoSize; html5Renderer.WriteOuterConsolidation(rectangle, sizing, rPLDynamicImageProps.UniqueName); html5Renderer.RenderReportItemStyle(dynamicImage, null, ref borderContext); xOffset = rectangle.Left; yOffset = rectangle.Top; } else if (flag4 && html5Renderer.m_deviceInfo.AllowScript) { if (html5Renderer.m_imgFitDivIdsStream == null) { html5Renderer.CreateImgFitDivImageIdsStream(); } html5Renderer.WriteIdToSecondaryStream(html5Renderer.m_imgFitDivIdsStream, rPLDynamicImageProps.UniqueName + "_ifd"); html5Renderer.RenderReportItemId(rPLDynamicImageProps.UniqueName + "_ifd"); } if (flag3) { html5Renderer.WriteStream(HTMLElements.m_closeBracket); } html5Renderer.WriteStream(HTMLElements.m_img); if (html5Renderer.m_elementExtender.ShouldApplyToElement(treatAsTopLevel)) { if (!flag2) { WriteReportItemDataName(); } RPLItemPropsDef rPLItemPropsDef = (RPLItemPropsDef)definition; html5Renderer.WriteAttrEncoded(HTMLElements.m_reportItemCustomAttr, html5Renderer.GetReportItemPath(rPLItemPropsDef.Name)); } if (html5Renderer.m_browserIE) { html5Renderer.WriteStream(HTMLElements.m_imgOnError); } if (renderId) { html5Renderer.RenderReportItemId(rPLDynamicImageProps.UniqueName); } html5Renderer.WriteStream(HTMLElements.m_zeroBorder); bool flag5 = dynamicImage is RPLChart; if (flag) { html5Renderer.WriteAttrEncoded(HTMLElements.m_useMap, "#" + html5Renderer.m_deviceInfo.HtmlPrefixId + HTMLElements.m_mapPrefixString + rPLDynamicImageProps.UniqueName); if (flag4) { html5Renderer.OpenStyle(); if (html5Renderer.m_useInlineStyle && !flag2) { html5Renderer.WriteStream(HTMLElements.m_styleHeight); html5Renderer.WriteStream(HTMLElements.m_percent); html5Renderer.WriteStream(HTMLElements.m_semiColon); html5Renderer.WriteStream(HTMLElements.m_styleWidth); html5Renderer.WriteStream(HTMLElements.m_percent); html5Renderer.WriteStream(HTMLElements.m_semiColon); flag5 = false; } html5Renderer.WriteStream("border-style:none;"); } } else if (flag4 && html5Renderer.m_useInlineStyle && !flag2) { html5Renderer.PercentSizes(); flag5 = false; } StyleContext styleContext2 = new StyleContext(); if (!flag4 && (html5Renderer.m_deviceInfo.IsBrowserIE7 || html5Renderer.m_deviceInfo.IsBrowserIE6)) { styleContext2.RenderMeasurements = false; styleContext2.RenderMinMeasurements = false; } if (!flag2) { if (flag4) { html5Renderer.RenderReportItemStyle(dynamicImage, null, ref borderContext, styleContext2); } else if (flag5) { RPLElementProps elementProps2 = dynamicImage.ElementProps; StyleContext styleContext3 = new StyleContext(); styleContext3.RenderMeasurements = false; html5Renderer.OpenStyle(); html5Renderer.RenderMeasurementStyle(measurement.Height, measurement.Width); html5Renderer.RenderReportItemStyle(dynamicImage, elementProps2, definition, measurement, styleContext3, ref borderContext, definition.ID); } else { html5Renderer.RenderReportItemStyle(dynamicImage, measurement, ref borderContext, styleContext2); } } else { html5Renderer.WriteClippedDiv(rectangle); } tooltip = (string.IsNullOrEmpty(tooltip) ? RenderRes.AccessibleChartLabel : tooltip); html5Renderer.WriteToolTipAttribute(tooltip); html5Renderer.WriteStream(HTMLElements.m_src); html5Renderer.RenderDynamicImageSrc(rPLDynamicImageProps); html5Renderer.WriteStreamCR(HTMLElements.m_closeTag); if (flag) { html5Renderer.RenderImageMapAreas(rPLDynamicImageProps.ActionImageMapAreas, measurement.Width, measurement.Height, rPLDynamicImageProps.UniqueName, xOffset, yOffset); } if (flag3) { html5Renderer.WriteStream(HTMLElements.m_closeDiv); } }
protected virtual void Initialize(RPLElement rplElement) { m_instanceProperties = rplElement.ElementProps; m_definitionProperties = m_instanceProperties.Definition; }