Пример #1
0
        private void maximizeButton_onMouseRelease(Object obj, EventArgs e)
        {
            if (CanMaxi == false && FormState != EFormState.Minimized)
            {
                return;
            }
            if (Form.TopForm != this)
            {
                return;
            }

            if (FormState == EFormState.Restored)
            {
                mFormPosPrev   = FormPos;
                mFormSizePrev  = FormSize;
                mFormStatePrev = FormState;
                FormState      = EFormState.Maximizing;
                SetFocus();
            }
            else if (FormState == EFormState.Minimized || FormState == EFormState.Maximized)
            {
                mFormStatePrev = FormState;
                if (FormState == EFormState.Minimized)
                {
                    if (Spot != -1 && Form.MinimizeSpot[Spot] == 1)
                    {
                        Form.MinimizeSpot[Spot] = 0;
                        Spot = -1;
                    }
                }
                SetFocus();
                FormState = EFormState.Restoring;
            }
            else if (FormState == EFormState.Minimizing)
            {
                if (Spot != -1 && Form.MinimizeSpot[Spot] == 1)
                {
                    Form.MinimizeSpot[Spot] = 0;
                    Spot = -1;
                }
                SetFocus();
                FormState = EFormState.Restoring;
            }
        }
Пример #2
0
        private void Restore()
        {
            if (Vector2.Distance(mFormPosPrev, FormPos) > 10f)
            {
                FormPos += (mFormPosPrev - FormPos) * 0.2f;
            }
            else
            {
                FormPos = mFormPosPrev;
            }

            if (Vector2.Distance(mFormSizePrev, FormSize) > 10f)
            {
                FormSize += (mFormSizePrev - FormSize) * 0.2f;
            }
            else
            {
                FormSize = mFormSizePrev;
            }

            FormPos  = new Vector2((int)FormPos.X, (int)FormPos.Y);
            FormSize = new Vector2((int)FormSize.X, (int)FormSize.Y);

            Redraw();

            if (FormPos == mFormPosPrev && FormSize == mFormSizePrev)
            {
                Form.InUse     = false;
                mFormStatePrev = FormState;
                FormState      = EFormState.Restored;

                if (OnResized != null)
                {
                    OnResized(new FormResizedEventsArgs(FormState));
                }
            }
        }
Пример #3
0
        private void Minimize()
        {
            if (!CanMini)
            {
                return;
            }

            if (FormPos.X * 0.925f > 0.1f + FormSizeMin.X * (Spot % ((int)System.Math.Round(mScreenSize.X / FormSizeMin.X, MidpointRounding.AwayFromZero) - 1)))
            {
                FormPos *= new Vector2(0.925f, 0);
            }
            else
            {
                FormPos = new Vector2(0f + FormSizeMin.X * (Spot % ((int)System.Math.Round(mScreenSize.X / FormSizeMin.X, MidpointRounding.AwayFromZero) - 1)), FormPos.Y);
            }

            float targetPosY = (mScreenSize.Y - FormSizeMin.Y * (int)(System.Math.Round(Spot / 5f, MidpointRounding.AwayFromZero) + 1));

            if (System.Math.Abs(targetPosY - FormPos.Y) > 0.2f)
            {
                FormPos += new Vector2(0, (targetPosY - FormPos.Y) * 0.2f);
            }
            else
            {
                FormPos = new Vector2(FormPos.X, mScreenSize.Y - FormSizeMin.Y * (int)(System.Math.Round(Spot / 5f, MidpointRounding.AwayFromZero) + 1));
            }

            if (FormSize.X * 0.925f > FormSizeMin.X + 0.1f)
            {
                FormSize *= new Vector2(0.925f, 0);
            }
            else
            {
                FormSize = new Vector2(FormSizeMin.X, FormSize.Y);
            }

            if (FormSize.Y * 0.9f > FormSizeMin.Y + 0.1f)
            {
                FormSize *= new Vector2(0, 0.9f);
            }
            else
            {
                FormSize = new Vector2(FormSize.X, FormSizeMin.Y);
            }

            FormPos  = new Vector2((int)FormPos.X, FormPos.Y);
            FormSize = new Vector2((int)FormSize.X, (int)FormSize.Y);

            Redraw();

            if (FormPos == new Vector2(0f + FormSizeMin.X * (Spot % ((int)System.Math.Round(mScreenSize.X / FormSizeMin.X, MidpointRounding.AwayFromZero) - 1)), mScreenSize.Y - FormSizeMin.Y * (int)(System.Math.Round(Spot / 5f, MidpointRounding.AwayFromZero) + 1)) && FormSize == FormSizeMin)
            {
                Form.InUse     = false;
                mFormStatePrev = FormState;
                FormState      = EFormState.Minimized;

                if (OnResized != null)
                {
                    OnResized(new FormResizedEventsArgs(FormState));
                }
            }
        }
