示例#1
0
        private void SetLabelSmoothing(SymbolSmoothing smooting)
        {
            if (_map == null || _map.MapElements == null)
            {
                return;
            }

            foreach (IDatasetElement dsElement in _map.MapElements)
            {
                IFeatureLayer fLayer = dsElement as IFeatureLayer;
                if (fLayer == null || fLayer.LabelRenderer == null)
                {
                    continue;
                }

                ILabelRenderer lRenderer = fLayer.LabelRenderer;
                foreach (ISymbol symbol in lRenderer.Symbols)
                {
                    if (symbol == null)
                    {
                        continue;
                    }

                    symbol.SymbolSmothingMode = smooting;
                }
            }
            if (_app != null)
            {
                _app.RefreshActiveMap(DrawPhase.All);
            }
        }
 private void tvRenderer_AfterSelect(object sender, TreeViewEventArgs e)
 {
     if (e.Node is RendererNode)
     {
         btnOK.Enabled = true;
         if (_selectedRenderer != ((RendererNode)e.Node).FeatureRenderer)
         {
             //if (_selectedRenderer != null) _selectedRenderer.Release();
             _selectedRenderer = ((RendererNode)e.Node).FeatureRenderer;
         }
     }
     else if (e.Node is LabelRendererNode)
     {
         btnOK.Enabled = true;
         if (_selectedLabelRenderer != ((LabelRendererNode)e.Node).LabelRenderer)
         {
             //if (_selectedLabelRenderer != null) _selectedRenderer.Release();
             _selectedLabelRenderer = ((LabelRendererNode)e.Node).LabelRenderer;
         }
     }
     else
     {
         btnOK.Enabled     = false;
         _selectedRenderer = null;
     }
 }
示例#3
0
 public DefaultFormRenderer(IElementRendererManager elementRendererManager, ILabelRenderer labelRenderer,
     IValidationMessaageRenderer validationMessaageRenderer, ISubmittedMessageRenderer submittedMessageRenderer,
     SiteSettings siteSettings)
 {
     _elementRendererManager = elementRendererManager;
     _labelRenderer = labelRenderer;
     _validationMessaageRenderer = validationMessaageRenderer;
     _submittedMessageRenderer = submittedMessageRenderer;
     _siteSettings = siteSettings;
 }
示例#4
0
            public object Clone()
            {
                ILabelRenderer renderer = _renderer.Clone() as ILabelRenderer;

                ScaleRenderer scaleRenderer = new ScaleRenderer(renderer);

                scaleRenderer._minScale = _minScale;
                scaleRenderer._maxScale = _maxScale;
                return(scaleRenderer);
            }
 public CustomFormRenderer(IElementRendererManager elementRendererManager, ILabelRenderer labelRenderer,
                           IValidationMessaageRenderer validationMessaageRenderer,
                           ISubmittedMessageRenderer submittedMessageRenderer, SiteSettings siteSettings)
 {
     _elementRendererManager     = elementRendererManager;
     _labelRenderer              = labelRenderer;
     _validationMessaageRenderer = validationMessaageRenderer;
     _submittedMessageRenderer   = submittedMessageRenderer;
     _siteSettings = siteSettings;
 }
        private void MakeTree()
        {
            PlugInManager compManager = new PlugInManager();

            if (_type == RendererType.featureRenderer)
            {
                foreach (XmlNode xmlnode in compManager.GetPluginNodes(Plugins.Type.IFeatureRenderer))
                {
                    IFeatureRenderer renderer = (IFeatureRenderer)compManager.CreateInstance(xmlnode);
                    if (renderer == null || !renderer.CanRender(_layer, null))
                    {
                        continue;
                    }

                    TreeNode parent = null;
                    foreach (TreeNode cat in tvRenderer.Nodes)
                    {
                        if (cat.Text == renderer.Category)
                        {
                            parent = cat;
                            break;
                        }
                    }
                    if (parent == null)
                    {
                        parent = new TreeNode(renderer.Category);
                        tvRenderer.Nodes.Add(parent);
                    }

                    TreeNode rNode = new RendererNode(renderer);
                    parent.Nodes.Add(rNode);
                }
            }
            else if (_type == RendererType.labelRenderer)
            {
                TreeNode parent = new TreeNode("Label Renderers");
                foreach (XmlNode xmlnode in compManager.GetPluginNodes(Plugins.Type.ILabelRenderer))
                {
                    ILabelRenderer renderer = (ILabelRenderer)compManager.CreateInstance(xmlnode);
                    if (renderer == null || !renderer.CanRender(_layer, null))
                    {
                        continue;
                    }

                    parent.Nodes.Add(new LabelRendererNode(renderer));
                }
                tvRenderer.Nodes.Add(parent);
            }

            foreach (TreeNode parent in tvRenderer.Nodes)
            {
                parent.Expand();
            }
        }
 private void SelectRendererItem(ILabelRenderer renderer)
 {
     foreach (object item in RendererBox.Items)
     {
         if (item is RendererItem && ((RendererItem)item).LabelRenderer == renderer)
         {
             RendererBox.SelectedItem = item;
             break;
         }
     }
 }
