Improved demo player another bit.

* Replaced the reset button by more common stop button
* Made the demo player automatically reset after demo ended
This commit is contained in:
Fujnky 2010-09-03 22:30:46 +02:00 committed by oy
parent 538d968349
commit 4123f28bba
3 changed files with 14 additions and 6 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 B

After

Width:  |  Height:  |  Size: 616 B

View file

@ -368,7 +368,7 @@ container.sprites.Add(Sprite("browse_unpure", set_browseicons, 3,0,1,1))
container.sprites.Add(Sprite("demobutton_play", set_demobuttons, 0,0,1,1)) container.sprites.Add(Sprite("demobutton_play", set_demobuttons, 0,0,1,1))
container.sprites.Add(Sprite("demobutton_pause", set_demobuttons, 1,0,1,1)) container.sprites.Add(Sprite("demobutton_pause", set_demobuttons, 1,0,1,1))
container.sprites.Add(Sprite("demobutton_reset", set_demobuttons, 2,0,1,1)) container.sprites.Add(Sprite("demobutton_stop", set_demobuttons, 2,0,1,1))
container.sprites.Add(Sprite("demobutton_slower", set_demobuttons, 3,0,1,1)) container.sprites.Add(Sprite("demobutton_slower", set_demobuttons, 3,0,1,1))
container.sprites.Add(Sprite("demobutton_faster", set_demobuttons, 4,0,1,1)) container.sprites.Add(Sprite("demobutton_faster", set_demobuttons, 4,0,1,1))

View file

@ -59,6 +59,9 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
CUIRect SeekBar, ButtonBar; CUIRect SeekBar, ButtonBar;
int CurrentTick = pInfo->m_CurrentTick - pInfo->m_FirstTick;
int TotalTicks = pInfo->m_LastTick - pInfo->m_FirstTick;
if(m_MenuActive) if(m_MenuActive)
{ {
MainView.HSplitTop(SeekBarHeight, &SeekBar, &ButtonBar); MainView.HSplitTop(SeekBarHeight, &SeekBar, &ButtonBar);
@ -75,9 +78,6 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
RenderTools()->DrawUIRect(&SeekBar, vec4(0,0,0,0.5f), CUI::CORNER_ALL, 5.0f); RenderTools()->DrawUIRect(&SeekBar, vec4(0,0,0,0.5f), CUI::CORNER_ALL, 5.0f);
int CurrentTick = pInfo->m_CurrentTick - pInfo->m_FirstTick;
int TotalTicks = pInfo->m_LastTick - pInfo->m_FirstTick;
float Amount = CurrentTick/(float)TotalTicks; float Amount = CurrentTick/(float)TotalTicks;
CUIRect FilledBar = SeekBar; CUIRect FilledBar = SeekBar;
@ -120,7 +120,12 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
if(Inside) if(Inside)
UI()->SetHotItem(id); UI()->SetHotItem(id);
} }
if(CurrentTick == TotalTicks)
{
DemoPlayer()->Pause();
DemoPlayer()->SetPos(0);
}
if(m_MenuActive) if(m_MenuActive)
{ {
@ -141,11 +146,14 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
DemoPlayer()->Unpause(); DemoPlayer()->Unpause();
} }
// stop button
ButtonBar.VSplitLeft(Margins, 0, &ButtonBar); ButtonBar.VSplitLeft(Margins, 0, &ButtonBar);
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar); ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
static int s_ResetButton = 0; static int s_ResetButton = 0;
if(DoButton_DemoPlayer_Sprite(&s_ResetButton, SPRITE_DEMOBUTTON_RESET, false, &Button)) if(DoButton_DemoPlayer_Sprite(&s_ResetButton, SPRITE_DEMOBUTTON_STOP, false, &Button))
{ {
DemoPlayer()->Pause();
DemoPlayer()->SetPos(0); DemoPlayer()->SetPos(0);
} }