Пример #4
0
        private void Maximize()
        {
            if (!CanMaxi)
            {
                return;
            }

            if (FormPos.X * 0.9f > 0.05f)
            {
                FormPos *= new Vector2(0.9f, 0);
            }
            else
            {
                FormPos = Vector2.Zero;
            }

            if (FormPos.Y * 0.9f > 0.05f)
            {
                FormPos *= new Vector2(0.9f, 0);
            }
            else
            {
                FormPos = Vector2.Zero;
            }

            FormPos = new Vector2((int)FormPos.X, (int)FormPos.Y);

            if (FormSize.X * 1.025f < mScreenSize.X)
            {
                FormSize = new Vector2(FormSize.X * 1.025f, FormSize.Y);
            }
            else
            {
                FormSize = new Vector2(mScreenSize.X, FormSize.Y);
            }

            if (FormSize.Y * 1.025f < mScreenSize.Y)
            {
                FormSize = new Vector2(FormSize.X, FormSize.Y * 1.025f);
            }
            else
            {
                FormSize = new Vector2(FormSize.X, mScreenSize.Y);
            }

            FormSize = new Vector2((int)FormSize.X, (int)FormSize.Y);

            Redraw();

            if (FormPos == Vector2.Zero && FormSize == mScreenSize)
            {
                Form.InUse = false;
                if (mFormStatePrev == EFormState.Minimized)
                {
                    Form.MinimizeSpot[Spot] = 0;
                }
                mFormStatePrev = FormState;
                FormState      = EFormState.Maximized;

                if (OnResized != null)
                {
                    OnResized(new FormResizedEventsArgs(FormState));
                }
            }
        }
Пример #5
0
 public FormResizedEventsArgs(EFormState FormState)
 {
     mFormState = FormState;
 }
Пример #6
0
		public FormResizedEventsArgs( EFormState FormState ) {
			mFormState = FormState;
		}
Пример #7
0
		private void Restore() {
			if( Vector2.Distance( mFormPosPrev, FormPos ) > 10f )
				FormPos += ( mFormPosPrev - FormPos ) * 0.2f;
			else
				FormPos = mFormPosPrev;

			if( Vector2.Distance( mFormSizePrev, FormSize ) > 10f )
				FormSize += ( mFormSizePrev - FormSize ) * 0.2f;
			else
				FormSize = mFormSizePrev;

			FormPos = new Vector2( (int)FormPos.X, (int)FormPos.Y );
			FormSize = new Vector2( (int)FormSize.X, (int)FormSize.Y );

			Redraw();

			if( FormPos == mFormPosPrev && FormSize == mFormSizePrev ) {
				Form.InUse = false;
				mFormStatePrev = FormState;
				FormState = EFormState.Restored;

				if( OnResized != null )
					OnResized( new FormResizedEventsArgs( FormState ) );
			}
		}
