Ejemplo n.º 1
0
 WarpMagnifierTransform(WarpMagnifierTransform from)
 {
     m_CenterX                      = from.m_CenterX;
     m_CenterY                      = from.m_CenterY;
     m_Magnification                = from.m_Magnification;
     m_Radius                       = from.m_Radius;
     m_Radius2                      = from.m_Radius2;
     m_Radius2Magnification2        = from.m_Radius2Magnification2;
     m_RadiusMulMagnificationMinus1 = from.m_RadiusMulMagnificationMinus1;
 }
Ejemplo n.º 2
0
        void DrawingPanel_Paint(object sender, GUI.PaintEventArgs e)
        {
            e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;


            //  Transformed
            Matrix4 mtx   = Matrix4.CreateTranslation(-m_SVGPathBounds.Center.X, -m_SVGPathBounds.Center.Y);
            double  scale = m_ScaleSlider.Value;

            mtx.Scale(scale, scale, MatrixOrder.Append);
            mtx.Rotate(m_RotateSlider.Value, MatrixOrder.Append);
            int k = 30;

            mtx.Translate(ClientWidth / 2 + k, ClientHeight / 2 + k, MatrixOrder.Append);

            Point center = new Point(m_x, m_y);
            WarpMagnifierTransform warpMagnifierTransform = new WarpMagnifierTransform();

            warpMagnifierTransform.Center        = center;
            warpMagnifierTransform.Magnification = m_MagnificationSlider.Value;
            warpMagnifierTransform.Radius        =
                m_RadiusSlider.Value / warpMagnifierTransform.Magnification;
            SVGWarpMagnifier WarpMagnifier = new SVGWarpMagnifier(warpMagnifierTransform);

            double opacity = e.Graphics.Opacity;

            e.Graphics.Opacity = m_OpacitySlider.Value;
            m_SVGPath.Render(e.Graphics, mtx, WarpMagnifier);
            e.Graphics.Opacity = opacity;


            //  radius
            if (m_ShowSightCheckBox.IsChecked)
            {
                e.Graphics.DrawCircle(m_RadiusPen, center, m_RadiusSlider.Value);

                double crossSize = 10;
                e.Graphics.DrawLine(m_RadiusPen, new Point(center.X - crossSize, center.Y), new Point(center.X + crossSize, center.Y));
                e.Graphics.DrawLine(m_RadiusPen, new Point(center.X, center.Y - crossSize), new Point(center.X, center.Y + crossSize));
            }
        }
Ejemplo n.º 3
0
 public SVGWarpMagnifier(WarpMagnifierTransform transform)
     : base(transform)
 {
 }