public override Stream GetImage(ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps)
        {
            actionImageMaps = null;
            Stream stream = null;
            bool   flag   = false;

            if (base.m_reportElementDef.IsOldSnapshot)
            {
                AspNetCore.ReportingServices.ReportRendering.Chart chart = (AspNetCore.ReportingServices.ReportRendering.Chart)base.m_reportElementDef.RenderReportItem;
                stream = chart.GetImage((AspNetCore.ReportingServices.ReportRendering.Chart.ImageType)type, out flag);
                if (flag)
                {
                    int dataPointSeriesCount   = chart.DataPointSeriesCount;
                    int dataPointCategoryCount = chart.DataPointCategoryCount;
                    actionImageMaps = new ActionInfoWithDynamicImageMapCollection();
                    for (int i = 0; i < dataPointSeriesCount; i++)
                    {
                        for (int j = 0; j < dataPointCategoryCount; j++)
                        {
                            AspNetCore.ReportingServices.ReportRendering.ChartDataPoint chartDataPoint = chart.DataPointCollection[i, j];
                            AspNetCore.ReportingServices.ReportRendering.ActionInfo     actionInfo     = chartDataPoint.ActionInfo;
                            if (actionInfo != null)
                            {
                                actionImageMaps.InternalList.Add(new ActionInfoWithDynamicImageMap(base.m_reportElementDef.RenderingContext, actionInfo, chartDataPoint.MapAreas));
                            }
                        }
                    }
                }
            }
            else
            {
                stream = base.GetImage(type, out actionImageMaps);
            }
            return(stream);
        }
예제 #2
0
        protected virtual Stream GetImage(ImageType type, out bool hasImageMap)
        {
            ActionInfoWithDynamicImageMapCollection actionInfoWithDynamicImageMapCollection = default(ActionInfoWithDynamicImageMapCollection);
            Stream image = this.GetImage(type, out actionInfoWithDynamicImageMapCollection);

            hasImageMap = (actionInfoWithDynamicImageMapCollection != null);
            return(image);
        }
예제 #3
0
        private Stream GetImage(DynamicImageInstance.ImageType type, out bool hasImageMap)
        {
            ActionInfoWithDynamicImageMapCollection actionInfoWithDynamicImageMapCollection = default(ActionInfoWithDynamicImageMapCollection);
            Stream image = this.GetImage(type, out actionInfoWithDynamicImageMapCollection);

            hasImageMap = (actionInfoWithDynamicImageMapCollection != null);
            return(image);
        }
 protected override void ResetInstanceCache()
 {
     base.ResetInstanceCache();
     this.m_streamName              = null;
     this.m_imageData               = null;
     this.m_mimeTypeEvaluated       = false;
     this.m_mimeType                = null;
     this.m_actionInfoImageMapAreas = null;
 }
 public override ActionInfoWithDynamicImageMap CreateActionInfoWithDynamicImageMap()
 {
     if (base.ReportElementDef.CriGenerationPhase != ReportElement.CriGenerationPhases.Instance)
     {
         throw new RenderingObjectModelException(RPRes.rsErrorDuringROMDefinitionWriteback);
     }
     if (this.m_actionInfoImageMapAreas == null)
     {
         this.m_actionInfoImageMapAreas = new ActionInfoWithDynamicImageMapCollection();
     }
     return(this.m_actionInfoImageMapAreas.Add(base.RenderingContext, base.ImageDef, base.ImageDef));
 }
 protected override void GetImage(ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps, out Stream image)
 {
     using (IGaugeMapper gaugeMapper = GaugeMapperFactory.CreateGaugeMapperInstance((GaugePanel)base.m_reportElementDef, base.GetDefaultFontFamily()))
     {
         gaugeMapper.DpiX           = base.m_dpiX;
         gaugeMapper.DpiY           = base.m_dpiY;
         gaugeMapper.WidthOverride  = base.m_widthOverride;
         gaugeMapper.HeightOverride = base.m_heightOverride;
         gaugeMapper.RenderGaugePanel();
         image           = gaugeMapper.GetImage(type);
         actionImageMaps = gaugeMapper.GetImageMaps();
     }
 }
 protected override void GetImage(ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps, out Stream image)
 {
     using (IChartMapper chartMapper = ChartMapperFactory.CreateChartMapperInstance((Chart)base.m_reportElementDef, base.GetDefaultFontFamily()))
     {
         chartMapper.DpiX           = base.m_dpiX;
         chartMapper.DpiY           = base.m_dpiY;
         chartMapper.WidthOverride  = base.m_widthOverride;
         chartMapper.HeightOverride = base.m_heightOverride;
         chartMapper.RenderChart();
         image           = chartMapper.GetImage(type);
         actionImageMaps = chartMapper.GetImageMaps();
     }
 }
예제 #8
0
 private void GetImage(DynamicImageInstance.ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps, out Stream image)
 {
     using (IMapMapper mapMapper = MapMapperFactory.CreateMapMapperInstance((Map)base.m_reportElementDef, base.GetDefaultFontFamily()))
     {
         mapMapper.DpiX           = this.m_dpiX;
         mapMapper.DpiY           = this.m_dpiY;
         mapMapper.WidthOverride  = this.m_widthOverride;
         mapMapper.HeightOverride = this.m_heightOverride;
         mapMapper.RenderMap();
         image           = mapMapper.GetImage(type);
         actionImageMaps = mapMapper.GetImageMaps();
     }
 }