示例#8
0
 public DefaultFormRendererTests()
 {
     _formCollection = new FormCollection();
     var mockingKernel = new MockingKernel();
     MrCMSKernel.OverrideKernel(mockingKernel);
     _elementRendererManager = A.Fake<IElementRendererManager>();
     _labelRenderer= A.Fake<ILabelRenderer>();
     _validationMessageRenderer= A.Fake<IValidationMessaageRenderer>();
     _submittedMessageRenderer = A.Fake<ISubmittedMessageRenderer>();
     _siteSettings = new SiteSettings();
     _defaultFormRenderer = new DefaultFormRenderer(_elementRendererManager, _labelRenderer,
                                                    _validationMessageRenderer,_submittedMessageRenderer, _siteSettings);
 }
            public LabelRendererNode(ILabelRenderer renderer)
            {
                _renderer = renderer;

                if (_renderer != null)
                {
                    base.Text = renderer.Name;
                }
                else
                {
                    base.Text = "Default";
                }
            }
        public object PropertyPanel(ILabelRenderer renderer, IFeatureLayer layer)
        {
            _renderer = renderer as SimpleLabelRenderer;
            if (layer != null)
            {
                _fc = layer.FeatureClass;
            }

            InitializeComponent();

            MakeGUI();

            return(panel1);
        }
        public DefaultFormRendererTests()
        {
            _formCollection = new FormCollection();
            var mockingKernel = new MockingKernel();

            MrCMSKernel.OverrideKernel(mockingKernel);
            _elementRendererManager    = A.Fake <IElementRendererManager>();
            _labelRenderer             = A.Fake <ILabelRenderer>();
            _validationMessageRenderer = A.Fake <IValidationMessaageRenderer>();
            _submittedMessageRenderer  = A.Fake <ISubmittedMessageRenderer>();
            _siteSettings        = new SiteSettings();
            _defaultFormRenderer = new DefaultFormRenderer(_elementRendererManager, _labelRenderer,
                                                           _validationMessageRenderer, _submittedMessageRenderer, _siteSettings);
        }
示例#12
0
        public object PropertyPanel(ILabelRenderer renderer, IFeatureLayer layer)
        {
            _renderer = renderer as ChartLabelRenderer;
            _fc       = layer.Class as IFeatureClass;
            if (_renderer == null || _fc == null)
            {
                return(null);
            }

            InitializeComponent();

            MakeGUI();

            return(panel1);
        }
示例#13
0
        private void subscribeLabelRenderer()
        {
            var labelRenderer = _labelRenderer;

            if (labelRenderer != null)
            {
                labelRenderer.PropertyChanged -= onLabelRendererPropertyChanged;
            }
            labelRenderer = _image.CustomRenderer as ILabelRenderer;
            if (labelRenderer != null)
            {
                _customImageSize               = labelRenderer.CustomImageSize;
                _customResolutionFactor        = labelRenderer.CustomImageResolutionFactor;
                labelRenderer.PropertyChanged += onLabelRendererPropertyChanged;
            }
            _labelRenderer = labelRenderer;
        }
示例#14
0
            public object Clone(IDisplay display)
            {
                if (_renderer == null)
                {
                    return(null);
                }
                ILabelRenderer renderer = _renderer.Clone(display) as ILabelRenderer;

                if (renderer == null)
                {
                    return(null);
                }

                ScaleRenderer scaleRenderer = new ScaleRenderer(renderer);

                scaleRenderer._minScale = _minScale;
                scaleRenderer._maxScale = _maxScale;

                return(scaleRenderer);
            }
示例#15
0
            public object Clone(CloneOptions options)
            {
                if (_renderer == null)
                {
                    return(null);
                }
                ILabelRenderer renderer = _renderer.Clone(options) as ILabelRenderer;

                if (renderer == null)
                {
                    return(null);
                }

                ScaleRenderer scaleRenderer = new ScaleRenderer(renderer);

                scaleRenderer._minScale = _minScale;
                scaleRenderer._maxScale = _maxScale;

                return(scaleRenderer);
            }
