本文整理汇总了C++中CAction::GetRepeat方法的典型用法代码示例。如果您正苦于以下问题:C++ CAction::GetRepeat方法的具体用法?C++ CAction::GetRepeat怎么用?C++ CAction::GetRepeat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CAction
的用法示例。
在下文中一共展示了CAction::GetRepeat方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnAction
bool CSeekHandler::OnAction(const CAction &action)
{
if (!g_application.m_pPlayer->IsPlaying() || !g_application.m_pPlayer->CanSeek())
return false;
SeekType type = g_application.CurrentFileItem().IsAudio() ? SEEK_TYPE_MUSIC : SEEK_TYPE_VIDEO;
switch (action.GetID())
{
case ACTION_SMALL_STEP_BACK:
case ACTION_STEP_BACK:
{
Seek(false, action.GetAmount(), action.GetRepeat(), false, type);
return true;
}
case ACTION_STEP_FORWARD:
{
Seek(true, action.GetAmount(), action.GetRepeat(), false, type);
return true;
}
case ACTION_BIG_STEP_BACK:
case ACTION_CHAPTER_OR_BIG_STEP_BACK:
{
g_application.m_pPlayer->Seek(false, true, action.GetID() == ACTION_CHAPTER_OR_BIG_STEP_BACK);
return true;
}
case ACTION_BIG_STEP_FORWARD:
case ACTION_CHAPTER_OR_BIG_STEP_FORWARD:
{
g_application.m_pPlayer->Seek(true, true, action.GetID() == ACTION_CHAPTER_OR_BIG_STEP_FORWARD);
return true;
}
case ACTION_NEXT_SCENE:
{
g_application.m_pPlayer->SeekScene(true);
return true;
}
case ACTION_PREV_SCENE:
{
g_application.m_pPlayer->SeekScene(false);
return true;
}
case ACTION_ANALOG_SEEK_FORWARD:
case ACTION_ANALOG_SEEK_BACK:
{
if (action.GetAmount())
Seek(action.GetID() == ACTION_ANALOG_SEEK_FORWARD, action.GetAmount(), action.GetRepeat(), true);
return true;
}
default:
break;
}
return false;
}
示例2: setFromCAction
void Action::setFromCAction(const CAction& action)
{
TRACE;
id = action.GetID();
buttonCode = action.GetButtonCode();
fAmount1 = action.GetAmount(0);
fAmount2 = action.GetAmount(1);
fRepeat = action.GetRepeat();
strAction = action.GetName();
}
示例3: OnAction
bool CGUIDialogSeekBar::OnAction(const CAction &action)
{
if (action.GetID() == ACTION_ANALOG_SEEK_FORWARD || action.GetID() == ACTION_ANALOG_SEEK_BACK)
{
if (!m_bRequireSeek)
{ // start of seeking
if (g_infoManager.GetTotalPlayTime())
m_fSeekPercentage = (float)g_infoManager.GetPlayTime() / g_infoManager.GetTotalPlayTime() * 0.1f;
else
m_fSeekPercentage = 0.0f;
// tell info manager that we have started a seekbar operation
m_bRequireSeek = true;
g_infoManager.SetSeeking(true);
}
// calculate our seek amount
if (g_application.m_pPlayer && !g_infoManager.m_performingSeek)
{
//100% over 1 second.
float speed = 100.0f;
if( action.GetRepeat() )
speed *= action.GetRepeat();
else
speed /= g_infoManager.GetFPS();
if (action.GetID() == ACTION_ANALOG_SEEK_FORWARD)
m_fSeekPercentage += action.GetAmount() * action.GetAmount() * speed;
else
m_fSeekPercentage -= action.GetAmount() * action.GetAmount() * speed;
if (m_fSeekPercentage > 100.0f) m_fSeekPercentage = 100.0f;
if (m_fSeekPercentage < 0.0f) m_fSeekPercentage = 0.0f;
CGUISliderControl *pSlider = (CGUISliderControl*)GetControl(POPUP_SEEK_SLIDER);
if (pSlider) pSlider->SetPercentage((int)m_fSeekPercentage); // Update our seek bar accordingly
}
ResetTimer();
return true;
}
return CGUIDialog::OnAction(action);
}
示例4: OnAction
bool CSeekHandler::OnAction(const CAction &action)
{
if (!g_application.m_pPlayer->IsPlaying() || !g_application.m_pPlayer->CanSeek())
return false;
SeekType type = g_application.CurrentFileItem().IsAudio() ? SEEK_TYPE_MUSIC : SEEK_TYPE_VIDEO;
if (SeekTimeCode(action))
return true;
switch (action.GetID())
{
case ACTION_SMALL_STEP_BACK:
case ACTION_STEP_BACK:
{
Seek(false, action.GetAmount(), action.GetRepeat(), false, type);
return true;
}
case ACTION_STEP_FORWARD:
{
Seek(true, action.GetAmount(), action.GetRepeat(), false, type);
return true;
}
case ACTION_BIG_STEP_BACK:
case ACTION_CHAPTER_OR_BIG_STEP_BACK:
{
g_application.m_pPlayer->Seek(false, true, action.GetID() == ACTION_CHAPTER_OR_BIG_STEP_BACK);
return true;
}
case ACTION_BIG_STEP_FORWARD:
case ACTION_CHAPTER_OR_BIG_STEP_FORWARD:
{
g_application.m_pPlayer->Seek(true, true, action.GetID() == ACTION_CHAPTER_OR_BIG_STEP_FORWARD);
return true;
}
case ACTION_NEXT_SCENE:
{
g_application.m_pPlayer->SeekScene(true);
return true;
}
case ACTION_PREV_SCENE:
{
g_application.m_pPlayer->SeekScene(false);
return true;
}
case ACTION_ANALOG_SEEK_FORWARD:
case ACTION_ANALOG_SEEK_BACK:
{
if (action.GetAmount())
Seek(action.GetID() == ACTION_ANALOG_SEEK_FORWARD, action.GetAmount(), action.GetRepeat(), true);
return true;
}
case REMOTE_0:
case REMOTE_1:
case REMOTE_2:
case REMOTE_3:
case REMOTE_4:
case REMOTE_5:
case REMOTE_6:
case REMOTE_7:
case REMOTE_8:
case REMOTE_9:
case ACTION_JUMP_SMS2:
case ACTION_JUMP_SMS3:
case ACTION_JUMP_SMS4:
case ACTION_JUMP_SMS5:
case ACTION_JUMP_SMS6:
case ACTION_JUMP_SMS7:
case ACTION_JUMP_SMS8:
case ACTION_JUMP_SMS9:
{
if (!g_application.CurrentFileItem().IsLiveTV())
{
ChangeTimeCode(action.GetID());
return true;
}
}
break;
default:
break;
}
return false;
}