Пример #8
0
		private void Minimize() {
			if( !CanMini )
				return;

			if( FormPos.X * 0.925f > 0.1f + FormSizeMin.X * ( Spot % ( (int)System.Math.Round( mScreenSize.X / FormSizeMin.X, MidpointRounding.AwayFromZero ) - 1 ) ) )
				FormPos *= new Vector2( 0.925f, 0 );
			else
				FormPos = new Vector2( 0f + FormSizeMin.X * ( Spot % ( (int)System.Math.Round( mScreenSize.X / FormSizeMin.X, MidpointRounding.AwayFromZero ) - 1 ) ), FormPos.Y );

			float targetPosY = ( mScreenSize.Y - FormSizeMin.Y * (int)( System.Math.Round( Spot / 5f, MidpointRounding.AwayFromZero ) + 1 ) );

			if( System.Math.Abs( targetPosY - FormPos.Y ) > 0.2f )
				FormPos += new Vector2( 0, ( targetPosY - FormPos.Y ) * 0.2f );
			else
				FormPos = new Vector2( FormPos.X, mScreenSize.Y - FormSizeMin.Y * (int)( System.Math.Round( Spot / 5f, MidpointRounding.AwayFromZero ) + 1 ) );

			if( FormSize.X * 0.925f > FormSizeMin.X + 0.1f )
				FormSize *= new Vector2( 0.925f, 0 );
			else
				FormSize = new Vector2( FormSizeMin.X, FormSize.Y );

			if( FormSize.Y * 0.9f > FormSizeMin.Y + 0.1f )
				FormSize *= new Vector2( 0, 0.9f );
			else
				FormSize = new Vector2( FormSize.X, FormSizeMin.Y );

			FormPos = new Vector2( (int)FormPos.X, FormPos.Y );
			FormSize = new Vector2( (int)FormSize.X, (int)FormSize.Y );

			Redraw();

			if( FormPos == new Vector2( 0f + FormSizeMin.X * ( Spot % ( (int)System.Math.Round( mScreenSize.X / FormSizeMin.X, MidpointRounding.AwayFromZero ) - 1 ) ), mScreenSize.Y - FormSizeMin.Y * (int)( System.Math.Round( Spot / 5f, MidpointRounding.AwayFromZero ) + 1 ) ) && FormSize == FormSizeMin ) {
				Form.InUse = false;
				mFormStatePrev = FormState;
				FormState = EFormState.Minimized;

				if( OnResized != null )
					OnResized( new FormResizedEventsArgs( FormState ) );
			}
		}
Пример #9
0
		private void Maximize() {
			if( !CanMaxi )
				return;

			if( FormPos.X * 0.9f > 0.05f )
				FormPos *= new Vector2( 0.9f, 0 );
			else
				FormPos = Vector2.Zero;

			if( FormPos.Y * 0.9f > 0.05f )
				FormPos *= new Vector2( 0.9f, 0 );
			else
				FormPos = Vector2.Zero;

			FormPos = new Vector2( (int)FormPos.X, (int)FormPos.Y );

			if( FormSize.X * 1.025f < mScreenSize.X )
				FormSize = new Vector2( FormSize.X * 1.025f, FormSize.Y );
			else
				FormSize = new Vector2( mScreenSize.X, FormSize.Y );

			if( FormSize.Y * 1.025f < mScreenSize.Y )
				FormSize = new Vector2( FormSize.X, FormSize.Y * 1.025f );
			else
				FormSize = new Vector2( FormSize.X, mScreenSize.Y );

			FormSize = new Vector2( (int)FormSize.X, (int)FormSize.Y );

			Redraw();

			if( FormPos == Vector2.Zero && FormSize == mScreenSize ) {
				Form.InUse = false;
				if( mFormStatePrev == EFormState.Minimized )
					Form.MinimizeSpot[ Spot ] = 0;
				mFormStatePrev = FormState;
				FormState = EFormState.Maximized;

				if( OnResized != null )
					OnResized( new FormResizedEventsArgs( FormState ) );
			}
		}
Пример #10
0
		private void maximizeButton_onMouseRelease( Object obj, EventArgs e ) {
			if( CanMaxi == false && FormState != EFormState.Minimized )
				return;
			if( Form.TopForm != this )
				return;

			if( FormState == EFormState.Restored ) {
				mFormPosPrev = FormPos;
				mFormSizePrev = FormSize;
				mFormStatePrev = FormState;
				FormState = EFormState.Maximizing;
				SetFocus();
			} else if( FormState == EFormState.Minimized || FormState == EFormState.Maximized ) {
				mFormStatePrev = FormState;
				if( FormState == EFormState.Minimized ) {
					if( Spot != -1 && Form.MinimizeSpot[ Spot ] == 1 ) {
						Form.MinimizeSpot[ Spot ] = 0;
						Spot = -1;
					}
				}
				SetFocus();
				FormState = EFormState.Restoring;
			} else if( FormState == EFormState.Minimizing ) {
				if( Spot != -1 && Form.MinimizeSpot[ Spot ] == 1 ) {
					Form.MinimizeSpot[ Spot ] = 0;
					Spot = -1;
				}
				SetFocus();
				FormState = EFormState.Restoring;
			}
		}