Beispiel #1
0
        public void Draw(GraphicsEngine.Abstraction.ICanvas canvas, GraphicsEngine.CanvasRectangle rectangle, ISymbol symbol, bool cls)
        {
            if (symbol == null || canvas == null)
            {
                return;
            }

            Display display = new gView.Framework.Carto.Display(_map);

            display.dpi = GraphicsEngine.Current.Engine.ScreenDpi; //96f; // canvas.DpiX;

            IEnvelope env = display.Limit = new Envelope(0, rectangle.Top + rectangle.Height, rectangle.Left + rectangle.Width, 0);

            display.iWidth  = (int)env.maxx;
            display.iHeight = (int)env.maxy;
            display.ZoomTo(env.minx, env.miny, env.maxx, env.maxy);

            IGeometry geometry = GeometryFromSymbol(symbol, new Envelope(rectangle.Left,
                                                                         rectangle.Height + rectangle.Top,
                                                                         rectangle.Width + rectangle.Left,
                                                                         rectangle.Top));

            if (geometry == null)
            {
                return;
            }

            if (PlugInManager.PlugInID(symbol).Equals(KnownObjects.Symbology_PolygonMask))
            {
                return;
            }

            display.Canvas = canvas;

            if (cls)
            {
                using (var brush = GraphicsEngine.Current.Engine.CreateSolidBrush(GraphicsEngine.ArgbColor.White))
                {
                    canvas.FillRectangle(brush, rectangle);
                }
            }

            ISymbol sym = symbol.Clone(new CloneOptions(display, false)) as ISymbol;

            if (sym != null)
            {
                if (sym is ITextSymbol)
                {
                    ((ITextSymbol)sym).Text = "Text";
                }

                sym.Draw(display, geometry);
                sym.Release();
            }
            else
            {
                symbol.Draw(display, geometry);
            }
        }
Beispiel #2
0
        static public GraphicsEngine.CanvasRectangle ToLegendItemSymbolRect(this GraphicsEngine.CanvasRectangle rect)
        {
            rect.Left   = rect.Top = 0;
            rect.Width  = LegendItemSymbolWidth;
            rect.Height = LegendItemSymbolHeight;

            return(rect);
        }
Beispiel #3
0
 public void Draw(GraphicsEngine.Abstraction.ICanvas canvas, GraphicsEngine.CanvasRectangle rectangle, ISymbol symbol)
 {
     Draw(canvas, rectangle, symbol, true);
 }