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; } }
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)); } } }
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)); } } }
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)); } } }
public FormResizedEventsArgs(EFormState FormState) { mFormState = FormState; }
public FormResizedEventsArgs( EFormState FormState ) { mFormState = FormState; }
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 ) ); } }
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 ) ); } }
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 ) ); } }
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; } }