static void FlushFadeXForms (void) { LockMutex (XFormControl.Lock); finishPendingFade (); UnlockMutex (XFormControl.Lock); }
static void FlushFadeXForms (void) { LockMutex (fadeLock); finishPendingFade (); UnlockMutex (fadeLock); }
DWORD FadeScreen (ScreenFadeType fadeType, SIZE TimeInterval) { TimeCount TimeOut; int FadeEnd; switch (fadeType) { case FadeAllToBlack: case FadeSomeToBlack: FadeEnd = FADE_NO_INTENSITY; break; case FadeAllToColor: case FadeSomeToColor: FadeEnd = FADE_NORMAL_INTENSITY; break; case FadeAllToWhite: case FadeSomeToWhite: FadeEnd = FADE_FULL_INTENSITY; break; default: return (GetTimeCounter ()); } // Don't make users wait for fades if (QuitPosted) TimeInterval = 0; LockMutex (XFormControl.Lock); finishPendingFade (); if (TimeInterval <= 0) { // end the fade immediately fadeAmount = FadeEnd; // cancel any pending fades fadeInterval = 0; TimeOut = GetTimeCounter (); } else { fadeInterval = TimeInterval; fadeDelta = FadeEnd - fadeAmount; fadeStartTime = GetTimeCounter (); TimeOut = fadeStartTime + TimeInterval + 1; } UnlockMutex (XFormControl.Lock); return TimeOut; }