public void Transform(Matrix matrix)
        {
            if (matrix == null)
            {
                return;
            }

            NativeObject.transform(matrix.NativeObject);
        }
 public void TransformPoints(PointF[] pts)
 {
     geom.Point2D.Float pt = new geom.Point2D.Float();
     for (int i = 0; i < pts.Length; i++)
     {
         pt.setLocation(pts[i].X, pts[i].Y);
         NativeObject.transform(pt, pt);
         pts[i].X = (float)pt.getX();
         pts[i].Y = (float)pt.getY();
     }
 }
        void AddString(string s, Font font,
                       float x, float y, float width, float height,
                       StringFormat format)
        {
            TextLineIterator iter = new TextLineIterator(s, font,
                                                         new java.awt.font.FontRenderContext(null, false, false),
                                                         format, width, height);

            int coordsCount = NativeObject.CoordsCount;

            for (LineLayout layout = iter.NextLine(); layout != null; layout = iter.NextLine())
            {
                NativeObject.append(layout.GetOutline(x, y), false);
            }

            AffineTransform lineAlignT = iter.CalcLineAlignmentTransform();

            if (lineAlignT != null)
            {
                NativeObject.transform(lineAlignT, coordsCount, NativeObject.CoordsCount - coordsCount);
            }
        }