Ejemplo n.º 1
0
 public ShapeBuilder InitVxs(VertexStore src)
 {
     Reset();
     VxsTemp.Borrow(out _vxs);
     _vxs.AppendVertexStore(src);
     return(this);
 }
Ejemplo n.º 2
0
 public ShapeBuilder Flatten(CurveFlattener flattener)
 {
     VxsTemp.Borrow(out VertexStore v2);
     flattener.MakeVxs(_vxs, v2);
     VxsTemp.ReleaseVxs(_vxs);
     _vxs = v2;
     return(this);
 }
Ejemplo n.º 3
0
 public ShapeBuilder Stroke(Stroke stroke)
 {
     VxsTemp.Borrow(out VertexStore v2);
     stroke.MakeVxs(_vxs, v2);
     VxsTemp.ReleaseVxs(_vxs);
     _vxs = v2;
     return(this);
 }
Ejemplo n.º 4
0
 public void Reset()
 {
     if (_vxs != null)
     {
         VxsTemp.ReleaseVxs(_vxs);
         _vxs = null;
     }
 }
Ejemplo n.º 5
0
 public ShapeBuilder Stroke(float width)
 {
     VxsTemp.Borrow(out VertexStore v2);
     using (VectorToolBox.Borrow(out Stroke stroke))
     {
         stroke.Width = width;
         stroke.MakeVxs(_vxs, v2);
     }
     VxsTemp.ReleaseVxs(_vxs);
     _vxs = v2;
     return(this);
 }
Ejemplo n.º 6
0
        public ShapeBuilder Scale(float s)
        {
            VxsTemp.Borrow(out VertexStore v2);
            Affine aff = Affine.NewScaling(s, s);

            aff.TransformToVxs(_vxs, v2);

            //release _vxs
            VxsTemp.ReleaseVxs(_vxs);
            _vxs = v2;
            return(this);
        }
Ejemplo n.º 7
0
        public ShapeBuilder TranslateToNewVxs(double dx, double dy)
        {
            VxsTemp.Borrow(out VertexStore v2);
            int       count = _vxs.Count;
            VertexCmd cmd;

            for (int i = 0; i < count; ++i)
            {
                cmd = _vxs.GetVertex(i, out double x, out double y);
                x  += dx;
                y  += dy;
                v2.AddVertex(x, y, cmd);
            }
            VxsTemp.ReleaseVxs(_vxs);
            _vxs = v2;
            return(this);
        }
Ejemplo n.º 8
0
 public ShapeBuilder InitVxs()
 {
     Reset();
     VxsTemp.Borrow(out _vxs);
     return(this);
 }