本文整理汇总了C++中CGUISliderControl::SetPercentage方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUISliderControl::SetPercentage方法的具体用法?C++ CGUISliderControl::SetPercentage怎么用?C++ CGUISliderControl::SetPercentage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUISliderControl
的用法示例。
在下文中一共展示了CGUISliderControl::SetPercentage方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FrameMove
void CGUIDialogSeekBar::FrameMove()
{
if (!g_application.m_pPlayer)
{
Close(true);
return;
}
// update controls
if (!g_application.GetSeekHandler()->InProgress() && !g_infoManager.m_performingSeek)
{ // position the bar at our current time
CGUISliderControl *pSlider = (CGUISliderControl*)GetControl(POPUP_SEEK_SLIDER);
if (pSlider && g_infoManager.GetTotalPlayTime())
pSlider->SetPercentage((float)g_infoManager.GetPlayTime()/g_infoManager.GetTotalPlayTime() * 0.1f);
CGUIMessage msg(GUI_MSG_LABEL_SET, GetID(), POPUP_SEEK_LABEL);
msg.SetLabel(g_infoManager.GetCurrentPlayTime());
OnMessage(msg);
}
else
{
CGUISliderControl *pSlider = (CGUISliderControl*)GetControl(POPUP_SEEK_SLIDER);
if (pSlider)
pSlider->SetPercentage(g_application.GetSeekHandler()->GetPercent());
CGUIMessage msg(GUI_MSG_LABEL_SET, GetID(), POPUP_SEEK_LABEL);
msg.SetLabel(g_infoManager.GetCurrentSeekTime());
OnMessage(msg);
}
CGUIDialog::FrameMove();
}
示例2: FrameMove
void CGUIDialogSeekBar::FrameMove()
{
#if defined(__VIDONME_MEDIACENTER__)
if (VidOnMe::VDMUtils::Instance().GetRunningMode() == VidOnMe::RM_VIDONME)
{
return;
}
#endif
if (!g_application.m_pPlayer)
{
Close(true);
return;
}
// update controls
if (!g_application.GetSeekHandler()->InProgress() && !g_infoManager.m_performingSeek)
{ // position the bar at our current time
CGUISliderControl *pSlider = (CGUISliderControl*)GetControl(POPUP_SEEK_SLIDER);
if (pSlider && g_infoManager.GetTotalPlayTime())
pSlider->SetPercentage((float)g_infoManager.GetPlayTime()/g_infoManager.GetTotalPlayTime() * 0.1f);
CGUIMessage msg(GUI_MSG_LABEL_SET, GetID(), POPUP_SEEK_LABEL);
msg.SetLabel(g_infoManager.GetCurrentPlayTime());
OnMessage(msg);
}
else
{
CGUISliderControl *pSlider = (CGUISliderControl*)GetControl(POPUP_SEEK_SLIDER);
if (pSlider)
pSlider->SetPercentage(g_application.GetSeekHandler()->GetPercent());
CGUIMessage msg(GUI_MSG_LABEL_SET, GetID(), POPUP_SEEK_LABEL);
msg.SetLabel(g_infoManager.GetCurrentSeekTime());
OnMessage(msg);
}
CGUIDialog::FrameMove();
}
示例3: SetPercentage
void Interface_GUIControlSlider::SetPercentage(void* kodiBase, void* handle, float percent)
{
CAddonDll* addon = static_cast<CAddonDll*>(kodiBase);
if (!addon)
{
CLog::Log(LOGERROR, "ADDON::Interface_GUIControlSlider::%s - invalid data", __FUNCTION__);
return;
}
if (!handle)
{
CLog::Log(LOGERROR, "ADDON::Interface_GUIControlSlider::%s - invalid handler data on addon '%s'", __FUNCTION__, addon->ID().c_str());
return;
}
CGUISliderControl* pControl = static_cast<CGUISliderControl *>(handle);
pControl->SetType(SLIDER_CONTROL_TYPE_PERCENTAGE);
pControl->SetPercentage(percent);
}
示例4: 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);
}
示例5: FrameMove
void CGUIDialogSeekBar::FrameMove()
{
if (!g_application.m_pPlayer)
{
Close(true);
return;
}
// check if we should seek or exit
if (!g_infoManager.m_performingSeek && CTimeUtils::GetFrameTime() - m_timer > SEEK_BAR_DISPLAY_TIME)
g_infoManager.SetSeeking(false);
// render our controls
if (!m_bRequireSeek && !g_infoManager.m_performingSeek)
{ // position the bar at our current time
CGUISliderControl *pSlider = (CGUISliderControl*)GetControl(POPUP_SEEK_SLIDER);
if (pSlider && g_infoManager.GetTotalPlayTime())
pSlider->SetPercentage((int)((float)g_infoManager.GetPlayTime()/g_infoManager.GetTotalPlayTime() * 0.1f));
CGUIMessage msg(GUI_MSG_LABEL_SET, GetID(), POPUP_SEEK_LABEL);
msg.SetLabel(g_infoManager.GetCurrentPlayTime());
OnMessage(msg);
}
else
{
CGUIMessage msg(GUI_MSG_LABEL_SET, GetID(), POPUP_SEEK_LABEL);
msg.SetLabel(GetSeekTimeLabel());
OnMessage(msg);
}
// Check for seek timeout, and perform the seek
if (m_bRequireSeek && CTimeUtils::GetFrameTime() - m_timer > SEEK_BAR_SEEK_TIME)
{
g_infoManager.m_performingSeek = true;
double time = g_infoManager.GetTotalPlayTime() * m_fSeekPercentage * 0.01;
g_application.SeekTime(time);
m_bRequireSeek = false;
}
CGUIDialog::FrameMove();
}
示例6: OnAction
bool CGUIDialogSeekBar::OnAction(const CAction &action)
{
if (action.wID == ACTION_ANALOG_SEEK_FORWARD || action.wID == 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 a couple seconds.
float speed = 1.0f;
// This is a bit of hack right now, to match what we're getting.
m_fSeekPercentage += action.fAmount1 * 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);
}