示例#16
0
        static public gView.Framework.Symbology.ILegendGroup LegendGroup(LayerItem layerItem)
        {
            if (layerItem == null)
            {
                return(null);
            }

            List <ILayer> layers = layerItem.TOCElement.Layers;

            if (layers.Count == 0)
            {
                return(null);
            }

            ILayer elem = layers[0];

            if (!(elem is IFeatureLayer))
            {
                return(null);
            }

            LegendGroupGroup legendGroup   = new LegendGroupGroup();
            ILabelRenderer   labelRenderer = ((IFeatureLayer)elem).LabelRenderer;

            if (labelRenderer is ILegendGroup)
            {
                legendGroup.Add((ILegendGroup)labelRenderer);
            }

            IFeatureRenderer renderer = ((IFeatureLayer)elem).FeatureRenderer;

            if (renderer is ILegendGroup)
            {
                legendGroup.Add((ILegendGroup)renderer);
            }

            return(legendGroup.Count > 0 ? legendGroup : null);
        }
        private void btnDown_Click(object sender, EventArgs e)
        {
            if (_selectedItem == null ||
                _selectedItem.LabelRenderer == null ||
                _renderer == null)
            {
                return;
            }

            ILabelRenderer selectedRenderer = _selectedItem.LabelRenderer;
            int            index            = _renderer.Renderers.IndexOf(_selectedItem.LabelRenderer);

            if (index <= 0)
            {
                return;
            }

            _renderer.Renderers.Remove(_selectedItem.LabelRenderer);
            _renderer.Renderers.Insert(Math.Max(0, index - 1), _selectedItem.LabelRenderer);

            BuildList();
            SelectRendererItem(selectedRenderer);
        }
        private void btnProperties_Click(object sender, EventArgs e)
        {
            if (_selectedItem == null ||
                _selectedItem.LabelRenderer == null ||
                !(_selectedItem.LabelRenderer is IPropertyPage))
            {
                return;
            }

            ILabelRenderer clone = _selectedItem.LabelRenderer.Clone() as ILabelRenderer;

            if (clone == null)
            {
                return;
            }
            IPropertyPage page = clone as IPropertyPage;

            Control panel = page.PropertyPage(_layer) as Control;

            if (panel != null)
            {
                FormGroupRendererProperties dlg = new FormGroupRendererProperties(panel);
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    int index = _renderer.Renderers.IndexOf(_selectedItem.LabelRenderer);
                    if (index != -1)
                    {
                        _renderer.Renderers.RemoveAt(index);
                        _renderer.Renderers.Insert(index, clone);
                        _selectedItem.LabelRenderer = clone;
                        BuildList();
                        RendererBox.SelectedItem = _selectedItem;
                    }
                }
            }
        }
示例#19
0
 public AGSTextComponent(ILabelRenderer labelRenderer)
 {
     _labelRenderer = labelRenderer;
 }
示例#20
0
 public AGSTextComponent(ILabelRenderer labelRenderer)
 {
     _labelRenderer = labelRenderer;
 }
