NxWM::CMediaPlayer: Fix of state related bugs + Size if CLabel is increased (in preparation for becoming a CListBox)
This commit is contained in:
parent
abc11dd52a
commit
9a471672b3
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/include/cimage.hxx
|
* NxWidgets/libnxwidgets/include/cimage.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012-2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012-2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -218,6 +218,9 @@ namespace NXWidgets
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Destructor.
|
* Destructor.
|
||||||
|
*
|
||||||
|
* NOTE: That the contained bitmap image is not destroyed when the image
|
||||||
|
* container is destroyed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual inline ~CImage() { }
|
virtual inline ~CImage() { }
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/include/cscaledbitmap.hxx
|
* NxWidgets/libnxwidgets/include/cscaledbitmap.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013-2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -75,7 +75,7 @@ namespace NXWidgets
|
|||||||
FAR IBitmap *m_bitmap; /**< The bitmap that is being scaled */
|
FAR IBitmap *m_bitmap; /**< The bitmap that is being scaled */
|
||||||
struct nxgl_size_s m_size; /**< Scaled size of the image */
|
struct nxgl_size_s m_size; /**< Scaled size of the image */
|
||||||
FAR uint8_t *m_rowCache[2]; /**< Two cached rows of the image */
|
FAR uint8_t *m_rowCache[2]; /**< Two cached rows of the image */
|
||||||
int m_row; /**< Row number of the first cached row */
|
unsigned int m_row; /**< Row number of the first cached row */
|
||||||
b16_t m_xScale; /**< X scale factor */
|
b16_t m_xScale; /**< X scale factor */
|
||||||
b16_t m_yScale; /**< Y scale factor */
|
b16_t m_yScale; /**< Y scale factor */
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx
|
* NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -171,7 +171,7 @@ namespace NXWidgets
|
|||||||
* @return The smallest value.
|
* @return The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t getMinimumValue(void) const;
|
const int getMinimumValue(void) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the largest value that the slider can represent.
|
* Get the largest value that the slider can represent.
|
||||||
@ -179,7 +179,7 @@ namespace NXWidgets
|
|||||||
* @return The largest value.
|
* @return The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t getMaximumValue(void) const;
|
const int getMaximumValue(void) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current value of the slider.
|
* Get the current value of the slider.
|
||||||
@ -187,7 +187,7 @@ namespace NXWidgets
|
|||||||
* @return The current slider value.
|
* @return The current slider value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t getValue(void) const;
|
const int getValue(void) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the value represented by the height of the grip.
|
* Get the value represented by the height of the grip.
|
||||||
@ -206,7 +206,7 @@ namespace NXWidgets
|
|||||||
* @param value The smallest value.
|
* @param value The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setMinimumValue(const nxgl_coord_t value);
|
void setMinimumValue(const int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the largest value that the slider can represent.
|
* Set the largest value that the slider can represent.
|
||||||
@ -214,7 +214,7 @@ namespace NXWidgets
|
|||||||
* @param value The largest value.
|
* @param value The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setMaximumValue(const nxgl_coord_t value);
|
void setMaximumValue(const int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition
|
* Set the value that of the slider. This will reposition
|
||||||
@ -223,7 +223,7 @@ namespace NXWidgets
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setValue(const nxgl_coord_t value);
|
void setValue(const int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition and redraw
|
* Set the value that of the slider. This will reposition and redraw
|
||||||
|
@ -170,7 +170,7 @@ namespace NXWidgets
|
|||||||
* @return The smallest value.
|
* @return The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t getMinimumValue(void) const;
|
const int getMinimumValue(void) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the largest value that the slider can represent.
|
* Get the largest value that the slider can represent.
|
||||||
@ -178,7 +178,7 @@ namespace NXWidgets
|
|||||||
* @return The largest value.
|
* @return The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t getMaximumValue(void) const;
|
const int getMaximumValue(void) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current value of the slider.
|
* Get the current value of the slider.
|
||||||
@ -186,7 +186,7 @@ namespace NXWidgets
|
|||||||
* @return The current slider value.
|
* @return The current slider value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t getValue(void) const;
|
const int getValue(void) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the value represented by the height of the grip.
|
* Get the value represented by the height of the grip.
|
||||||
@ -205,7 +205,7 @@ namespace NXWidgets
|
|||||||
* @param value The smallest value.
|
* @param value The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setMinimumValue(const nxgl_coord_t value);
|
void setMinimumValue(const int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the largest value that the slider can represent.
|
* Set the largest value that the slider can represent.
|
||||||
@ -213,7 +213,7 @@ namespace NXWidgets
|
|||||||
* @param value The largest value.
|
* @param value The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setMaximumValue(const nxgl_coord_t value);
|
void setMaximumValue(const int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition
|
* Set the value that of the slider. This will reposition
|
||||||
@ -222,7 +222,7 @@ namespace NXWidgets
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setValue(const nxgl_coord_t value);
|
void setValue(const int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition and redraw
|
* Set the value that of the slider. This will reposition and redraw
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/include/csliderhorizontal.hxx
|
* NxWidgets/libnxwidgets/include/csliderhorizontal.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -110,8 +110,8 @@ namespace NXWidgets
|
|||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
CSliderHorizontalGrip *m_grip; /**< Pointer to the grip. */
|
CSliderHorizontalGrip *m_grip; /**< Pointer to the grip. */
|
||||||
nxgl_coord_t m_minimumValue; /**< Minimum value that the grip can represent. */
|
int m_minimumValue; /**< Minimum value that the grip can represent. */
|
||||||
nxgl_coord_t m_maximumValue; /**< Maximum value that the grip can represent. */
|
int m_maximumValue; /**< Maximum value that the grip can represent. */
|
||||||
int32_t m_value; /**< Current value of the slider. */
|
int32_t m_value; /**< Current value of the slider. */
|
||||||
nxgl_coord_t m_minimumGripWidth; /**< Smallest width that the grip can become */
|
nxgl_coord_t m_minimumGripWidth; /**< Smallest width that the grip can become */
|
||||||
nxgl_coord_t m_pageSize; /**< Value of a page of data, used when clicking
|
nxgl_coord_t m_pageSize; /**< Value of a page of data, used when clicking
|
||||||
@ -124,7 +124,7 @@ namespace NXWidgets
|
|||||||
* Get the maximum possible value that the slider can represent. Useful when
|
* Get the maximum possible value that the slider can represent. Useful when
|
||||||
* using the slider as a scrollbar, as the height of the grip prevents the full
|
* using the slider as a scrollbar, as the height of the grip prevents the full
|
||||||
* range of values being accessed (intentionally).
|
* range of values being accessed (intentionally).
|
||||||
* The returned value is bitshfted left 16 places for more accuracy in fixed-point
|
* The returned value is shifted left 16 places for more accuracy in fixed-point
|
||||||
* calculations.
|
* calculations.
|
||||||
*
|
*
|
||||||
* @return The maximum possible value that the slider can represent.
|
* @return The maximum possible value that the slider can represent.
|
||||||
@ -218,7 +218,7 @@ namespace NXWidgets
|
|||||||
* @return The smallest value.
|
* @return The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline const nxgl_coord_t getMinimumValue(void) const
|
inline const int getMinimumValue(void) const
|
||||||
{
|
{
|
||||||
return m_minimumValue;
|
return m_minimumValue;
|
||||||
}
|
}
|
||||||
@ -229,7 +229,7 @@ namespace NXWidgets
|
|||||||
* @return The largest value.
|
* @return The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline const nxgl_coord_t getMaximumValue(void) const
|
inline const int getMaximumValue(void) const
|
||||||
{
|
{
|
||||||
return m_maximumValue;
|
return m_maximumValue;
|
||||||
}
|
}
|
||||||
@ -240,7 +240,7 @@ namespace NXWidgets
|
|||||||
* return The current slider value.
|
* return The current slider value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline const nxgl_coord_t getValue(void) const
|
inline const int getValue(void) const
|
||||||
{
|
{
|
||||||
return m_value >> 16;
|
return m_value >> 16;
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ namespace NXWidgets
|
|||||||
* @param value The smallest value.
|
* @param value The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline void setMinimumValue(const nxgl_coord_t value)
|
inline void setMinimumValue(const int value)
|
||||||
{
|
{
|
||||||
m_minimumValue = value;
|
m_minimumValue = value;
|
||||||
m_contentSize = m_maximumValue - m_minimumValue + 1;
|
m_contentSize = m_maximumValue - m_minimumValue + 1;
|
||||||
@ -278,7 +278,7 @@ namespace NXWidgets
|
|||||||
* @param value The largest value.
|
* @param value The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline void setMaximumValue(const nxgl_coord_t value)
|
inline void setMaximumValue(const int value)
|
||||||
{
|
{
|
||||||
m_maximumValue = value;
|
m_maximumValue = value;
|
||||||
m_contentSize = m_maximumValue - m_minimumValue + 1;
|
m_contentSize = m_maximumValue - m_minimumValue + 1;
|
||||||
@ -292,11 +292,11 @@ namespace NXWidgets
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setValue(const nxgl_coord_t value);
|
void setValue(const int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition and redraw
|
* Set the value that of the slider. This will reposition and redraw
|
||||||
* the grip. The supplied value should be bitshifted left 16 places.
|
* the grip. The supplied value should be shifted left 16 places.
|
||||||
* This ensures greater accuracy than the standard setValue() method if
|
* This ensures greater accuracy than the standard setValue() method if
|
||||||
* the slider is being used as a scrollbar.
|
* the slider is being used as a scrollbar.
|
||||||
*
|
*
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/include/cslidervertical.hxx
|
* NxWidgets/libnxwidgets/include/cslidervertical.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -110,8 +110,8 @@ namespace NXWidgets
|
|||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
CSliderVerticalGrip* m_grip; /**< Pointer to the grip. */
|
CSliderVerticalGrip* m_grip; /**< Pointer to the grip. */
|
||||||
nxgl_coord_t m_minimumValue; /**< Minimum value that the grip can represent. */
|
int m_minimumValue; /**< Minimum value that the grip can represent. */
|
||||||
nxgl_coord_t m_maximumValue; /**< Maximum value that the grip can represent. */
|
int m_maximumValue; /**< Maximum value that the grip can represent. */
|
||||||
int32_t m_value; /**< Current value of the slider. */
|
int32_t m_value; /**< Current value of the slider. */
|
||||||
nxgl_coord_t m_minimumGripHeight; /**< Smallest height that the grip can become. */
|
nxgl_coord_t m_minimumGripHeight; /**< Smallest height that the grip can become. */
|
||||||
nxgl_coord_t m_pageSize; /**< Value of a page of data, used when clicking
|
nxgl_coord_t m_pageSize; /**< Value of a page of data, used when clicking
|
||||||
@ -124,7 +124,7 @@ namespace NXWidgets
|
|||||||
* Get the maximum possible value that the slider can represent. Useful when
|
* Get the maximum possible value that the slider can represent. Useful when
|
||||||
* using the slider as a scrollbar, as the height of the grip prevents the full
|
* using the slider as a scrollbar, as the height of the grip prevents the full
|
||||||
* range of values being accessed (intentionally).
|
* range of values being accessed (intentionally).
|
||||||
* The returned value is bitshfted left 16 places for more accuracy in fixed-point
|
* The returned value is shifted left 16 places for more accuracy in fixed-point
|
||||||
* calculations.
|
* calculations.
|
||||||
*
|
*
|
||||||
* @return The maximum possible value that the slider can represent.
|
* @return The maximum possible value that the slider can represent.
|
||||||
@ -219,7 +219,7 @@ namespace NXWidgets
|
|||||||
* @return The smallest value.
|
* @return The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline const nxgl_coord_t getMinimumValue(void) const
|
inline const int getMinimumValue(void) const
|
||||||
{
|
{
|
||||||
return m_minimumValue;
|
return m_minimumValue;
|
||||||
}
|
}
|
||||||
@ -230,7 +230,7 @@ namespace NXWidgets
|
|||||||
* @return The largest value.
|
* @return The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline const nxgl_coord_t getMaximumValue(void) const
|
inline const int getMaximumValue(void) const
|
||||||
{
|
{
|
||||||
return m_maximumValue;
|
return m_maximumValue;
|
||||||
}
|
}
|
||||||
@ -240,7 +240,7 @@ namespace NXWidgets
|
|||||||
* return The current slider value.
|
* return The current slider value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline const nxgl_coord_t getValue(void) const
|
inline const int getValue(void) const
|
||||||
{
|
{
|
||||||
return m_value >> 16;
|
return m_value >> 16;
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ namespace NXWidgets
|
|||||||
* @param value The smallest value.
|
* @param value The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline void setMinimumValue(const nxgl_coord_t value)
|
inline void setMinimumValue(const int value)
|
||||||
{
|
{
|
||||||
m_minimumValue = value;
|
m_minimumValue = value;
|
||||||
m_contentSize = m_maximumValue - m_minimumValue + 1;
|
m_contentSize = m_maximumValue - m_minimumValue + 1;
|
||||||
@ -278,7 +278,7 @@ namespace NXWidgets
|
|||||||
* @param value The largest value.
|
* @param value The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline void setMaximumValue(const nxgl_coord_t value)
|
inline void setMaximumValue(const int value)
|
||||||
{
|
{
|
||||||
m_maximumValue = value;
|
m_maximumValue = value;
|
||||||
m_contentSize = m_maximumValue - m_minimumValue + 1;
|
m_contentSize = m_maximumValue - m_minimumValue + 1;
|
||||||
@ -292,11 +292,11 @@ namespace NXWidgets
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setValue(const nxgl_coord_t value);
|
void setValue(const int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition and redraw
|
* Set the value that of the slider. This will reposition and redraw
|
||||||
* the grip. The supplied value should be bitshifted left 16 places.
|
* the grip. The supplied value should be shifted left 16 places.
|
||||||
* This ensures greater accuracy than the standard setValue() method if
|
* This ensures greater accuracy than the standard setValue() method if
|
||||||
* the slider is being used as a scrollbar.
|
* the slider is being used as a scrollbar.
|
||||||
*
|
*
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/include/islider.hxx
|
* NxWidgets/libnxwidgets/include/islider.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -114,7 +114,7 @@ namespace NXWidgets
|
|||||||
* @return The smallest value.
|
* @return The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual const nxgl_coord_t getMinimumValue(void) const = 0;
|
virtual const int getMinimumValue(void) const = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the largest value that the slider can represent.
|
* Get the largest value that the slider can represent.
|
||||||
@ -122,7 +122,7 @@ namespace NXWidgets
|
|||||||
* @return The largest value.
|
* @return The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual const nxgl_coord_t getMaximumValue(void) const = 0;
|
virtual const int getMaximumValue(void) const = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current value of the slider.
|
* Get the current value of the slider.
|
||||||
@ -130,7 +130,7 @@ namespace NXWidgets
|
|||||||
* return The current slider value.
|
* return The current slider value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual const nxgl_coord_t getValue(void) const = 0;
|
virtual const int getValue(void) const = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the value represented by the height of the grip.
|
* Get the value represented by the height of the grip.
|
||||||
@ -149,7 +149,7 @@ namespace NXWidgets
|
|||||||
* @param value The smallest value.
|
* @param value The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual void setMinimumValue(const nxgl_coord_t value) = 0;
|
virtual void setMinimumValue(const int value) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the largest value that the slider can represent.
|
* Set the largest value that the slider can represent.
|
||||||
@ -157,7 +157,7 @@ namespace NXWidgets
|
|||||||
* @param value The largest value.
|
* @param value The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual void setMaximumValue(const nxgl_coord_t value) = 0;
|
virtual void setMaximumValue(const int value) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition
|
* Set the value that of the slider. This will reposition
|
||||||
@ -166,7 +166,7 @@ namespace NXWidgets
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual void setValue(const nxgl_coord_t value) = 0;
|
virtual void setValue(const int value) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition and redraw
|
* Set the value that of the slider. This will reposition and redraw
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/src/cglyphsliderhorizontal.cxx
|
* NxWidgets/libnxwidgets/src/cglyphsliderhorizontal.cxx
|
||||||
*
|
*
|
||||||
@ -142,20 +141,19 @@ CGlyphSliderHorizontal::CGlyphSliderHorizontal(CWidgetControl * pWidgetControl,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition
|
* Set the value of the slider. This will reposition and redraw the grip.
|
||||||
* and redraw the grip.
|
|
||||||
*
|
*
|
||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CGlyphSliderHorizontal::setValue(const nxgl_coord_t value)
|
void CGlyphSliderHorizontal::setValue(const int value)
|
||||||
{
|
{
|
||||||
setValueWithBitshift((int32_t)value << 16);
|
setValueWithBitshift((int32_t)value << 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value that of the slider. This will reposition and redraw
|
* Set the value that of the slider. This will reposition and redraw
|
||||||
* the grip. The supplied value should be bitshifted left 16 places.
|
* the grip. The supplied value should be shifted left 16 places.
|
||||||
* This ensures greater accuracy than the standard setValue() method if
|
* This ensures greater accuracy than the standard setValue() method if
|
||||||
* the slider is being used as a scrollbar.
|
* the slider is being used as a scrollbar.
|
||||||
*
|
*
|
||||||
@ -260,7 +258,7 @@ nxgl_coord_t CGlyphSliderHorizontal::getMinimumStep(void) const
|
|||||||
* Get the maximum possible value that the slider can represent. Useful when
|
* Get the maximum possible value that the slider can represent. Useful when
|
||||||
* using the slider as a scrollbar, as the height of the grip prevents the full
|
* using the slider as a scrollbar, as the height of the grip prevents the full
|
||||||
* range of values being accessed (intentionally).
|
* range of values being accessed (intentionally).
|
||||||
* The returned value is bitshfted left 16 places for more accuracy in fixed-point
|
* The returned value is shifted left 16 places for more accuracy in fixed-point
|
||||||
* calculations.
|
* calculations.
|
||||||
*
|
*
|
||||||
* @return The maximum possible value that the slider can represent.
|
* @return The maximum possible value that the slider can represent.
|
||||||
@ -499,5 +497,6 @@ void CGlyphSliderHorizontal::onClick(nxgl_coord_t x, nxgl_coord_t y)
|
|||||||
|
|
||||||
setValueWithBitshift(m_value - (m_pageSize << 16));
|
setValueWithBitshift(m_value - (m_pageSize << 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
redraw();
|
redraw();
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/src/cscaledbitmap.hxx
|
* NxWidgets/libnxwidgets/src/cscaledbitmap.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013-2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx
|
* NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -162,7 +162,7 @@ CScrollbarHorizontal::CScrollbarHorizontal(CWidgetControl *pWidgetControl,
|
|||||||
* @return The smallest value.
|
* @return The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t CScrollbarHorizontal::getMinimumValue(void) const
|
const int CScrollbarHorizontal::getMinimumValue(void) const
|
||||||
{
|
{
|
||||||
return m_slider->getMinimumValue();
|
return m_slider->getMinimumValue();
|
||||||
}
|
}
|
||||||
@ -173,7 +173,7 @@ const nxgl_coord_t CScrollbarHorizontal::getMinimumValue(void) const
|
|||||||
* @return The largest value.
|
* @return The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t CScrollbarHorizontal::getMaximumValue(void) const
|
const int CScrollbarHorizontal::getMaximumValue(void) const
|
||||||
{
|
{
|
||||||
return m_slider->getMaximumValue();
|
return m_slider->getMaximumValue();
|
||||||
}
|
}
|
||||||
@ -184,7 +184,7 @@ const nxgl_coord_t CScrollbarHorizontal::getMaximumValue(void) const
|
|||||||
* @return The current slider value.
|
* @return The current slider value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t CScrollbarHorizontal::getValue(void) const
|
const int CScrollbarHorizontal::getValue(void) const
|
||||||
{
|
{
|
||||||
return m_slider->getValue();
|
return m_slider->getValue();
|
||||||
}
|
}
|
||||||
@ -209,7 +209,7 @@ const nxgl_coord_t CScrollbarHorizontal::getPageSize(void) const
|
|||||||
* @param value The smallest value.
|
* @param value The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CScrollbarHorizontal::setMinimumValue(const nxgl_coord_t value)
|
void CScrollbarHorizontal::setMinimumValue(const int value)
|
||||||
{
|
{
|
||||||
m_slider->setMinimumValue(value);
|
m_slider->setMinimumValue(value);
|
||||||
}
|
}
|
||||||
@ -220,7 +220,7 @@ void CScrollbarHorizontal::setMinimumValue(const nxgl_coord_t value)
|
|||||||
* @param value The largest value.
|
* @param value The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CScrollbarHorizontal::setMaximumValue(const nxgl_coord_t value)
|
void CScrollbarHorizontal::setMaximumValue(const int value)
|
||||||
{
|
{
|
||||||
m_slider->setMaximumValue(value);
|
m_slider->setMaximumValue(value);
|
||||||
}
|
}
|
||||||
@ -232,7 +232,7 @@ void CScrollbarHorizontal::setMaximumValue(const nxgl_coord_t value)
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CScrollbarHorizontal::setValue(const nxgl_coord_t value)
|
void CScrollbarHorizontal::setValue(const int value)
|
||||||
{
|
{
|
||||||
m_slider->setValue(value);
|
m_slider->setValue(value);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx
|
* NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -160,7 +160,7 @@ CScrollbarVertical::CScrollbarVertical(CWidgetControl *pWidgetControl,
|
|||||||
* @return The smallest value.
|
* @return The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t CScrollbarVertical::getMinimumValue(void) const
|
const int CScrollbarVertical::getMinimumValue(void) const
|
||||||
{
|
{
|
||||||
return m_slider->getMinimumValue();
|
return m_slider->getMinimumValue();
|
||||||
}
|
}
|
||||||
@ -171,7 +171,7 @@ const nxgl_coord_t CScrollbarVertical::getMinimumValue(void) const
|
|||||||
* @return The largest value.
|
* @return The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t CScrollbarVertical::getMaximumValue(void) const
|
const int CScrollbarVertical::getMaximumValue(void) const
|
||||||
{
|
{
|
||||||
return m_slider->getMaximumValue();
|
return m_slider->getMaximumValue();
|
||||||
}
|
}
|
||||||
@ -182,7 +182,7 @@ const nxgl_coord_t CScrollbarVertical::getMaximumValue(void) const
|
|||||||
* @return The current slider value.
|
* @return The current slider value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const nxgl_coord_t CScrollbarVertical::getValue(void) const
|
const int CScrollbarVertical::getValue(void) const
|
||||||
{
|
{
|
||||||
return m_slider->getValue();
|
return m_slider->getValue();
|
||||||
}
|
}
|
||||||
@ -207,7 +207,7 @@ const nxgl_coord_t CScrollbarVertical::getPageSize(void) const
|
|||||||
* @param value The smallest value.
|
* @param value The smallest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CScrollbarVertical::setMinimumValue(const nxgl_coord_t value)
|
void CScrollbarVertical::setMinimumValue(const int value)
|
||||||
{
|
{
|
||||||
m_slider->setMinimumValue(value);
|
m_slider->setMinimumValue(value);
|
||||||
}
|
}
|
||||||
@ -218,7 +218,7 @@ void CScrollbarVertical::setMinimumValue(const nxgl_coord_t value)
|
|||||||
* @param value The largest value.
|
* @param value The largest value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CScrollbarVertical::setMaximumValue(const nxgl_coord_t value)
|
void CScrollbarVertical::setMaximumValue(const int value)
|
||||||
{
|
{
|
||||||
m_slider->setMaximumValue(value);
|
m_slider->setMaximumValue(value);
|
||||||
}
|
}
|
||||||
@ -230,7 +230,7 @@ void CScrollbarVertical::setMaximumValue(const nxgl_coord_t value)
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CScrollbarVertical::setValue(const nxgl_coord_t value)
|
void CScrollbarVertical::setValue(const int value)
|
||||||
{
|
{
|
||||||
m_slider->setValue(value);
|
m_slider->setValue(value);
|
||||||
}
|
}
|
||||||
@ -381,7 +381,7 @@ void CScrollbarVertical::onResize(nxgl_coord_t width, nxgl_coord_t height)
|
|||||||
{
|
{
|
||||||
// Remember current values
|
// Remember current values
|
||||||
|
|
||||||
nxgl_coord_t value = getValue();
|
int value = getValue();
|
||||||
bool events = raisesEvents();
|
bool events = raisesEvents();
|
||||||
|
|
||||||
// Disable event raising
|
// Disable event raising
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/src/csliderhorizontal.cxx
|
* NxWidgets/libnxwidgets/src/csliderhorizontal.cxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -137,7 +137,7 @@ CSliderHorizontal::CSliderHorizontal(CWidgetControl *pWidgetControl,
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CSliderHorizontal::setValue(const nxgl_coord_t value)
|
void CSliderHorizontal::setValue(const int value)
|
||||||
{
|
{
|
||||||
setValueWithBitshift((int32_t)value << 16);
|
setValueWithBitshift((int32_t)value << 16);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/libnxwidgets/src/cslidervertical.cxx
|
* NxWidgets/libnxwidgets/src/cslidervertical.cxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -138,7 +138,7 @@ CSliderVertical::CSliderVertical(CWidgetControl *pWidgetControl,
|
|||||||
* @param value The new value.
|
* @param value The new value.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CSliderVertical::setValue(const nxgl_coord_t value)
|
void CSliderVertical::setValue(const int value)
|
||||||
{
|
{
|
||||||
setValueWithBitshift((int32_t)value << 16);
|
setValueWithBitshift((int32_t)value << 16);
|
||||||
}
|
}
|
||||||
|
@ -117,6 +117,7 @@ namespace NxWM
|
|||||||
enum EMediaPlayerState m_state; /**< Media player current state */
|
enum EMediaPlayerState m_state; /**< Media player current state */
|
||||||
enum EMediaPlayerState m_prevState; /**< Media player previous state */
|
enum EMediaPlayerState m_prevState; /**< Media player previous state */
|
||||||
enum EPendingRelease m_pending; /**< Pending image release event */
|
enum EPendingRelease m_pending; /**< Pending image release event */
|
||||||
|
unsigned int m_level; /**< Current volume level */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cached constructor parameters.
|
* Cached constructor parameters.
|
||||||
@ -148,6 +149,7 @@ namespace NxWM
|
|||||||
NXWidgets::CRlePaletteBitmap *m_pauseBitmap; /**< Bitmap for the pause control */
|
NXWidgets::CRlePaletteBitmap *m_pauseBitmap; /**< Bitmap for the pause control */
|
||||||
NXWidgets::CRlePaletteBitmap *m_rewindBitmap; /**< Bitmap for the rewind control */
|
NXWidgets::CRlePaletteBitmap *m_rewindBitmap; /**< Bitmap for the rewind control */
|
||||||
NXWidgets::CRlePaletteBitmap *m_fforwardBitmap; /**< Bitmap for the fast forward control */
|
NXWidgets::CRlePaletteBitmap *m_fforwardBitmap; /**< Bitmap for the fast forward control */
|
||||||
|
NXWidgets::CRlePaletteBitmap *m_volumeBitmap; /**< Volume control grip bitmap */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculator geometry. This stuff does not really have to be retained
|
* Calculator geometry. This stuff does not really have to be retained
|
||||||
@ -156,7 +158,6 @@ namespace NxWM
|
|||||||
|
|
||||||
struct nxgl_size_s m_windowSize; /**< The size of the media player window */
|
struct nxgl_size_s m_windowSize; /**< The size of the media player window */
|
||||||
struct nxgl_size_s m_textSize; /**< The size of the media player textbox */
|
struct nxgl_size_s m_textSize; /**< The size of the media player textbox */
|
||||||
struct nxgl_point_s m_textPos; /**< The position of the media player textbox */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Select the geometry of the media player given the current window size.
|
* Select the geometry of the media player given the current window size.
|
||||||
@ -184,6 +185,15 @@ namespace NxWM
|
|||||||
|
|
||||||
void close(void);
|
void close(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redraw all widgets. Called from redraw() and also on any state
|
||||||
|
* change.
|
||||||
|
*
|
||||||
|
* @param state The new state to enter.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void redrawWidgets(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transition to a new media player state.
|
* Transition to a new media player state.
|
||||||
*
|
*
|
||||||
@ -193,8 +203,14 @@ namespace NxWM
|
|||||||
void setMediaPlayerState(enum EMediaPlayerState state);
|
void setMediaPlayerState(enum EMediaPlayerState state);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle a widget action event. This includes a image pre/release
|
* Set the new volume level based on the position of the volume slider.
|
||||||
* release events and volume slider change events.
|
*/
|
||||||
|
|
||||||
|
void setVolumeLevel(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle a widget action event. For this application, that means image
|
||||||
|
* pre-release events.
|
||||||
*
|
*
|
||||||
* @param e The event data.
|
* @param e The event data.
|
||||||
*/
|
*/
|
||||||
@ -216,6 +232,12 @@ namespace NxWM
|
|||||||
|
|
||||||
void handleReleaseOutsideEvent(const NXWidgets::CWidgetEventArgs &e);
|
void handleReleaseOutsideEvent(const NXWidgets::CWidgetEventArgs &e);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle changes in the volume level.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void handleValueChangeEvent(const NXWidgets::CWidgetEventArgs &e);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* CMediaPlayer constructor
|
* CMediaPlayer constructor
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/nxwm/include/nxwmconfig.hxx
|
* NxWidgets/nxwm/include/nxwmconfig.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -628,12 +628,20 @@
|
|||||||
* Default: CONFIG_NXWM_DEFAULT_FONTID
|
* Default: CONFIG_NXWM_DEFAULT_FONTID
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef CONFIG_NXWM_MEDIAPLAYER_MEDIAPATH
|
||||||
|
# define CONFIG_NXWM_MEDIAPLAYER_MEDIAPATH "/mnt/sdcard"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_NXWM_MEDIAPLAYER_BACKGROUNDCOLOR
|
#ifndef CONFIG_NXWM_MEDIAPLAYER_BACKGROUNDCOLOR
|
||||||
# define CONFIG_NXWM_MEDIAPLAYER_BACKGROUNDCOLOR CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR
|
# define CONFIG_NXWM_MEDIAPLAYER_BACKGROUNDCOLOR CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_NXWM_MEDIAPLAYER_XSPACING
|
#ifndef CONFIG_NXWM_MEDIAPLAYER_XSPACING
|
||||||
# define CONFIG_NXWM_MEDIAPLAYER_XSPACING 16
|
# define CONFIG_NXWM_MEDIAPLAYER_XSPACING 12
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_NXWM_MEDIAPLAYER_YSPACING
|
||||||
|
# define CONFIG_NXWM_MEDIAPLAYER_YSPACING 8
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_NXWM_MEDIAPLAYER_ICON
|
#ifndef CONFIG_NXWM_MEDIAPLAYER_ICON
|
||||||
|
@ -102,6 +102,7 @@ CMediaPlayer::CMediaPlayer(CTaskbar *taskbar, CApplicationWindow *window)
|
|||||||
m_pauseBitmap = (NXWidgets::CRlePaletteBitmap *)0;
|
m_pauseBitmap = (NXWidgets::CRlePaletteBitmap *)0;
|
||||||
m_rewindBitmap = (NXWidgets::CRlePaletteBitmap *)0;
|
m_rewindBitmap = (NXWidgets::CRlePaletteBitmap *)0;
|
||||||
m_fforwardBitmap = (NXWidgets::CRlePaletteBitmap *)0;
|
m_fforwardBitmap = (NXWidgets::CRlePaletteBitmap *)0;
|
||||||
|
m_volumeBitmap = (NXWidgets::CRlePaletteBitmap *)0;
|
||||||
|
|
||||||
// Initial state is stopped
|
// Initial state is stopped
|
||||||
|
|
||||||
@ -190,6 +191,11 @@ CMediaPlayer::~CMediaPlayer(void)
|
|||||||
delete m_fforwardBitmap;
|
delete m_fforwardBitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_volumeBitmap)
|
||||||
|
{
|
||||||
|
delete m_volumeBitmap;
|
||||||
|
}
|
||||||
|
|
||||||
// Although we didn't create it, we are responsible for deleting the
|
// Although we didn't create it, we are responsible for deleting the
|
||||||
// application window
|
// application window
|
||||||
|
|
||||||
@ -263,9 +269,14 @@ bool CMediaPlayer::run(void)
|
|||||||
|
|
||||||
void CMediaPlayer::stop(void)
|
void CMediaPlayer::stop(void)
|
||||||
{
|
{
|
||||||
// Just disable further drawing
|
// Just disable further drawing on all widgets
|
||||||
|
|
||||||
m_text->disableDrawing();
|
m_text->disableDrawing();
|
||||||
|
m_play->disableDrawing();
|
||||||
|
m_pause->disableDrawing();
|
||||||
|
m_rewind->disableDrawing();
|
||||||
|
m_fforward->disableDrawing();
|
||||||
|
m_volume->disableDrawing();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -303,20 +314,27 @@ void CMediaPlayer::hide(void)
|
|||||||
/**
|
/**
|
||||||
* Redraw the entire window. The application has been maximized or
|
* Redraw the entire window. The application has been maximized or
|
||||||
* otherwise moved to the top of the hierarchy. This method is call from
|
* otherwise moved to the top of the hierarchy. This method is call from
|
||||||
* CTaskbar when the application window must be displayed
|
* CTaskbar when the application window must be displayed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CMediaPlayer::redraw(void)
|
void CMediaPlayer::redraw(void)
|
||||||
{
|
{
|
||||||
// Redraw widgets (only). Only one of the Play and Pause images should
|
// Get the widget control associated with the application window
|
||||||
// have drawing enabled.
|
|
||||||
|
|
||||||
m_text->redraw();
|
NXWidgets::CWidgetControl *control = m_window->getWidgetControl();
|
||||||
m_play->redraw();
|
|
||||||
m_pause->redraw();
|
// Get the CCGraphicsPort instance for this window
|
||||||
m_rewind->redraw();
|
|
||||||
m_fforward->redraw();
|
NXWidgets::CGraphicsPort *port = control->getGraphicsPort();
|
||||||
m_volume->redraw();
|
|
||||||
|
// Fill the entire window with the background color
|
||||||
|
|
||||||
|
port->drawFilledRect(0, 0, m_windowSize.w, m_windowSize.h,
|
||||||
|
CONFIG_NXWM_MEDIAPLAYER_BACKGROUNDCOLOR);
|
||||||
|
|
||||||
|
// Redraw all widgets
|
||||||
|
|
||||||
|
redrawWidgets();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -345,16 +363,6 @@ void CMediaPlayer::setGeometry(void)
|
|||||||
// Get the size of the window
|
// Get the size of the window
|
||||||
|
|
||||||
(void)window->getSize(&m_windowSize);
|
(void)window->getSize(&m_windowSize);
|
||||||
|
|
||||||
// Get the size of the text box. Same width as the m_keypad
|
|
||||||
|
|
||||||
m_textSize.w = m_windowSize.w - 10;
|
|
||||||
m_textSize.h = 36;
|
|
||||||
|
|
||||||
// Now position the text box
|
|
||||||
|
|
||||||
m_textPos.x = 5;
|
|
||||||
m_textPos.y = 5;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -379,13 +387,68 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
|
|
||||||
NXWidgets::CWidgetControl *control = m_window->getWidgetControl();
|
NXWidgets::CWidgetControl *control = m_window->getWidgetControl();
|
||||||
|
|
||||||
// Create a label to show some text. A simple label is used
|
// Work out all of the vertical placement first. In order to do that, we
|
||||||
// because the power of a text box is un-necessary in this application.
|
// will need create all of the bitmaps first so that we an use the bitmap
|
||||||
|
// height in the calculation.
|
||||||
|
|
||||||
|
m_playBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_PLAY_ICON);
|
||||||
|
m_pauseBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_PAUSE_ICON);
|
||||||
|
m_rewindBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_REW_ICON);
|
||||||
|
m_fforwardBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_FWD_ICON);
|
||||||
|
m_volumeBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_VOL_ICON);
|
||||||
|
|
||||||
|
if (!m_playBitmap || !m_pauseBitmap || !m_rewindBitmap ||
|
||||||
|
!m_fforwardBitmap || !m_volumeBitmap)
|
||||||
|
{
|
||||||
|
gdbg("ERROR: Failed to one or more bitmaps\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Control image height. Use the same height for all images
|
||||||
|
|
||||||
|
nxgl_coord_t controlH = m_playBitmap->getHeight();
|
||||||
|
|
||||||
|
if (controlH < m_pauseBitmap->getHeight())
|
||||||
|
{
|
||||||
|
controlH = m_pauseBitmap->getHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (controlH < m_rewindBitmap->getHeight())
|
||||||
|
{
|
||||||
|
controlH = m_rewindBitmap->getHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (controlH < m_fforwardBitmap->getHeight())
|
||||||
|
{
|
||||||
|
controlH = m_fforwardBitmap->getHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
controlH += 8;
|
||||||
|
|
||||||
|
// Place the volume slider at a comfortable distance from the bottom of
|
||||||
|
// the display
|
||||||
|
|
||||||
|
nxgl_coord_t volumeTop = m_windowSize.h - m_volumeBitmap->getHeight() -
|
||||||
|
CONFIG_NXWM_MEDIAPLAYER_YSPACING;
|
||||||
|
|
||||||
|
// Place the player controls just above that. The list box will then end
|
||||||
|
// just above the controls.
|
||||||
|
|
||||||
|
nxgl_coord_t controlTop = volumeTop - controlH -
|
||||||
|
CONFIG_NXWM_MEDIAPLAYER_YSPACING;
|
||||||
|
|
||||||
|
// The list box will then end just above the controls. The end of the
|
||||||
|
// list box is the same as its height because the origin is zero.
|
||||||
|
|
||||||
|
nxgl_coord_t textHeight = controlTop - CONFIG_NXWM_MEDIAPLAYER_YSPACING;
|
||||||
|
|
||||||
|
// Create a label to show some text.
|
||||||
|
// Note that the list box will extend all of the way to the edges of the
|
||||||
|
// display and is only limited at the bottom by the player controls.
|
||||||
|
|
||||||
|
m_text = new NXWidgets::
|
||||||
|
CLabel(control, 0, 0, m_windowSize.w, textHeight, "0");
|
||||||
|
|
||||||
m_text = new NXWidgets::CLabel(control,
|
|
||||||
m_textPos.x, m_textPos.y,
|
|
||||||
m_textSize.w, m_textSize.h,
|
|
||||||
"0");
|
|
||||||
if (!m_text)
|
if (!m_text)
|
||||||
{
|
{
|
||||||
gdbg("ERROR: Failed to create CLabel\n");
|
gdbg("ERROR: Failed to create CLabel\n");
|
||||||
@ -409,13 +472,7 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
|
|
||||||
m_text->setText("Coming soon...");
|
m_text->setText("Coming soon...");
|
||||||
|
|
||||||
// Create all bitmaps
|
// Control image widths.
|
||||||
|
|
||||||
m_playBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_PLAY_ICON);
|
|
||||||
m_pauseBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_PAUSE_ICON);
|
|
||||||
m_rewindBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_REW_ICON);
|
|
||||||
m_fforwardBitmap = new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_FWD_ICON);
|
|
||||||
|
|
||||||
// Image widths will depend on if the images will be bordered or not
|
// Image widths will depend on if the images will be bordered or not
|
||||||
|
|
||||||
nxgl_coord_t playControlW;
|
nxgl_coord_t playControlW;
|
||||||
@ -423,7 +480,8 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
nxgl_coord_t fforwardControlW;
|
nxgl_coord_t fforwardControlW;
|
||||||
|
|
||||||
#ifdef CONFIG_NXWM_MEDIAPLAYER_BORDERS
|
#ifdef CONFIG_NXWM_MEDIAPLAYER_BORDERS
|
||||||
// Set the width to the widest image
|
// Use the same width for all control images. Set the width to the width
|
||||||
|
// of the widest image
|
||||||
|
|
||||||
nxgl_coord_t imageW = m_playBitmap->getWidth();
|
nxgl_coord_t imageW = m_playBitmap->getWidth();
|
||||||
|
|
||||||
@ -450,7 +508,6 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
fforwardControlW = imageW;
|
fforwardControlW = imageW;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
// Use the bitmap image widths for the image widths (plus a bit)
|
// Use the bitmap image widths for the image widths (plus a bit)
|
||||||
|
|
||||||
playControlW = m_playBitmap->getWidth() + 8;
|
playControlW = m_playBitmap->getWidth() + 8;
|
||||||
@ -467,35 +524,19 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Use the same height for all images
|
|
||||||
|
|
||||||
nxgl_coord_t controlH = m_playBitmap->getHeight();
|
|
||||||
|
|
||||||
if (controlH < m_pauseBitmap->getHeight())
|
|
||||||
{
|
|
||||||
controlH = m_pauseBitmap->getHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (controlH < m_rewindBitmap->getHeight())
|
|
||||||
{
|
|
||||||
controlH = m_rewindBitmap->getHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (controlH < m_fforwardBitmap->getHeight())
|
|
||||||
{
|
|
||||||
controlH = m_fforwardBitmap->getHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
controlH += 8;
|
|
||||||
|
|
||||||
// Create the Play image
|
// Create the Play image
|
||||||
|
|
||||||
nxgl_coord_t playControlX = (m_windowSize.w >> 1) - (playControlW >> 1);
|
nxgl_coord_t playControlX = (m_windowSize.w >> 1) - (playControlW >> 1);
|
||||||
uint32_t controlY = (180 * m_windowSize.h) >> 8;
|
|
||||||
|
|
||||||
m_play = new NXWidgets::
|
m_play = new NXWidgets::
|
||||||
CImage(control, playControlX, (nxgl_coord_t)controlY,
|
CImage(control, playControlX, controlTop, playControlW, controlH,
|
||||||
playControlW, controlH, m_playBitmap);
|
m_playBitmap);
|
||||||
|
|
||||||
|
if (!m_play)
|
||||||
|
{
|
||||||
|
gdbg("ERROR: Failed to create play control\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Configure the Play image
|
// Configure the Play image
|
||||||
|
|
||||||
@ -515,8 +556,14 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
// Create the Pause image (at the same position ans size as the Play image)
|
// Create the Pause image (at the same position ans size as the Play image)
|
||||||
|
|
||||||
m_pause = new NXWidgets::
|
m_pause = new NXWidgets::
|
||||||
CImage(control, playControlX, (nxgl_coord_t)controlY,
|
CImage(control, playControlX, controlTop, playControlW, controlH,
|
||||||
playControlW, controlH, m_pauseBitmap);
|
m_pauseBitmap);
|
||||||
|
|
||||||
|
if (!m_pause)
|
||||||
|
{
|
||||||
|
gdbg("ERROR: Failed to create pause control\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Configure the Pause image (hidden and disabled initially)
|
// Configure the Pause image (hidden and disabled initially)
|
||||||
|
|
||||||
@ -539,8 +586,14 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
CONFIG_NXWM_MEDIAPLAYER_XSPACING;
|
CONFIG_NXWM_MEDIAPLAYER_XSPACING;
|
||||||
|
|
||||||
m_rewind = new NXWidgets::
|
m_rewind = new NXWidgets::
|
||||||
CStickyImage(control, rewControlX, (nxgl_coord_t)controlY,
|
CStickyImage(control, rewControlX, controlTop, rewindControlW,
|
||||||
rewindControlW, controlH, m_rewindBitmap);
|
controlH, m_rewindBitmap);
|
||||||
|
|
||||||
|
if (!m_rewind)
|
||||||
|
{
|
||||||
|
gdbg("ERROR: Failed to create rewind control\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Configure the Rewind image
|
// Configure the Rewind image
|
||||||
|
|
||||||
@ -563,8 +616,14 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
CONFIG_NXWM_MEDIAPLAYER_XSPACING;
|
CONFIG_NXWM_MEDIAPLAYER_XSPACING;
|
||||||
|
|
||||||
m_fforward = new NXWidgets::
|
m_fforward = new NXWidgets::
|
||||||
CStickyImage(control, fwdControlX, (nxgl_coord_t)controlY,
|
CStickyImage(control, fwdControlX, controlTop, fforwardControlW,
|
||||||
fforwardControlW, controlH, m_fforwardBitmap);
|
controlH, m_fforwardBitmap);
|
||||||
|
|
||||||
|
if (!m_fforward)
|
||||||
|
{
|
||||||
|
gdbg("ERROR: Failed to create fast forward control\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Configure the Forward image
|
// Configure the Forward image
|
||||||
|
|
||||||
@ -583,20 +642,22 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
|
|
||||||
// Create the Volume control
|
// Create the Volume control
|
||||||
|
|
||||||
NXWidgets::CRlePaletteBitmap *volBitmap = new NXWidgets::
|
|
||||||
CRlePaletteBitmap(&CONFIG_NXWM_MPLAYER_VOL_ICON);
|
|
||||||
|
|
||||||
uint32_t volumeControlX = (9 * m_windowSize.w) >> 8;
|
uint32_t volumeControlX = (9 * m_windowSize.w) >> 8;
|
||||||
uint32_t volumeControlY = (232 * m_windowSize.h) >> 8;
|
|
||||||
|
|
||||||
m_volume = new NXWidgets::
|
m_volume = new NXWidgets::
|
||||||
CGlyphSliderHorizontal(control,
|
CGlyphSliderHorizontal(control,
|
||||||
(nxgl_coord_t)volumeControlX,
|
(nxgl_coord_t)volumeControlX,
|
||||||
(nxgl_coord_t)volumeControlY,
|
volumeTop,
|
||||||
(nxgl_coord_t)(m_windowSize.w - 2 * volumeControlX),
|
(nxgl_coord_t)(m_windowSize.w - 2 * volumeControlX),
|
||||||
volBitmap->getHeight() + 4, volBitmap,
|
m_volumeBitmap->getHeight() + 4, m_volumeBitmap,
|
||||||
MKRGB(63, 90,192));
|
MKRGB(63, 90,192));
|
||||||
|
|
||||||
|
if (!m_volume)
|
||||||
|
{
|
||||||
|
gdbg("ERROR: Failed to create volume control\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Configure the volume control
|
// Configure the volume control
|
||||||
|
|
||||||
m_volume->disableDrawing();
|
m_volume->disableDrawing();
|
||||||
@ -604,25 +665,19 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
m_volume->setMaximumValue(100);
|
m_volume->setMaximumValue(100);
|
||||||
m_volume->setValue(15);
|
m_volume->setValue(15);
|
||||||
|
|
||||||
// Register to get events from the mouse clicks on the Forward image
|
// Register to get events from the value changes in the volume slider
|
||||||
|
|
||||||
m_volume->addWidgetEventHandler(this);
|
m_volume->addWidgetEventHandler(this);
|
||||||
|
|
||||||
// Redraw the background once only
|
|
||||||
// Get the CCGraphicsPort instance for this window
|
|
||||||
|
|
||||||
NXWidgets::CGraphicsPort *port = control->getGraphicsPort();
|
|
||||||
|
|
||||||
// Fill the entire window with the background color
|
|
||||||
|
|
||||||
port->drawFilledRect(0, 0, m_windowSize.w, m_windowSize.h,
|
|
||||||
CONFIG_NXWM_MEDIAPLAYER_BACKGROUNDCOLOR);
|
|
||||||
|
|
||||||
// Make sure that all widgets are setup for the STOPPED state. Among other this,
|
// Make sure that all widgets are setup for the STOPPED state. Among other this,
|
||||||
// this will enable drawing in the play widget (only)
|
// this will enable drawing in the play widget (only)
|
||||||
|
|
||||||
setMediaPlayerState(MPLAYER_STOPPED);
|
setMediaPlayerState(MPLAYER_STOPPED);
|
||||||
|
|
||||||
|
// Set the volume level
|
||||||
|
|
||||||
|
setVolumeLevel();
|
||||||
|
|
||||||
// Enable drawing in the text, rewind, fast-forward and drawing widgets.
|
// Enable drawing in the text, rewind, fast-forward and drawing widgets.
|
||||||
|
|
||||||
m_text->enableDrawing();
|
m_text->enableDrawing();
|
||||||
@ -633,7 +688,6 @@ bool CMediaPlayer::createPlayer(void)
|
|||||||
// And redraw all of the widgets that are enabled
|
// And redraw all of the widgets that are enabled
|
||||||
|
|
||||||
redraw();
|
redraw();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -655,6 +709,54 @@ void CMediaPlayer::close(void)
|
|||||||
m_taskbar->stopApplication(static_cast<IApplication*>(this));
|
m_taskbar->stopApplication(static_cast<IApplication*>(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redraw all widgets. Called from redraw() and also on any state
|
||||||
|
* change.
|
||||||
|
*
|
||||||
|
* @param state The new state to enter.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void CMediaPlayer::redrawWidgets(void)
|
||||||
|
{
|
||||||
|
// Redraw widgets. We have to re-enable drawing all all widgets since
|
||||||
|
// drawing was disabled by the hide() method.
|
||||||
|
|
||||||
|
m_text->enableDrawing();
|
||||||
|
m_text->redraw();
|
||||||
|
|
||||||
|
// Only one of the Play and Pause images should have drawing enabled.
|
||||||
|
|
||||||
|
if (m_state != MPLAYER_STOPPED && m_prevState == MPLAYER_PLAYING)
|
||||||
|
{
|
||||||
|
// Playing... show the pause button
|
||||||
|
// REVISIT: Really only available if there is a selected file in the list box
|
||||||
|
|
||||||
|
m_pause->enableDrawing();
|
||||||
|
m_pause->redraw();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Paused or Stopped... show the play button
|
||||||
|
|
||||||
|
m_play->enableDrawing();
|
||||||
|
m_play->redraw();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rewind and play buttons are only shown if we are not STOPPED
|
||||||
|
|
||||||
|
if (m_state != MPLAYER_STOPPED)
|
||||||
|
{
|
||||||
|
m_rewind->enableDrawing();
|
||||||
|
m_rewind->redraw();
|
||||||
|
|
||||||
|
m_fforward->enableDrawing();
|
||||||
|
m_fforward->redraw();
|
||||||
|
}
|
||||||
|
|
||||||
|
m_volume->enableDrawing();
|
||||||
|
m_volume->redraw();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transition to a new media player state.
|
* Transition to a new media player state.
|
||||||
*
|
*
|
||||||
@ -663,6 +765,10 @@ void CMediaPlayer::close(void)
|
|||||||
|
|
||||||
void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
||||||
{
|
{
|
||||||
|
// Stop drawing on all widgets
|
||||||
|
|
||||||
|
stop();
|
||||||
|
|
||||||
// Handle according to the new state
|
// Handle according to the new state
|
||||||
|
|
||||||
switch (state)
|
switch (state)
|
||||||
@ -676,14 +782,13 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
m_text->enable();
|
m_text->enable();
|
||||||
|
|
||||||
// Play image enabled and ready to start playing
|
// Play image enabled and ready to start playing
|
||||||
|
// REVISIT: Really only available if there is a selected file in the list box
|
||||||
|
|
||||||
m_play->enable();
|
m_play->enable();
|
||||||
m_play->show();
|
m_play->show();
|
||||||
m_play->enableDrawing();
|
|
||||||
|
|
||||||
// Pause image is disabled and hidden
|
// Pause image is disabled and hidden
|
||||||
|
|
||||||
m_pause->disableDrawing();
|
|
||||||
m_pause->disable();
|
m_pause->disable();
|
||||||
m_pause->hide();
|
m_pause->hide();
|
||||||
|
|
||||||
@ -710,7 +815,6 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
|
|
||||||
// Play image hidden and disabled
|
// Play image hidden and disabled
|
||||||
|
|
||||||
m_play->disableDrawing();
|
|
||||||
m_play->disable();
|
m_play->disable();
|
||||||
m_play->hide();
|
m_play->hide();
|
||||||
|
|
||||||
@ -718,7 +822,6 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
|
|
||||||
m_pause->enable();
|
m_pause->enable();
|
||||||
m_pause->show();
|
m_pause->show();
|
||||||
m_pause->enableDrawing();
|
|
||||||
|
|
||||||
// Fast forward image is enabled and ready for use
|
// Fast forward image is enabled and ready for use
|
||||||
|
|
||||||
@ -729,8 +832,6 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
|
|
||||||
m_rewind->enable();
|
m_rewind->enable();
|
||||||
m_rewind->setStuckSelection(false);
|
m_rewind->setStuckSelection(false);
|
||||||
|
|
||||||
m_volume->enable();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MPLAYER_PAUSED: // Playing a media file but paused
|
case MPLAYER_PAUSED: // Playing a media file but paused
|
||||||
@ -745,25 +846,19 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
|
|
||||||
m_play->enable();
|
m_play->enable();
|
||||||
m_play->show();
|
m_play->show();
|
||||||
m_play->enableDrawing();
|
|
||||||
|
|
||||||
// Pause image is disabled and hidden
|
// Pause image is disabled and hidden
|
||||||
|
|
||||||
m_pause->disableDrawing();
|
|
||||||
m_pause->disable();
|
m_pause->disable();
|
||||||
m_pause->hide();
|
m_pause->hide();
|
||||||
|
|
||||||
// Fast forward image is enabled and ready for use
|
// Fast forward image is enabled and ready for use
|
||||||
|
|
||||||
m_fforward->enable();
|
|
||||||
m_fforward->setStuckSelection(false);
|
m_fforward->setStuckSelection(false);
|
||||||
|
|
||||||
// Rewind image is enabled and ready for use
|
// Rewind image is enabled and ready for use
|
||||||
|
|
||||||
m_rewind->enable();
|
|
||||||
m_rewind->setStuckSelection(false);
|
m_rewind->setStuckSelection(false);
|
||||||
|
|
||||||
m_volume->enable();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MPLAYER_FFORWARD: // Fast forwarding through a media file */
|
case MPLAYER_FFORWARD: // Fast forwarding through a media file */
|
||||||
@ -777,7 +872,6 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
{
|
{
|
||||||
// Play image hidden and disabled
|
// Play image hidden and disabled
|
||||||
|
|
||||||
m_play->disableDrawing();
|
|
||||||
m_play->disable();
|
m_play->disable();
|
||||||
m_play->hide();
|
m_play->hide();
|
||||||
|
|
||||||
@ -785,7 +879,6 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
|
|
||||||
m_pause->enable();
|
m_pause->enable();
|
||||||
m_pause->show();
|
m_pause->show();
|
||||||
m_pause->enableDrawing();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -793,26 +886,20 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
|
|
||||||
m_play->enable();
|
m_play->enable();
|
||||||
m_play->show();
|
m_play->show();
|
||||||
m_play->enableDrawing();
|
|
||||||
|
|
||||||
// Pause image is hidden and disabled
|
// Pause image is hidden and disabled
|
||||||
|
|
||||||
m_pause->disableDrawing();
|
|
||||||
m_pause->disable();
|
m_pause->disable();
|
||||||
m_pause->hide();
|
m_pause->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fast forward image is enabled, highlighted and ready for use
|
// Fast forward image is enabled, highlighted and ready for use
|
||||||
|
|
||||||
m_fforward->enable();
|
|
||||||
m_fforward->setStuckSelection(true);
|
m_fforward->setStuckSelection(true);
|
||||||
|
|
||||||
// Rewind is enabled and ready for use
|
// Rewind is enabled and ready for use
|
||||||
|
|
||||||
m_rewind->enable();
|
|
||||||
m_rewind->setStuckSelection(false);
|
m_rewind->setStuckSelection(false);
|
||||||
|
|
||||||
m_volume->enable();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MPLAYER_FREWIND: // Rewinding a media file
|
case MPLAYER_FREWIND: // Rewinding a media file
|
||||||
@ -826,7 +913,6 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
{
|
{
|
||||||
// Play image hidden and disabled
|
// Play image hidden and disabled
|
||||||
|
|
||||||
m_play->disableDrawing();
|
|
||||||
m_play->disable();
|
m_play->disable();
|
||||||
m_play->hide();
|
m_play->hide();
|
||||||
|
|
||||||
@ -834,7 +920,6 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
|
|
||||||
m_pause->enable();
|
m_pause->enable();
|
||||||
m_pause->show();
|
m_pause->show();
|
||||||
m_pause->enableDrawing();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -842,36 +927,48 @@ void CMediaPlayer::setMediaPlayerState(enum EMediaPlayerState state)
|
|||||||
|
|
||||||
m_play->enable();
|
m_play->enable();
|
||||||
m_play->show();
|
m_play->show();
|
||||||
m_play->enableDrawing();
|
|
||||||
|
|
||||||
// Pause image is hidden and disabled
|
// Pause image is hidden and disabled
|
||||||
|
|
||||||
m_pause->disableDrawing();
|
|
||||||
m_pause->disable();
|
m_pause->disable();
|
||||||
m_pause->hide();
|
m_pause->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fast forward image is enabled and ready for use
|
// Fast forward image is enabled and ready for use
|
||||||
|
|
||||||
m_fforward->enable();
|
|
||||||
m_fforward->setStuckSelection(false);
|
m_fforward->setStuckSelection(false);
|
||||||
|
|
||||||
// Rewind image is enabled, highlighted, and ready for use
|
// Rewind image is enabled, highlighted, and ready for use
|
||||||
|
|
||||||
m_rewind->enable();
|
|
||||||
m_rewind->setStuckSelection(true);
|
m_rewind->setStuckSelection(true);
|
||||||
|
|
||||||
m_volume->enable();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Re-enable drawing and redraw all widgets for the new state
|
||||||
|
|
||||||
|
redrawWidgets();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle a widget action event. This includes a image pre/release
|
* Set the new volume level based on the position of the volume slider.
|
||||||
* release events and volume slider change events.
|
*/
|
||||||
|
|
||||||
|
void CMediaPlayer::setVolumeLevel(void)
|
||||||
|
{
|
||||||
|
// Current volume level values. This is already pre-scaled in the range 0-100
|
||||||
|
|
||||||
|
m_level = m_volume->getValue();
|
||||||
|
|
||||||
|
// Now, provide the new volume setting to the NX Player
|
||||||
|
#warning Missing logic
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle a widget action event. For this application, that means image
|
||||||
|
* pre-release events.
|
||||||
*
|
*
|
||||||
* @param e The event data.
|
* @param e The event data.
|
||||||
*/
|
*/
|
||||||
@ -952,11 +1049,6 @@ void CMediaPlayer::handleActionEvent(const NXWidgets::CWidgetEventArgs &e)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_volume->isClicked())
|
|
||||||
{
|
|
||||||
printf("Volume clicked\n"); // REMOVE ME
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -998,6 +1090,15 @@ void CMediaPlayer::handleReleaseOutsideEvent(const NXWidgets::CWidgetEventArgs &
|
|||||||
handleReleaseEvent(e);
|
handleReleaseEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle changes in the volume level.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void CMediaPlayer::handleValueChangeEvent(const NXWidgets::CWidgetEventArgs &e)
|
||||||
|
{
|
||||||
|
setVolumeLevel();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CMediaPlayerFactory Constructor
|
* CMediaPlayerFactory Constructor
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user