private void slider_SliderEvent(float fPosition, Endogine.Sprite.MouseEventType t)
 {
     //Dragged the numparticles slider
     if (m_psys == null)
     {
         return;
     }
     m_psys.NumNewParticlesPerFrame = fPosition * 2;
 }
 private void sliderSize_SliderEvent(float fPosition, Endogine.Sprite.MouseEventType t)
 {
     //Dragged the particle size slider
     if (m_psys == null)
     {
         return;
     }
     m_psys.SizeFact = fPosition * 5;
 }
Exemple #3
0
 protected override void OnMouse(System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
 {
     if (t == Endogine.Sprite.MouseEventType.StillDown)
     {
         EPointF pntDiff = new EPointF(e.X - MouseLastLoc.X, e.Y - MouseLastLoc.Y);
         Move(pntDiff);
         //if (!GetConstrainRect().Contains(new Point((int)Loc.X,(int)Loc.Y)))
         //{
         //	Move(new PointF(-pntDiff.X,-pntDiff.Y));
         //}
     }
     base.OnMouse(e, t);
 }
Exemple #4
0
 protected override void OnMouse(System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
 {
     if (t == Endogine.Sprite.MouseEventType.Down)
     {
         float accuracy = this.GetAccuracy();
         if (accuracy > 0)
         {
             this.Scaling = new Endogine.EPointF(accuracy + 1, accuracy + 1);
         }
         else
         {
             this.Scaling = new Endogine.EPointF(0.5f, 0.5f);
         }
     }
 }
 private void btnChangeSize_MouseEvent(Sprite sender, System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
 {
     //Mouse down on size change button
     if (t == Endogine.Sprite.MouseEventType.Down)
     {
         if (m_psys == null)
         {
             return;
         }
         m_psys.ChangeSizes();
     }
 }
Exemple #6
0
 protected virtual void Mouse(Sprite sender, System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
 {
 }
Exemple #7
0
        private void pivotSprite_MouseEvent(Sprite sender, System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
        {
            if (t == Endogine.Sprite.MouseEventType.StillDown)
            {
                EH.Put(e.X.ToString() + " " + e.Y.ToString() + this.m_sp.Loc.ToString());
                sender.Loc += new EPointF(e.X, e.Y) - sender.MouseLastLoc.ToEPointF();

                //TODO: setting the regpoint is not working when scaled.
                if (false)
                {
                    EPoint pntLastRegPoint = this.m_sp.RegPoint.Copy();
                    this.m_sp.RegPoint = (sender.Loc / this.m_sp.Scaling).ToEPoint();
                    this.m_sp.Loc     += (this.m_sp.RegPoint - pntLastRegPoint).ToEPointF();
                    this.Update();
                }
            }
        }
Exemple #8
0
        private void rotateSprite_MouseEvent(Sprite sender, System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
        {
            EPointF pivotLoc = this.m_sp.Loc;

            if (t == Endogine.Sprite.MouseEventType.StillDown)
            {
                EPointF pntNow     = new EPointF(e.X, e.Y) - pivotLoc;
                float   fAngleDiff = pntNow.Angle - this.pntMouseStartRotate.Angle;
                if (System.Windows.Forms.Control.ModifierKeys == System.Windows.Forms.Keys.Shift)
                {
                }
                this.m_sp.Rotation = fAngleDiff;
            }
            else if (t == Endogine.Sprite.MouseEventType.Down)
            {
                this.pntMouseStartRotate = new EPointF(e.X, e.Y) - pivotLoc;
            }
        }
Exemple #9
0
        private void moveSprite_MouseEvent(Sprite sender, System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
        {
            if (t == Endogine.Sprite.MouseEventType.StillDown)
            {
                EPointF pntNow      = new EPointF(e.X, e.Y);
                EPointF gridSpacing = new EPointF(30, 30);
                EPointF gridOffset  = new EPointF(0, 0);
                if (System.Windows.Forms.Control.ModifierKeys == System.Windows.Forms.Keys.Control) //Snap to grid
                {
                    pntNow -= _gridOffset.ToEPointF();
                    pntNow /= _gridSpacing.ToEPointF();
                    pntNow  = new EPointF((float)Math.Round(pntNow.X), (float)Math.Round(pntNow.Y)) * _gridSpacing.ToEPointF();
                    pntNow += _gridOffset.ToEPointF();
                }
                EPointF pntDiff = pntNow - sender.MouseDownLoc.ToEPointF();

                if (System.Windows.Forms.Control.ModifierKeys == System.Windows.Forms.Keys.Shift)                 //Force horizontal/vertical movement
                {
                    if ((pntDiff.Angle > (float)Math.PI / 4 && pntDiff.Angle < 3 * (float)Math.PI / 4) ||
                        (pntDiff.Angle < -(float)Math.PI / 4 && pntDiff.Angle > -3 * (float)Math.PI / 4))
                    {
                        pntDiff *= new EPointF(1, 0);
                    }
                    else
                    {
                        pntDiff *= new EPointF(0, 1);
                    }
                }
                this.m_sp.Loc = pntDiff + this.pntStartMove;
                this.Update();
            }
            else if (t == Endogine.Sprite.MouseEventType.Down)
            {
                this.pntStartMove = this.m_sp.Loc.Copy();
            }
        }
Exemple #10
0
        /// <summary>
        /// Stretching sprite
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <param name="t"></param>
        private void spSquare_MouseEvent(Sprite sender, System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
        {
            if (t == Endogine.Sprite.MouseEventType.StillDown)
            {
                EPoint  pntWhichSquare = (EPoint)sender.Tag;
                EPointF pntDiff        = new EPointF(e.X, e.Y) - sender.MouseLastLoc.ToEPointF();

                EPointF pntRestrictTo = new EPointF();
                if (pntWhichSquare.Y == 1)
                {
                    pntRestrictTo.X = 1;
                }
                else if (pntWhichSquare.X == 1)
                {
                    pntRestrictTo.Y = 1;
                }
                else
                {
                    pntRestrictTo = new EPointF(1, 1);
                }

                EPointF     pntMove = pntDiff * pntRestrictTo;
                ERectangleF rct     = this.m_sp.Rect.Copy();

                if (pntWhichSquare.X == 0 || pntWhichSquare.Y == 0)
                {
                    if (pntWhichSquare.X == 0 && pntWhichSquare.Y == 2)
                    {
                        rct.X      += pntMove.X;
                        rct.Width  -= pntMove.X;
                        rct.Height += pntMove.Y;
                    }
                    else if (pntWhichSquare.X == 2 && pntWhichSquare.Y == 0)
                    {
                        rct.Y      += pntMove.Y;
                        rct.Height -= pntMove.Y;
                        rct.Width  += pntMove.X;
                    }
                    else
                    {
                        rct.Location += pntMove;
                        rct.Size     -= pntMove;
                    }
                }
                else
                {
                    rct.Size += pntMove;
                }

                this.m_sp.Rect = rct;

                this.Update();
            }
        }
Exemple #11
0
 private void sp_MouseEvent(Sprite sender, System.Windows.Forms.MouseEventArgs e, Endogine.Sprite.MouseEventType t)
 {
     if (t == Endogine.Sprite.MouseEventType.Down)
     {
     }
     else if (t == Endogine.Sprite.MouseEventType.StillDown)
     {
         EPoint  pntAxis = (EPoint)sender.Tag;
         EPointF pntDiff = new EPointF(e.X, e.Y) - sender.MouseLastLoc.ToEPointF();
         this.m_sp.Move(pntDiff * pntAxis);
     }
 }