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); }
protected virtual void OnTransformNeeded(object sender, TransfromNeededEventArg e) { if (TransfromNeeded != null) { TransfromNeeded(this, e); } else { e.UseDefaultMatrix = true; } }
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); }
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); }
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); }
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); }
protected virtual void OnTransformNeeded(object sender, TransfromNeededEventArg e) { if (TransfromNeeded != null) TransfromNeeded(this, e); else e.UseDefaultMatrix = true; }