示例#21
0
        async private Task Render(IFeatureLayer layer)
        {
            IFeatureRenderer clonedFeatureRenderer = null;
            ILabelRenderer   clonedLabelRenderer   = null;

            GraphicsEngine.Abstraction.IBitmap compositionModeCopyBitmap = null;
            GraphicsEngine.Abstraction.ICanvas compositionModeCopyCanvas = null, originalCanvas = null;

            try
            {
                _map.FireOnUserInterface(true);
                if ((
                        layer.FeatureRenderer == null ||
                        layer.FeatureRenderer.HasEffect(layer, _map) == false)
                    &&
                    (
                        layer.LabelRenderer == null ||
                        _useLabelRenderer == false
                    ))
                {
                    return;
                }

                IFeatureClass fClass = layer.FeatureClass;
                if (fClass == null)
                {
                    return;
                }

                //IDataset dataset = (IDataset)_map[layer];
                //if (dataset == null) return;

                //if (!(dataset is IFeatureDataset)) return;

                IGeometry filterGeom = _map.Display.DisplayTransformation.TransformedBounds(_map.Display); //_map.Display.Envelope;

                if (_map.Display.GeometricTransformer != null)
                {
                    filterGeom = MapHelper.Project(fClass, _map.Display);
                }

                gView.Framework.Data.SpatialFilter filter = new gView.Framework.Data.SpatialFilter();
                filter.DatasetCachingContext = _datasetCachingContext;
                filter.Geometry = filterGeom;
                filter.AddField(fClass.ShapeFieldName);
                //filter.FuzzyQuery = true;
                filter.SpatialRelation = spatialRelation.SpatialRelationMapEnvelopeIntersects;
                filter.MapScale        = _map.Display.mapScale;
                filter.CancelTracker   = _cancelTracker;

                if (layer.FilterQuery != null)
                {
                    filter.WhereClause = layer.FilterQuery.WhereClause;
                    if (layer.FilterQuery is IBufferQueryFilter)
                    {
                        ISpatialFilter sFilter = await BufferQueryFilter.ConvertToSpatialFilter(layer.FilterQuery as IBufferQueryFilter);

                        if (sFilter == null)
                        {
                            return;
                        }
                        filter.SpatialRelation = spatialRelation.SpatialRelationIntersects;
                        filter.Geometry        = sFilter.Geometry;
                    }
                    if (layer.FilterQuery is ISpatialFilter)
                    {
                        //filter.FuzzyQuery = ((ISpatialFilter)layer.FilterQuery).FuzzyQuery;
                        filter.SpatialRelation = ((ISpatialFilter)layer.FilterQuery).SpatialRelation;
                        filter.Geometry        = ((ISpatialFilter)layer.FilterQuery).Geometry;
                    }
                }

                // Erst nach dem Clonen anwenden!!!
                //if (layer.FeatureRenderer != null && layer.FeatureRenderer.HasEffect(layer, _map))
                //{
                //    layer.FeatureRenderer.PrepareQueryFilter(layer, filter);
                //}
                //if (layer.LabelRenderer != null && _useLabelRenderer)
                //{
                //    layer.LabelRenderer.PrepareQueryFilter(_map.Display, layer, filter);
                //}

                IDisplay display  = _map;
                double   refScale = display.refScale;

                #region Layer Clonen

                IFeatureRenderer renderer      = null;
                ILabelRenderer   labelRenderer = null;

                lock (lockThis)
                {
                    // Beim Clonen sprerren...
                    // Da sonst bei der Servicemap bei gleichzeitigen Requests
                    // Exception "Objekt wird bereits an anderer Stelle verwendet" auftreten kann!
                    if (layer.FeatureRenderer != null && layer.FeatureRenderer.HasEffect(layer, _map))
                    {
                        if (layer.RequiresFeatureRendererClone(display))
                        {
                            renderer = clonedFeatureRenderer = (IFeatureRenderer)layer.FeatureRenderer.Clone(
                                new CloneOptions(display,
                                                 layer.UseWithRefScale(display),
                                                 maxRefScaleFactor: layer.MaxRefScaleFactor));
                        }
                        else
                        {
                            renderer = layer.FeatureRenderer;
                        }
                    }
                    if (layer.LabelRenderer != null && _useLabelRenderer)
                    {
                        if (layer.RequiresLabelRendererClone(display))
                        {
                            labelRenderer = clonedLabelRenderer =
                                (ILabelRenderer)layer.LabelRenderer.Clone(new CloneOptions(display,
                                                                                           layer.UseLabelsWithRefScale(display),
                                                                                           maxLabelRefscaleFactor: layer.MaxLabelRefScaleFactor));
                        }
                        else  // Clone with null => simple clone
                        {
                            //display.refScale = 0;
                            labelRenderer = clonedLabelRenderer = (ILabelRenderer)layer.LabelRenderer.Clone(null);
                            //display.refScale = refScale;
                        }
                    }
                }

                #endregion

                #region Prepare filter

                // Prepare erst auf geclonte renderer anwenden!! (Threadsafe)
                if (renderer != null && renderer.HasEffect(layer, _map))
                {
                    renderer.PrepareQueryFilter(layer, filter);
                }
                if (labelRenderer != null && _useLabelRenderer)
                {
                    labelRenderer.PrepareQueryFilter(_map.Display, layer, filter);
                }

                #endregion

                using (IFeatureCursor fCursor = await fClass.GetFeatures(MapHelper.MapQueryFilter(filter)))
                {
                    _map.FireOnUserInterface(false);

                    if (fCursor != null)
                    {
                        IFeature feature;

                        if (renderer != null)
                        {
                            renderer.StartDrawing(_map);

                            bool useCompostionModeCopy = layer is IFeatureLayerComposition &&
                                                         ((IFeatureLayerComposition)layer).CompositionMode == FeatureLayerCompositionMode.Copy;

                            if (useCompostionModeCopy)
                            {
                                originalCanvas            = _map.Display.Canvas;
                                compositionModeCopyBitmap = GraphicsEngine.Current.Engine.CreateBitmap(_map.Display.Bitmap.Width, _map.Display.Bitmap.Height, GraphicsEngine.PixelFormat.Rgba32);
                                compositionModeCopyCanvas = compositionModeCopyBitmap.CreateCanvas();

                                compositionModeCopyBitmap.MakeTransparent();
                                compositionModeCopyBitmap.SetResolution(_map.Display.Bitmap.DpiX,
                                                                        _map.Display.Bitmap.DpiY);

                                ((Display)_map.Display).Canvas = compositionModeCopyCanvas;
                            }

                            while ((feature = await fCursor.NextFeature()) != null)
                            {
                                if (_cancelTracker != null)
                                {
                                    if (!_cancelTracker.Continue)
                                    {
                                        break;
                                    }
                                }

                                renderer.Draw(_map, feature);

                                if (labelRenderer != null)
                                {
                                    labelRenderer.Draw(_map, feature);
                                }

                                _counter.Counter++;

                                if (_isServiceMap == false)
                                {
                                    if (_counter.Counter % 100 == 0)
                                    {
                                        _map.FireRefreshMapView();
                                    }
                                }
                            }
                        }
                        else if (labelRenderer != null && _cancelTracker.Continue)
                        {
                            while ((feature = await fCursor.NextFeature()) != null)
                            {
                                if (_cancelTracker != null)
                                {
                                    if (!_cancelTracker.Continue)
                                    {
                                        break;
                                    }
                                }

                                labelRenderer.Draw(_map, feature);
                                _counter.Counter++;
                            }
                        }

                        if (labelRenderer != null)
                        {
                            labelRenderer.Release();
                        }

                        if (renderer != null)
                        {
                            renderer.FinishDrawing(_map, _cancelTracker);
                        }

                        if (compositionModeCopyCanvas != null && compositionModeCopyBitmap != null)
                        {
                            originalCanvas.DrawBitmap(compositionModeCopyBitmap,
                                                      new GraphicsEngine.CanvasRectangle(0, 0, compositionModeCopyBitmap.Width, compositionModeCopyBitmap.Height),
                                                      new GraphicsEngine.CanvasRectangle(0, 0, compositionModeCopyBitmap.Width, compositionModeCopyBitmap.Height),
                                                      opacity: (float)Math.Min(1, (100f - ((IFeatureLayerComposition)layer).CompositionModeCopyTransparency) / 100));
                        }
                    }
                    else
                    {
                        if (fClass is IDebugging && ((IDebugging)fClass).LastException != null)
                        {
                            throw ((IDebugging)fClass).LastException;
                        }

                        throw new Exception("Can't query feature class. Unknown error");
                    }
                }
            }
            catch (Exception ex)
            {
                if (_map is IServiceMap && ((IServiceMap)_map).MapServer != null)
                {
                    await((IServiceMap)_map).MapServer.LogAsync(
                        ((IServiceMap)_map).Name,
                        "RenderFeatureLayer: " + ((layer != null) ? layer.Title : String.Empty),
                        loggingMethod.error,
                        ex.Message + "\n" + ex.Source + "\n" + ex.StackTrace);
                }
                if (_map != null)
                {
                    _map.AddRequestException(new Exception("RenderFeatureLayerThread: " + ((layer != null) ? layer.Title : String.Empty) + "\n" + ex.Message, ex));
                }
            }
            finally
            {
                if (clonedFeatureRenderer != null)
                {
                    clonedFeatureRenderer.Release();
                }

                if (clonedLabelRenderer != null)
                {
                    clonedLabelRenderer.Release();
                }

                if (originalCanvas != null)
                {
                    ((Display)_map.Display).Canvas = originalCanvas;
                }

                if (compositionModeCopyCanvas != null)
                {
                    compositionModeCopyCanvas.Dispose();
                    compositionModeCopyCanvas = null;
                }

                if (compositionModeCopyBitmap != null)
                {
                    compositionModeCopyBitmap.Dispose();
                    compositionModeCopyBitmap = null;
                }

                _map.FireOnUserInterface(false);
            }
        }
 public RendererItem(ILabelRenderer renderer)
 {
     _renderer = renderer;
 }
