summaryrefslogtreecommitdiff
path: root/NxWidgets/nxwm/include/cmediaplayer.hxx
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-07-15 19:47:56 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-07-15 19:47:56 -0600
commit74c42dfcc7593b2709a7ebf314c87fa6abd8cb78 (patch)
tree2df773c5e905e42025f53626e9b30646cf85f82a /NxWidgets/nxwm/include/cmediaplayer.hxx
parent3b23fa49224b3134f09d7773bc5fd9c2d768f5fa (diff)
downloadnuttx-74c42dfcc7593b2709a7ebf314c87fa6abd8cb78.tar.gz
nuttx-74c42dfcc7593b2709a7ebf314c87fa6abd8cb78.tar.bz2
nuttx-74c42dfcc7593b2709a7ebf314c87fa6abd8cb78.zip
NxWM::CMediaPlayer: Fix issues with state changes performed on the PreRelese event handler
Diffstat (limited to 'NxWidgets/nxwm/include/cmediaplayer.hxx')
-rw-r--r--NxWidgets/nxwm/include/cmediaplayer.hxx23
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