Example #1
0
//------------------------------------------------------------------------------
long BMenuField::MenuTask(void *arg)
{
	BMenuField *menuField = (BMenuField*)arg;

	if (!menuField->LockLooper())
		return 0;

	menuField->fSelected = true;
	menuField->fTransition = true;
	menuField->Draw(menuField->Bounds());

	menuField->UnlockLooper();

	bool tracking;

	do
	{
		snooze(20000);

		if (!menuField->LockLooper())
			return 0;

		tracking = menuField->fMenuBar->fTracking;

		menuField->UnlockLooper();
	} while (tracking);

	if (!menuField->LockLooper())
		return 0;

	menuField->fSelected = false;
	menuField->fTransition = true;
	menuField->Draw(menuField->Bounds());

	menuField->UnlockLooper();

	return 0;
}