Beispiel #1
0
        protected virtual void OnTransfromNeeded(object sender, TransfromNeededEventArg e)
        {
            try
            {
                e.ClipRectangle = clipRect;
                e.CurrentTime   = CurrentTime;

                if (TransfromNeeded != null)
                {
                    TransfromNeeded(this, e);
                }
                else
                {
                    e.UseDefaultMatrix = true;
                }

                if (e.UseDefaultMatrix)
                {
                    TransfromHelper.DoScale(e, animation);
                    TransfromHelper.DoRotate(e, animation);
                    TransfromHelper.DoSlide(e, animation);
                }
            }
            catch
            {
            }
        }
 private void OnTransfromNeeded(TransfromNeededEventArg ea)
 {
     if (TransfromNeeded != null)
     {
         TransfromNeeded(this, ea);
     }
 }
        protected override void OnPaint(PaintEventArgs e)
        {
            var gr = e.Graphics;

            OnFramePainting(e);

            try
            {
                gr.DrawImage(bgBmp, 0, 0);
                if (frame != null)
                {
                    var ea = new TransfromNeededEventArg()
                    {
                        ClientRectangle = new Rectangle(0, 0, this.Width, this.Height)
                    };
                    OnTransfromNeeded(ea);
                    gr.SetClip(ea.ClipRectangle);
                    gr.Transform = ea.Matrix;
                    gr.DrawImage(frame, 0, 0);
                }
            }
            catch { }

            OnFramePainted(e);
        }
Beispiel #4
0
 protected virtual void OnTransformNeeded(object sender, TransfromNeededEventArg e)
 {
     if (TransfromNeeded != null)
     {
         TransfromNeeded(this, e);
     }
     else
     {
         e.UseDefaultMatrix = true;
     }
 }
Beispiel #5
0
        public static void DoRotate(TransfromNeededEventArg e, Animation animation)
        {
            var rect   = e.ClientRectangle;
            var center = new PointF(rect.Width / 2, rect.Height / 2);

            e.Matrix.Translate(center.X, center.Y);
            if (e.CurrentTime > animation.RotateLimit)
            {
                e.Matrix.Rotate(360 * (e.CurrentTime - animation.RotateLimit) * animation.RotateCoeff);
            }
            e.Matrix.Translate(-center.X, -center.Y);
        }
Beispiel #6
0
        public static void DoScale(TransfromNeededEventArg e, Animation animation)
        {
            var rect   = e.ClientRectangle;
            var center = new PointF(rect.Width / 2, rect.Height / 2);

            e.Matrix.Translate(center.X, center.Y);
            var kx = 1f - animation.ScaleCoeff.X * e.CurrentTime;
            var ky = 1f - animation.ScaleCoeff.X * e.CurrentTime;

            if (Math.Abs(kx) <= 0.001f)
            {
                kx = 0.001f;
            }
            if (Math.Abs(ky) <= 0.001f)
            {
                ky = 0.001f;
            }
            e.Matrix.Scale(kx, ky);
            e.Matrix.Translate(-center.X, -center.Y);
        }
 private void OnTransfromNeeded(TransfromNeededEventArg ea)
 {
     if (TransfromNeeded != null)
         TransfromNeeded(this, ea);
 }
        protected override void OnPaint(PaintEventArgs e)
        {
            var gr = e.Graphics;

            OnFramePainting(e);

            try
            {
                gr.DrawImage(bgBmp, 0, 0);
                if (frame != null)
                {
                    var ea = new TransfromNeededEventArg(){ ClientRectangle = new Rectangle(0, 0, this.Width, this.Height) };
                    OnTransfromNeeded(ea);
                    gr.SetClip(ea.ClipRectangle);
                    gr.Transform = ea.Matrix;
                    gr.DrawImage(frame, 0, 0);
                }
            }
            catch { }

            OnFramePainted(e);
        }
Beispiel #9
0
        protected virtual void OnTransfromNeeded(object sender, TransfromNeededEventArg e)
        {
            try
            {
                e.ClipRectangle = clipRect;
                e.CurrentTime = CurrentTime;

                if (TransfromNeeded != null)
                    TransfromNeeded(this, e);
                else
                    e.UseDefaultMatrix = true;

                if (e.UseDefaultMatrix)
                {
                    TransfromHelper.DoScale(e, animation);
                    TransfromHelper.DoRotate(e, animation);
                    TransfromHelper.DoSlide(e, animation);
                }
            }
            catch
            {
            }
        }
 public static void DoSlide(TransfromNeededEventArg e, Animation animation)
 {
     var k = e.CurrentTime;
     e.Matrix.Translate(-e.ClientRectangle.Width * k * animation.SlideCoeff.X, -e.ClientRectangle.Height * k * animation.SlideCoeff.Y);
 }
 public static void DoScale(TransfromNeededEventArg e, Animation animation)
 {
     var rect = e.ClientRectangle;
     var center = new PointF(rect.Width / 2, rect.Height / 2);
     e.Matrix.Translate(center.X, center.Y);
     var kx = 1f - animation.ScaleCoeff.X * e.CurrentTime;
     var ky = 1f - animation.ScaleCoeff.X * e.CurrentTime;
     if (Math.Abs(kx) <= 0.001f) kx = 0.001f;
     if (Math.Abs(ky) <= 0.001f) ky = 0.001f;
     e.Matrix.Scale(kx, ky);
     e.Matrix.Translate(-center.X, -center.Y);
 }
        public static void DoRotate(TransfromNeededEventArg e, Animation animation)
        {
            var rect = e.ClientRectangle;
            var center = new PointF(rect.Width / 2, rect.Height / 2);

            e.Matrix.Translate(center.X, center.Y);
            if (e.CurrentTime > animation.RotateLimit)
                e.Matrix.Rotate(360 * (e.CurrentTime - animation.RotateLimit) * animation.RotateCoeff);
            e.Matrix.Translate(-center.X, -center.Y);
        }
Beispiel #13
0
        public static void DoSlide(TransfromNeededEventArg e, Animation animation)
        {
            var k = e.CurrentTime;

            e.Matrix.Translate(-e.ClientRectangle.Width * k * animation.SlideCoeff.X, -e.ClientRectangle.Height * k * animation.SlideCoeff.Y);
        }
Beispiel #14
0
 protected virtual void OnTransformNeeded(object sender, TransfromNeededEventArg e)
 {
     if (TransfromNeeded != null)
         TransfromNeeded(this, e);
     else
         e.UseDefaultMatrix = true;
 }