public void Move(Point pPoint) { PointF delta = pPoint.ToPointF().Subtract(m_startDrag); m_window.SetZoom(m_window.magnification + delta.X / 300f, true); m_startDrag = pPoint.ToPointF(); }
private void AddPosition(Point pt) { double heading = double.NaN; if (lastPoint != default(Point)) { var l = new Line { X1 = pt.X, Y1 = pt.Y, X2 = lastPoint.X, Y2 = lastPoint.Y }; l.Stroke = Brushes.Magenta; l.StrokeThickness = 0.4; canvas.Children.Insert(canvas.Children.Count - 1, l); heading = Math2.GetPolarHeadingFromLine(pt.ToPointF(), lastPoint.ToPointF()); } Ellipse dot = new Ellipse(); dot.Fill = Brushes.Gray; dot.Height = dot.Width = 1; Canvas.SetTop(dot, pt.Y - dot.Height / 2); Canvas.SetLeft(dot, pt.X - dot.Width / 2); canvas.Children.Add(dot); lastPoint = pt; }
public NFeature[] QueryFeatures(Point point, params string[] layers) { var xpoint = point.ToPointF(); var features = map.QueryRenderedFeatures(xpoint, layers); xpoint.Dispose(); return(features.Select(f => f.ToFeature(true)).ToArray()); }
public NFeature[] QueryFeatures(Point point, float radius, params string[] layers) { var xpoint = point.ToPointF(); var region = xpoint.ToRectF(radius); xpoint.Dispose(); var features = map.QueryRenderedFeatures(region, layers); region.Dispose(); return(features.Select(f => f.ToFeature(true)).ToArray()); }
public static Point GetPointDistanceAwayOnLine(this Point startPt, double length, Point linePoint, Point closerToPoint) { PointF int1, int2; Regression.FindLineCircleIntersections((float)startPt.X, (float)startPt.Y, (float)length, startPt.ToPointF(), linePoint.ToPointF(), out int1, out int2); var result = int1.ToPoint().Distance(closerToPoint) < int2.ToPoint().Distance(closerToPoint) ? int1 : int2; return(result.ToPoint()); }
void OnScrollToRequested(object sender, ScrollToRequestedEventArgs e) { if (Superview == null) { _requestedScroll = e; return; } Point scrollPoint = (e.Mode == ScrollToMode.Position) ? new Point(e.ScrollX, Element.Height - e.ScrollY) : ScrollView.GetScrollPositionForElement(e.Element as VisualElement, e.Position); ContentView.ScrollToPoint(scrollPoint.ToPointF()); ScrollView.SendScrollFinished(); }
public PointF PixelToPoint(Point pixel) { if (DrawLimits.IsNaN()) { return(PointF_Extension.NaN); } else { Matrix transform = Transform; PointF[] points = new PointF[] { pixel.ToPointF() }; transform.Invert(); transform.TransformPoints(points); return(points[0]); } }
private static void DrawCircle(Point start, Point finish, Graphics g, double cosPhi, double r) { var angel = (float)(Math.Acos(cosPhi) * 180 / Math.PI); if (finish.Y > start.Y) { angel = 360 - angel; } var p = new Pen(Color.Green); g.DrawLine(p, start.ToPointF(), finish.ToPointF()); var textPoint = new PointF((float)(start.X + r / 4 - 16), (float)start.Y - 16); g.DrawString(angel.ToString("#.##°"), new Font("Consolas", 10), p.Brush, textPoint); g.DrawPie(p, (float)(start.X - r / 2), (float)(start.Y - r / 2), (float)r, (float)r, 360 - angel, angel); }
private void AddPosition(Point pt, bool save = true) { double heading = double.NaN; if (lastPoint != default(Point)) { var l = new Line { X1 = pt.X, Y1 = pt.Y, X2 = lastPoint.X, Y2 = lastPoint.Y }; l.Stroke = Brushes.Blue; l.StrokeThickness = 1; canvas.Children.Insert(canvas.Children.Count - 1, l); heading = Math2.GetPolarHeadingFromLine(pt.ToPointF(), lastPoint.ToPointF()); } Ellipse dot = new Ellipse(); dot.Fill = Brushes.Red; dot.Height = dot.Width = 2; Canvas.SetTop(dot, pt.Y - dot.Height / 2); Canvas.SetLeft(dot, pt.X - dot.Width / 2); canvas.Children.Add(dot); lastPoint = pt; if (save) { Positions.Add(new Position { pt = pt }); Points.Add(new System.Drawing.PointF((float)pt.X * Metrics.SCALE_Map4_20_TO_100, (float)pt.Y * Metrics.SCALE_Map4_20_TO_100)); } }
public void Begin(Point pPoint) { m_startDrag = pPoint.ToPointF(); }
public PointF PixelToPoint(Point pixel) { if (DrawLimits.IsNaN()) return PointF_Extension.NaN; else { Matrix transform = Transform; PointF[] points = new PointF[] { pixel.ToPointF() }; transform.Invert(); transform.TransformPoints(points); return points[0]; } }
private void drawArc(Graphics graphics, Pen pen, Pen arrowPen, Point a, Point b) { const decimal f = 0.05m; Point c = new Point((a.X + b.X) / 2m + f * (b.Y - a.Y), (a.Y + b.Y) / 2m - f * (b.X - a.X)); double angle = Math.Atan2((double)(b.Y - c.Y), (double)(b.X - c.X)); Point d = new Point(b.X - 10 * (decimal)Math.Cos(angle), b.Y - 10 * (decimal)Math.Sin(angle)); graphics.DrawCurve(pen, new PointF[] { a.ToPointF(), c.ToPointF(), b.ToPointF() }, 1f); graphics.DrawLine(arrowPen, d.ToPointF(), b.ToPointF()); }