public Text() { _symbol = new SimpleTextSymbol(); _symbol.Font = Current.Engine.CreateFont("Arial", 20); _symbol.Text = _text; _symbol.TextSymbolAlignment = TextSymbolAlignment.leftAlignOver; //this.Symbol = _symbol; AggregateGeometry aGeometry = new AggregateGeometry(); Polygon polygon = new Polygon(); Ring ring = new Ring(); ring.AddPoint(new Point(0, 0)); ring.AddPoint(new Point(1, 0)); ring.AddPoint(new Point(1, 1)); ring.AddPoint(new Point(0, 1)); polygon.AddRing(ring); aGeometry.AddGeometry(polygon); aGeometry.AddGeometry(new Point(0, 0)); this.Template = aGeometry; RemoveAllGrabbers(); AddGrabber(GrabberIDs.rotation); AddGrabber(GrabberIDs.move); }
public override void Draw(IDisplay display) { if (display == null || display.Canvas == null) { return; } SimpleTextSymbol sym = _symbol.Clone(new CloneOptions(display, false)) as SimpleTextSymbol; sym.Text = _text; sym.Angle = (float)this.Rotation; var size = display.Canvas.MeasureText(_text, sym.Font); double dx = size.Width * display.mapScale / (display.dpi / 0.0254); // [m] double dy = size.Height * display.mapScale / (display.dpi / 0.0254); // [m] base.Scale(dx, dy); IGeometry geometry = TransformGeometry(); if (geometry == null) { return; } display.Draw(sym, geometry); sym.Release(); }
public override void Draw(IDisplay display) { if (display == null || display.GraphicsContext == null) { return; } SimpleTextSymbol sym = _symbol.Clone(display) as SimpleTextSymbol; sym.Text = _text; sym.Angle = (float)this.Rotation; System.Drawing.SizeF size = display.GraphicsContext.MeasureString(_text, sym.Font); double dx = size.Width * display.mapScale / (display.dpi / 0.0254); // [m] double dy = size.Height * display.mapScale / (display.dpi / 0.0254); // [m] base.Scale(dx, dy); IGeometry geometry = TransformGeometry(); if (geometry == null) { return; } display.Draw(sym, geometry); sym.Release(); }
public override void Load(gView.Framework.IO.IPersistStream stream) { base.Load(stream); _text = (string)stream.Load("Text", "Text"); SimpleTextSymbol sym = stream.Load("ISymbol", null) as SimpleTextSymbol; if (sym != null) { _symbol.Release(); _symbol = sym; } }