public static IStyleDraw CreateStyleDraw(object object_0) { IStyleDraw result; if (object_0 is IMarkerSymbol) { result = new MarkerSymbolDraw(object_0 as ISymbol); } else if (object_0 is ILineSymbol) { result = new LineSymbolDraw(object_0 as ISymbol); } else if (object_0 is IFillSymbol) { result = new FillSymbolDraw(object_0 as ISymbol); } else if (object_0 is IMapSurround) { result = new MapSurroundDraw(object_0 as IMapSurround); } else if (object_0 is IColorRamp) { result = new ColorRampDraw(object_0 as IColorRamp); } else if (object_0 is IColor) { result = new ColorDraw(object_0 as IColor); } else if (object_0 is IBorder) { result = new BorderDraw(object_0 as IBorder); } else if (object_0 is IBackground) { result = new BackgroundDraw(object_0 as IBackground); } else if (object_0 is IShadow) { result = new ShadowDraw(object_0 as IShadow); } else if (object_0 is ILinePatch) { result = new LinePatchDraw(object_0 as ILinePatch); } else if (object_0 is IAreaPatch) { result = new AreaPatchDraw(object_0 as IAreaPatch); } else if (object_0 is ITextSymbol) { result = new TextSymbolDraw(object_0 as ISymbol); } else if (object_0 is ILegendItem) { result = new LegendItemDraw(object_0 as ILegendItem); } else if (object_0 is ILabelStyle2) { result = new LabelStyleDraw(object_0 as ILabelStyle2); } else if (object_0 is IMapGrid) { result = new MapGridDraw(object_0 as IMapGrid); } else if (object_0 is IRepresentationMarker) { result = new RepresentationMarkerDraw(object_0 as IRepresentationMarker); } else if (object_0 is IRepresentationRuleItem) { result = new RepresentationRuleDraw(object_0); } else { result = null; } return(result); }
protected void DrawSymbol(int int_0, Rectangle rectangle_0, object object_1) { IDisplayTransformation displayTransformation = new DisplayTransformation() as IDisplayTransformation; IEnvelope envelope = new Envelope() as ESRI.ArcGIS.Geometry.IEnvelope; envelope.PutCoords((double)rectangle_0.Left, (double)rectangle_0.Top, (double)rectangle_0.Right, (double)rectangle_0.Bottom); tagRECT tagRECT; tagRECT.left = rectangle_0.Left; tagRECT.right = rectangle_0.Right; tagRECT.bottom = rectangle_0.Bottom; tagRECT.top = rectangle_0.Top; displayTransformation.set_DeviceFrame(ref tagRECT); displayTransformation.Bounds = envelope; if (this.double_0 < 1.0 && object_1 is ILineSymbol) { displayTransformation.Resolution = 48.0 / this.double_0; } else { displayTransformation.Resolution = 96.0; } displayTransformation.ReferenceScale = 1.0; displayTransformation.ScaleRatio = this.double_0; if (object_1 is IMarkerSymbol) { IStyleGalleryClass styleGalleryClass = new MarkerSymbolStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); } else if (object_1 is ILineSymbol) { IStyleGalleryClass styleGalleryClass = new LineSymbolStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); } else if (object_1 is IFillSymbol) { IStyleGalleryClass styleGalleryClass = new FillSymbolStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); } else { ISymbol symbol; if (object_1 is IColorRamp) { IGradientFillSymbol gradientFillSymbol = new GradientFillSymbol(); ILineSymbol outline = gradientFillSymbol.Outline; outline.Width = 0.0; gradientFillSymbol.Outline = outline; gradientFillSymbol.ColorRamp = (IColorRamp)object_1; gradientFillSymbol.GradientAngle = 180.0; gradientFillSymbol.GradientPercentage = 1.0; gradientFillSymbol.IntervalCount = 100; gradientFillSymbol.Style = esriGradientFillStyle.esriGFSLinear; symbol = (ISymbol)gradientFillSymbol; } else if (object_1 is IColor) { symbol = (ISymbol) new ColorSymbol { Color = (IColor)object_1 }; } else if (object_1 is IAreaPatch) { symbol = new SimpleFillSymbol() as ISymbol; IRgbColor rgbColor = new RgbColor(); rgbColor.Red = 227; rgbColor.Green = 236; rgbColor.Blue = 19; ((IFillSymbol)symbol).Color = rgbColor; } else if (object_1 is ILinePatch) { symbol = new SimpleLineSymbol() as ISymbol; } else { if (object_1 is INorthArrow) { IStyleGalleryClass styleGalleryClass = new NorthArrowStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); return; } if (object_1 is ILegendItem) { IStyleGalleryClass styleGalleryClass = new LegendItemStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); return; } if (object_1 is ILabelStyle) { IStyleGalleryClass styleGalleryClass = new LabelStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); return; } if (object_1 is IMapSurround) { MapSurroundDraw mapSurroundDraw = new MapSurroundDraw(object_1 as IMapSurround); mapSurroundDraw.Draw(int_0, rectangle_0, 96.0, this.double_0); return; } if (object_1 is IBackground) { IDisplay display = new ScreenDisplay(); display.StartDrawing(int_0, 0); display.DisplayTransformation = displayTransformation; IGeometry geometry = ((IBackground)object_1).GetGeometry(display, envelope); ((IBackground)object_1).Draw(display, geometry); display.FinishDrawing(); return; } if (object_1 is IShadow) { ShadowDraw shadowDraw = new ShadowDraw(object_1 as IShadow); shadowDraw.Draw(int_0, rectangle_0, 96.0, this.double_0); return; } if (object_1 is IRepresentationMarker) { RepresentationMarkerDraw representationMarkerDraw = new RepresentationMarkerDraw(object_1 as IRepresentationMarker); representationMarkerDraw.Draw(int_0, rectangle_0, 96.0, this.double_0); return; } if (object_1 is IRepresentationRuleItem) { try { RepresentationRuleDraw representationRuleDraw = new RepresentationRuleDraw(object_1); IRepresentationRule representationRule = (object_1 as IRepresentationRuleItem).RepresentationRule; IBasicSymbol arg_61E_0 = representationRule.get_Layer(0); representationRuleDraw.Draw(int_0, rectangle_0, 96.0, this.double_0); return; } catch { return; } } if (object_1 is IBorder) { IDisplay display = new ScreenDisplay(); display.StartDrawing(int_0, 0); display.DisplayTransformation = displayTransformation; IPointCollection pointCollection = new Polyline(); object value = System.Reflection.Missing.Value; IPoint point = new ESRI.ArcGIS.Geometry.Point(); point.PutCoords((double)(rectangle_0.X + 4), (double)rectangle_0.Top); pointCollection.AddPoint(point, ref value, ref value); point.PutCoords((double)(rectangle_0.X + 4), (double)rectangle_0.Bottom); pointCollection.AddPoint(point, ref value, ref value); point.PutCoords((double)(rectangle_0.Right - 4), (double)rectangle_0.Bottom); pointCollection.AddPoint(point, ref value, ref value); IGeometry geometry = ((IBorder)object_1).GetGeometry(display, (IGeometry)pointCollection); ((IBorder)object_1).Draw(display, geometry); display.FinishDrawing(); return; } if (object_1 is IMapGrid) { IDisplay display = new ScreenDisplay(); display.StartDrawing(int_0, 0); display.DisplayTransformation = displayTransformation; IPointCollection pointCollection = new Polyline(); object value = System.Reflection.Missing.Value; IPoint point = new ESRI.ArcGIS.Geometry.Point(); point.PutCoords((double)(rectangle_0.X + 4), (double)rectangle_0.Top); pointCollection.AddPoint(point, ref value, ref value); point.PutCoords((double)(rectangle_0.X + 4), (double)rectangle_0.Bottom); pointCollection.AddPoint(point, ref value, ref value); point.PutCoords((double)(rectangle_0.Right - 4), (double)rectangle_0.Bottom); pointCollection.AddPoint(point, ref value, ref value); IMapFrame mapFrame = new MapFrame() as IMapFrame; IMap map = new Map(); mapFrame.Map = map; (map as IActiveView).Extent = (pointCollection as IGeometry).Envelope; (object_1 as IMapGrid).Draw(display, mapFrame); display.FinishDrawing(); return; } return; } if (symbol is IPictureFillSymbol || symbol is IPictureLineSymbol) { symbol.SetupDC(int_0, displayTransformation); } else { symbol.SetupDC(int_0, displayTransformation); } if (symbol is IMarkerSymbol) { this.method_0((IMarkerSymbol)symbol, rectangle_0); } else if (symbol is ILineSymbol) { this.method_1((ILineSymbol)symbol, rectangle_0); } else if (symbol is IFillSymbol) { this.method_2((IFillSymbol)symbol, rectangle_0); } else if (symbol is ITextSymbol) { this.method_3((ITextSymbol)symbol, rectangle_0); } symbol.ResetDC(); } }