diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-07-15 19:47:56 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-07-15 19:47:56 -0600 |
commit | 74c42dfcc7593b2709a7ebf314c87fa6abd8cb78 (patch) | |
tree | 2df773c5e905e42025f53626e9b30646cf85f82a /NxWidgets/nxwm/include | |
parent | 3b23fa49224b3134f09d7773bc5fd9c2d768f5fa (diff) | |
download | px4-nuttx-74c42dfcc7593b2709a7ebf314c87fa6abd8cb78.tar.gz px4-nuttx-74c42dfcc7593b2709a7ebf314c87fa6abd8cb78.tar.bz2 px4-nuttx-74c42dfcc7593b2709a7ebf314c87fa6abd8cb78.zip |
NxWM::CMediaPlayer: Fix issues with state changes performed on the PreRelese event handler
Diffstat (limited to 'NxWidgets/nxwm/include')
-rw-r--r-- | NxWidgets/nxwm/include/cmediaplayer.hxx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/NxWidgets/nxwm/include/cmediaplayer.hxx b/NxWidgets/nxwm/include/cmediaplayer.hxx index 8c07eea2d..f0888b57f 100644 --- a/NxWidgets/nxwm/include/cmediaplayer.hxx +++ b/NxWidgets/nxwm/include/cmediaplayer.hxx @@ -93,6 +93,13 @@ namespace NxWM MPLAYER_FREWIND, /**< Rewinding a media file */ }; + enum EPendingRelease + { + PENDING_NONE = 0, /**< Nothing is pending */ + PENDING_PLAY_RELEASE, /**< Expect play image to be released */ + PENDING_PAUSE_RELEASE /**< Expect pause image to be released */ + }; + /** * The structure defines a pending operation. */ @@ -109,6 +116,7 @@ namespace NxWM enum EMediaPlayerState m_state; /**< Media player current state */ enum EMediaPlayerState m_prevState; /**< Media player previous state */ + enum EPendingRelease m_pending; /**< Pending image release event */ /** * Cached constructor parameters. @@ -181,6 +189,21 @@ namespace NxWM void handleActionEvent(const NXWidgets::CWidgetEventArgs &e); + /** + * Handle a widget release event. Only the play and pause image release + * are of interest. + */ + + void handleReleaseEvent(const NXWidgets::CWidgetEventArgs &e); + + /** + * Handle a widget release event when the widget WAS dragged outside of + * its original bounding box. Only the play and pause image release + * are of interest. + */ + + void handleReleaseOutsideEvent(const NXWidgets::CWidgetEventArgs &e); + public: /** * CMediaPlayer constructor |