예제 #9
0
 public virtual Stream GetImage(ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps)
 {
     try
     {
         Stream result = default(Stream);
         this.GetImage(type, out actionImageMaps, out result);
         return(result);
     }
     catch (Exception exception)
     {
         actionImageMaps = null;
         return(this.CreateExceptionImage(exception));
     }
 }
예제 #10
0
 public Stream GetImage(DynamicImageInstance.ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps)
 {
     try
     {
         Stream result = default(Stream);
         this.GetImage(type, out actionImageMaps, out result);
         return(result);
     }
     catch (Exception exception)
     {
         actionImageMaps = null;
         return(DynamicImageInstance.CreateExceptionImage(exception, this.WidthInPixels, this.HeightInPixels, this.m_dpiX, this.m_dpiY));
     }
 }
예제 #11
0
        private static int AddMapArea(MapAreaInfo mapAreaInfo, ActionInfoWithDynamicImageMapCollection actions, ReportItem reportItem)
        {
            if (mapAreaInfo.Tag == null)
            {
                return(-1);
            }
            int num = (int)mapAreaInfo.Tag;
            ActionInfoWithDynamicImageMap actionInfoWithDynamicImageMap = actions.InternalList[num];

            if (actionInfoWithDynamicImageMap.Actions.Count <= 0 && string.IsNullOrEmpty(mapAreaInfo.ToolTip))
            {
                return(-1);
            }
            actionInfoWithDynamicImageMap.CreateImageMapAreaInstance(mapAreaInfo.MapAreaShape, mapAreaInfo.Coordinates, mapAreaInfo.ToolTip);
            return(num);
        }
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            reader.RegisterDeclaration(CriImageInstance.m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.ImageData:
                    this.m_imageData = reader.ReadByteArray();
                    break;

                case MemberName.MIMEType:
                {
                    string text = reader.ReadString();
                    if (base.ImageDef.MIMEType != null && base.ImageDef.MIMEType.IsExpression)
                    {
                        this.m_mimeTypeEvaluated = true;
                        this.m_mimeType          = text;
                    }
                    else
                    {
                        Global.Tracer.Assert(text == null, "(mimeType == null)");
                    }
                    break;
                }

                case MemberName.Actions:
                    ((ROMInstanceObjectCreator)reader.PersistenceHelper).StartActionInfoInstancesDeserialization(base.ImageDef.ActionInfo);
                    reader.ReadArrayOfRIFObjects <ActionInstance>();
                    ((ROMInstanceObjectCreator)reader.PersistenceHelper).CompleteActionInfoInstancesDeserialization();
                    break;

                case MemberName.ImageMapAreas:
                    this.m_actionInfoImageMapAreas = new ActionInfoWithDynamicImageMapCollection();
                    reader.ReadListOfRIFObjects(this.m_actionInfoImageMapAreas.InternalList);
                    break;

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }
 protected override void ResetInstanceCache()
 {
     base.ResetInstanceCache();
     this.m_actionInfoImageMapAreas = null;
     this.m_imageDataHandler.ClearCache();
 }
예제 #14
0
 public Stream GetImage(out ActionInfoWithDynamicImageMapCollection actionImageMaps)
 {
     return(this.GetImage(ImageType.PNG, out actionImageMaps));
 }
예제 #15
0
        public static ActionInfoWithDynamicImageMapCollection GetImageMaps(IEnumerable <MapAreaInfo> mapAreaInfoList, ActionInfoWithDynamicImageMapCollection actions, ReportItem reportItem)
        {
            List <ActionInfoWithDynamicImageMap> list = new List <ActionInfoWithDynamicImageMap>();

            bool[] array = new bool[actions.Count];
            foreach (MapAreaInfo mapAreaInfo in mapAreaInfoList)
            {
                MapAreaInfo current = mapAreaInfo;
                int         num     = MappingHelper.AddMapArea(current, actions, reportItem);
                if (num > -1 && !array[num])
                {
                    list.Add(((ReportElementCollectionBase <ActionInfoWithDynamicImageMap>)actions)[num]);
                    array[num] = true;
                }
                else if (!string.IsNullOrEmpty(current.ToolTip))
                {
                    string text = default(string);
                    ActionInfoWithDynamicImageMap actionInfoWithDynamicImageMap = MappingHelper.CreateActionInfoDynamic(reportItem, (ActionInfo)null, current.ToolTip, out text);
                    if (actionInfoWithDynamicImageMap != null)
                    {
                        actionInfoWithDynamicImageMap.CreateImageMapAreaInstance(current.MapAreaShape, current.Coordinates, current.ToolTip);
                        list.Add(actionInfoWithDynamicImageMap);
                    }
                }
            }
            actions.InternalList.Clear();
            actions.InternalList.AddRange(list);
            if (actions.Count == 0)
            {
                return(null);
            }
            return(actions);
        }
예제 #16
0
 protected override void ResetInstanceCache()
 {
     base.ResetInstanceCache();
     this.m_actionInfoImageMapAreas = null;
 }
예제 #17
0
 protected abstract void GetImage(ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps, out Stream image);