Пример #1
0
static void
FlushFadeXForms (void)
{
	LockMutex (XFormControl.Lock);
	finishPendingFade ();
	UnlockMutex (XFormControl.Lock);
}
Пример #2
0
static void
FlushFadeXForms (void)
{
	LockMutex (fadeLock);
	finishPendingFade ();
	UnlockMutex (fadeLock);
}
Пример #3
0
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;
}