bool ControllerFadeAlpha::addTime(WidgetPtr _widget, float _time) { float alpha = _widget->getAlpha(); // проверяем нужно ли к чему еще стремиться if (mAlpha > alpha) { alpha += _time * mCoef; if (mAlpha > alpha) { _widget->setAlpha(alpha); eventUpdateAction(_widget); return true; } else { _widget->setAlpha(mAlpha); } } else if (mAlpha < alpha) { alpha -= _time * mCoef; if (mAlpha < alpha) { _widget->setAlpha(alpha); eventUpdateAction(_widget); return true; } else { _widget->setAlpha(mAlpha); } } // вызываем пользовательский делегат пост обработки eventPostAction(_widget); return false; }
void ControllerFadeAlpha::prepareItem(WidgetPtr _widget) { // подготовка виджета, блокируем если только нужно if (!mEnabled) _widget->setEnabledSilent(mEnabled); if ((ALPHA_MIN != mAlpha) && (false == _widget->isVisible())) { _widget->setAlpha(ALPHA_MIN); _widget->setVisible(true); } // отписываем его от ввода if (false == mEnabled) InputManager::getInstance()._unlinkWidget(_widget); // вызываем пользовательский делегат для подготовки eventPreAction(_widget); }
void WidgetFactory::Widget_Alpha(WidgetPtr _widget, const Ogre::String &_key, const Ogre::String &_value) { _widget->setAlpha(utility::parseFloat(_value)); }