コード例 #1
0
        public void AddLine(PointF_ a, PointF_ b)
        {
            Status status = GDIPlus.GdipAddPathLine(nativePath, a.X, a.Y, b.X,
                                                    b.Y);

            GDIPlus.CheckStatus(status);
        }
コード例 #2
0
        public void AddBezier(PointF_ pt1, PointF_ pt2, PointF_ pt3, PointF_ pt4)
        {
            Status status = GDIPlus.GdipAddPathBezier(nativePath, pt1.X, pt1.Y,
                                                      pt2.X, pt2.Y, pt3.X, pt3.Y, pt4.X, pt4.Y);

            GDIPlus.CheckStatus(status);
        }
コード例 #3
0
        public void AddString(string s, FontFamily family, int style, float emSize, PointF_ origin, StringFormat format)
        {
            RectangleF_ layout = new RectangleF_();

            layout.X = origin.X;
            layout.Y = origin.Y;
            AddString(s, family, style, emSize, layout, format);
        }
コード例 #4
0
        public LinearGradientBrush(PointF_ point1, PointF_ point2, Color_ color1, Color_ color2)
        {
            Status status = GDIPlus.GdipCreateLineBrush(ref point1, ref point2, color1.ToArgb(), color2.ToArgb(), WrapMode.Tile, out nativeObject);

            GDIPlus.CheckStatus(status);

            status = GDIPlus.GdipGetLineRect(nativeObject, out rectangle);
            GDIPlus.CheckStatus(status);
        }
コード例 #5
0
        public void RotateAt(float angle, PointF_ point, MatrixOrder order)
        {
            if ((order < MatrixOrder.Prepend) || (order > MatrixOrder.Append))
            {
                throw new ArgumentException("order");
            }

            angle *= (float)(Math.PI / 180.0);               // degrees to radians
            float cos = (float)Math.Cos(angle);
            float sin = (float)Math.Sin(angle);
            float e4  = -point.X * cos + point.Y * sin + point.X;
            float e5  = -point.X * sin - point.Y * cos + point.Y;

            float[] m = this.Elements;

            Status status;

            if (order == MatrixOrder.Prepend)
            {
                status = GDIPlus.GdipSetMatrixElements(nativeMatrix,
                                                       cos * m[0] + sin * m[2],
                                                       cos * m[1] + sin * m[3],
                                                       -sin * m[0] + cos * m[2],
                                                       -sin * m[1] + cos * m[3],
                                                       e4 * m[0] + e5 * m[2] + m[4],
                                                       e4 * m[1] + e5 * m[3] + m[5]);
            }
            else
            {
                status = GDIPlus.GdipSetMatrixElements(nativeMatrix,
                                                       m[0] * cos + m[1] * -sin,
                                                       m[0] * sin + m[1] * cos,
                                                       m[2] * cos + m[3] * -sin,
                                                       m[2] * sin + m[3] * cos,
                                                       m[4] * cos + m[5] * -sin + e4,
                                                       m[4] * sin + m[5] * cos + e5);
            }
            GDIPlus.CheckStatus(status);
        }
コード例 #6
0
 internal static SizeF_ MeasureString(string text, Font font, PointF_ origin, StringFormat stringFormat)
 {
     return(Hwnd.GraphicsContext.MeasureString(text, font, origin, stringFormat));
 }
コード例 #7
0
 public bool IsVisible(PointF_ pt, Graphics graphics)
 {
     return(IsVisible(pt.X, pt.Y, graphics));
 }
コード例 #8
0
 public bool IsVisible(PointF_ point)
 {
     return(IsVisible(point.X, point.Y, null));
 }
コード例 #9
0
 public bool IsOutlineVisible(PointF_ pt, Pen pen, Graphics graphics)
 {
     return(IsOutlineVisible(pt.X, pt.Y, pen, graphics));
 }
コード例 #10
0
 public bool IsOutlineVisible(PointF_ point, Pen pen)
 {
     return(IsOutlineVisible(point.X, point.Y, pen, null));
 }
コード例 #11
0
 public void RotateAt(float angle, PointF_ point)
 {
     RotateAt(angle, point, MatrixOrder.Prepend);
 }