Example #1
0
        Point[] GetHull(VectorShape shape, Matrix matrix, int delta)
        {
            var vector = shape.Data;
            //vector.Transform(matrix);
            //return vector.PolygonHull(delta, true);

            var oldHull = vector.Hull(delta, true);

            matrix.Transform(oldHull);
            return(GDIConverter.Convert(oldHull));
        }
Example #2
0
        public override void OnPaint(IRenderEventArgs e)
        {
            var g    = ((GdiSurface)e.Surface).Graphics;
            var save = g.Transform;

            g.Transform = new System.Drawing.Drawing2D.Matrix();
            System.Drawing.Drawing2D.GraphicsPath hullPath =
                new System.Drawing.Drawing2D.GraphicsPath();

            var layout = this.Layout();

            foreach (var visual in Data.Elements)
            {
                Point[] datahull = null;
                var     r        = Camera.FromSource(visual.Shape.BoundsRect);
                g.DrawRectangle(pen, r.ToGdi());

                if (Layout != null)
                {
                    datahull = layout.GetDataHull(visual, Camera.Matrix, 0, true);
                }
                //Point[] hull = visual.Shape.Hull(Transformer.Matrice,15, true);

                Point[] hull = null;
                if (visual.Shape is VectorShape && Layout != null)
                {
                }

                if (datahull != null)
                {
                    g.DrawPolygon(datahullpen, GDIConverter.Convert(datahull));
                }

                if (hull != null)
                {
                    g.DrawPolygon(hullpen, GDIConverter.Convert(hull));
                }
            }
            g.Transform = save;
        }