示例#23
0
 public AGSTextComponent(ILabelRenderer labelRenderer, IGameEvents events)
 {
     _labelRenderer = labelRenderer;
     _events        = events;
 }
示例#24
0
        async public Task Render()
        {
            ILabelRenderer clonedLabelRenderer = null;

            try
            {
                if (_layer == null || _layer.LabelRenderer == null || _map == null)
                {
                    return;
                }

                IFeatureClass fClass = _layer.FeatureClass;
                if (fClass == null)
                {
                    return;
                }

                IGeometry filterGeom = _map.Display.Envelope;

                if (_map.Display.GeometricTransformer != null)
                {
                    filterGeom = MapHelper.Project(fClass, _map.Display);
                    //filterGeom = (IGeometry)_map.Display.GeometricTransformer.InvTransform2D(filterGeom);
                }

                gView.Framework.Data.SpatialFilter filter = new gView.Framework.Data.SpatialFilter();
                filter.Geometry = filterGeom;
                filter.AddField(fClass.ShapeFieldName);
                filter.SpatialRelation = spatialRelation.SpatialRelationMapEnvelopeIntersects;

                if (_layer.FilterQuery != null)
                {
                    filter.WhereClause = _layer.FilterQuery.WhereClause;
                    if (_layer.FilterQuery is ISpatialFilter)
                    {
                        //filter.FuzzyQuery = ((ISpatialFilter)_layer.FilterQuery).FuzzyQuery;
                        filter.SpatialRelation = ((ISpatialFilter)_layer.FilterQuery).SpatialRelation;
                        filter.Geometry        = ((ISpatialFilter)_layer.FilterQuery).Geometry;
                    }
                }

                #region Clone Layer

                ILabelRenderer labelRenderer = null;

                lock (lockThis)
                {
                    // Beim Clonen sprerren...
                    // Da sonst bei der Servicemap bei gleichzeitigen Requests
                    // Exception "Objekt wird bereits an anderer Stelle verwendet" auftreten kann!
                    //labelRenderer = (ILabelRenderer)_layer.LabelRenderer.Clone(new CloneOptions(_map, maxLabelRefscaleFactor: _layer.MaxLabelRefScaleFactor));

                    if (_layer.RequiresLabelRendererClone(_map))
                    {
                        labelRenderer = clonedLabelRenderer =
                            (ILabelRenderer)_layer.LabelRenderer.Clone(new CloneOptions(_map,
                                                                                        _layer.UseLabelsWithRefScale(_map),
                                                                                        maxLabelRefscaleFactor: _layer.MaxLabelRefScaleFactor));
                    }
                    else
                    {
                        labelRenderer = clonedLabelRenderer = (ILabelRenderer)_layer.LabelRenderer.Clone(null);
                    }
                }

                #endregion

                #region Prepare Filter

                labelRenderer.PrepareQueryFilter(_map.Display, _layer, filter);

                #endregion

                using (IFeatureCursor fCursor = await fClass.GetFeatures(filter))
                {
                    if (fCursor != null)
                    {
                        IFeature feature;

                        while ((feature = await fCursor.NextFeature()) != null)
                        {
                            if (_cancelTracker != null)
                            {
                                if (!_cancelTracker.Continue)
                                {
                                    break;
                                }
                            }

                            _counter.Counter++;
                            labelRenderer.Draw(_map, feature);
                        }

                        labelRenderer.Release();
                    }
                }
            }
            catch (Exception ex)
            {
                if (_map is IServiceMap && ((IServiceMap)_map).MapServer != null)
                {
                    await((IServiceMap)_map).MapServer.LogAsync(
                        ((IServiceMap)_map).Name,
                        "RenderLabelThread:" + ((_layer != null) ? _layer.Title : String.Empty),
                        loggingMethod.error,
                        ex.Message + "\n" + ex.Source + "\n" + ex.StackTrace);
                }
                if (_map != null)
                {
                    if (_map != null)
                    {
                        _map.AddRequestException(new Exception("RenderLabelThread: " + ((_layer != null) ? _layer.Title : String.Empty) + "\n" + ex.Message, ex));
                    }
                }
            }
            finally
            {
                if (clonedLabelRenderer != null)
                {
                    clonedLabelRenderer.Release();
                }
            }
        }
示例#25
0
 public ScaleRenderer(ILabelRenderer renderer)
 {
     _renderer = renderer;
 }
示例#26
0
 public ScaleRenderer(ILabelRenderer renderer, double minScale, double maxScale)
     : this(renderer)
 {
     _minScale = minScale;
     _maxScale = maxScale;
 }