diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-07-15 09:48:47 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-07-15 09:48:47 -0600 |
commit | b5f93038acbef20d72d4c7fa8aed3f10825aef39 (patch) | |
tree | 11b68f3ed51d1854c32d3aae58309b78f3e82ad3 /NxWidgets | |
parent | e601b138e729cf16e139466aa098ee9736cd205d (diff) | |
download | nuttx-b5f93038acbef20d72d4c7fa8aed3f10825aef39.tar.gz nuttx-b5f93038acbef20d72d4c7fa8aed3f10825aef39.tar.bz2 nuttx-b5f93038acbef20d72d4c7fa8aed3f10825aef39.zip |
NxWM::CMediaPlayer: Now uses CStickyImages for fast forward and rewind
Diffstat (limited to 'NxWidgets')
-rw-r--r-- | NxWidgets/nxwm/include/cmediaplayer.hxx | 5 | ||||
-rw-r--r-- | NxWidgets/nxwm/src/cmediaplayer.cxx | 32 |
2 files changed, 30 insertions, 7 deletions
diff --git a/NxWidgets/nxwm/include/cmediaplayer.hxx b/NxWidgets/nxwm/include/cmediaplayer.hxx index 7f909f478..569ab8f44 100644 --- a/NxWidgets/nxwm/include/cmediaplayer.hxx +++ b/NxWidgets/nxwm/include/cmediaplayer.hxx @@ -47,6 +47,7 @@ #include <nuttx/nx/nxconsole.h> #include "cimage.hxx" +#include "cstickyimage.hxx" #include "clabel.hxx" #include "cnxfont.hxx" #include "cglyphsliderhorizontal.hxx" @@ -122,9 +123,9 @@ namespace NxWM NXWidgets::CLabel *m_text; /**< Some text in the app for now */ NXWidgets::CNxFont *m_font; /**< The font used in the media player */ - NXWidgets::CImage *m_rew; /**< Rewind control */ + NXWidgets::CStickyImage *m_rew; /**< Rewind control */ NXWidgets::CImage *m_playPause; /**< Play/Pause control */ - NXWidgets::CImage *m_fwd; /**< Forward control */ + NXWidgets::CStickyImage *m_fwd; /**< Forward control */ NXWidgets::CGlyphSliderHorizontal *m_volume; /**< Volume control */ /** diff --git a/NxWidgets/nxwm/src/cmediaplayer.cxx b/NxWidgets/nxwm/src/cmediaplayer.cxx index 8e0f41585..c57ed8dcc 100644 --- a/NxWidgets/nxwm/src/cmediaplayer.cxx +++ b/NxWidgets/nxwm/src/cmediaplayer.cxx @@ -460,8 +460,8 @@ bool CMediaPlayer::createPlayer(void) CONFIG_NXWM_MEDIAPLAYER_XSPACING; m_rew = new NXWidgets:: - CImage(control, rewControlX, (nxgl_coord_t)controlY, - rewButtonW, buttonH, rewBitmap); + CStickyImage(control, rewControlX, (nxgl_coord_t)controlY, + rewButtonW, buttonH, rewBitmap); // Configure the Rewind image @@ -483,9 +483,8 @@ bool CMediaPlayer::createPlayer(void) CONFIG_NXWM_MEDIAPLAYER_XSPACING; m_fwd = new NXWidgets:: - CImage(control, fwdControlX, (nxgl_coord_t)controlY, - fwdButtonW, buttonH, fwdBitmap); - + CStickyImage(control, fwdControlX, (nxgl_coord_t)controlY, + fwdButtonW, buttonH, fwdBitmap); // Configure the Forward image @@ -564,6 +563,8 @@ void CMediaPlayer::handleActionEvent(const NXWidgets::CWidgetEventArgs &e) { printf("Play/pause clicked\n"); + // Playing or pausing? + if (m_state == MPLAYER_PLAYING) { printf("Media player is now paused\n"); @@ -576,6 +577,11 @@ void CMediaPlayer::handleActionEvent(const NXWidgets::CWidgetEventArgs &e) m_state = MPLAYER_PLAYING; m_prevState = MPLAYER_PLAYING; } + + // In any case, we are certainly no longer fast forwarding or rewinding + + m_rew->setStuckSelection(false); + m_fwd->setStuckSelection(false); } if (m_rew->isClicked()) @@ -587,12 +593,20 @@ void CMediaPlayer::handleActionEvent(const NXWidgets::CWidgetEventArgs &e) // Or increase rewind speed? printf("Reverting to previous Play/Pause state\n"); m_state = m_prevState; + + // Show that we are no longer rewinding + + m_rew->setStuckSelection(false); } else { printf("Rewinding...\n"); m_state = MPLAYER_FREWIND; } + + // In any case, we are certainly no longer fast forwarding + + m_fwd->setStuckSelection(false); } if (m_fwd->isClicked()) @@ -604,12 +618,20 @@ void CMediaPlayer::handleActionEvent(const NXWidgets::CWidgetEventArgs &e) // Or increase fast forward speed? printf("Reverting to previous Play/Pause state\n"); m_state = m_prevState; + + // Show that we are no longer fast forwarding + + m_fwd->setStuckSelection(false); } else { printf("Fast forwarding...\n"); m_state = MPLAYER_FFORWARD; } + + // In any case, we are certainly no longer rewinding + + m_rew->setStuckSelection(false); } if (m_volume->isClicked()) |