Fixes to strchr, mkfats, and NxWidgets from Petteri Aimonen
This commit is contained in:
parent
26e5eb4132
commit
d8e05678fe
@ -329,3 +329,18 @@
|
||||
From Petteri Aimonen.
|
||||
|
||||
1.7 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>
|
||||
|
||||
* NxWidgets bitmap_converter.py: Fix bug when image width > 255. From
|
||||
Petteri Aimonen (2013-4-22).
|
||||
* NxWM::CScrollbarPanel: Fix spelling error in class name: CScollbarPanel
|
||||
should be CScrollbarPanel. From Petteri Aimonen (2013-4-22).
|
||||
* NxWidgets:: CGlyphButton: Generate action event, like CButton does.
|
||||
From Petteri Aimonen (2013-4-22).
|
||||
* NxWidgets:: CGlyphButton: Prevent drawing outside of the bitmap size.
|
||||
From Petteri Aimonen (2013-4-22).
|
||||
* NxWM::CTaskBar: Add option CONFIG_NXWM_TASKBAR_NO_BORDER to suppress
|
||||
drawing of the border on the taskbar. From Petteri Aimonen (2013-4-22).
|
||||
* NxWidgets::CNxTimer: Add function to check if CNxTimer is running.
|
||||
From Petteri Aimonen (2013-4-22).
|
||||
* NxWidgets::CNxWidgets: Allow overriding of the checkCollision() method.
|
||||
From Petteri Aimonen (2013-4-22).
|
||||
|
6
Kconfig
6
Kconfig
@ -428,6 +428,12 @@ config NXWM_DISABLE_MINIMIZE
|
||||
windows. If the buttons are small, it's easy to hit minimize
|
||||
button accidentally when trying to close an application.
|
||||
|
||||
config NXWM_TASKBAR_NO_BORDER
|
||||
bool "Suppress Taskbar border"
|
||||
default n
|
||||
---help---
|
||||
Suppress drawing a the border around the taskbar.
|
||||
|
||||
comment "Tool Bar Configuration"
|
||||
|
||||
config NXWM_CUSTOM_TOOLBAR_HEIGHT
|
||||
|
@ -73,7 +73,7 @@
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <stdint.h>
|
||||
@ -87,11 +87,11 @@
|
||||
/****************************************************************************
|
||||
* Pre-Processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* Implementation Classes
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
||||
namespace NXWidgets
|
||||
@ -156,7 +156,16 @@ namespace NXWidgets
|
||||
virtual void onClick(nxgl_coord_t x, nxgl_coord_t y);
|
||||
|
||||
/**
|
||||
* Raises an action event and redraws the button.
|
||||
* Raises an action event.
|
||||
*
|
||||
* @param x The x coordinate of the mouse.
|
||||
* @param y The y coordinate of the mouse.
|
||||
*/
|
||||
|
||||
virtual void onPreRelease(nxgl_coord_t x, nxgl_coord_t y);
|
||||
|
||||
/**
|
||||
* Raises a release event and redraws the button.
|
||||
*
|
||||
* @param x The x coordinate of the mouse.
|
||||
* @param y The y coordinate of the mouse.
|
||||
|
@ -73,7 +73,7 @@
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <stdint.h>
|
||||
@ -87,11 +87,11 @@
|
||||
/****************************************************************************
|
||||
* Pre-Processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* Implementation Classes
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
||||
namespace NXWidgets
|
||||
@ -102,7 +102,7 @@ namespace NXWidgets
|
||||
* Timer widget. It can drive time-based events, animations, etc.
|
||||
*
|
||||
* Using the timer is simple:
|
||||
* - Create an instance of the CNxTimer and add it as a child to a widget.
|
||||
* - Create an instance of the CNxTimer and add it as a child to a widget.
|
||||
* - Call the instance's "start()" method.
|
||||
* - Catch the timer's action event and call any code that should run.
|
||||
*/
|
||||
@ -169,6 +169,12 @@ namespace NXWidgets
|
||||
|
||||
void stop(void);
|
||||
|
||||
/**
|
||||
* Returns true if the timer is currently running.
|
||||
*/
|
||||
|
||||
inline bool isRunning() const { return m_isRunning; }
|
||||
|
||||
/**
|
||||
* Set the timeout of this timer. This timeout value will not
|
||||
* take effect until start() or reset() is called.
|
||||
@ -181,7 +187,7 @@ namespace NXWidgets
|
||||
{
|
||||
m_timeout = timeout;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the timeout of this timer.
|
||||
*
|
||||
|
@ -1215,7 +1215,7 @@ namespace NXWidgets
|
||||
* @return True if a collision occurred.
|
||||
*/
|
||||
|
||||
bool checkCollision(nxgl_coord_t x, nxgl_coord_t y) const;
|
||||
virtual bool checkCollision(nxgl_coord_t x, nxgl_coord_t y) const;
|
||||
|
||||
/**
|
||||
* Checks if the supplied rectangle definition collides with this widget.
|
||||
@ -1227,8 +1227,8 @@ namespace NXWidgets
|
||||
* @return True if a collision occurred.
|
||||
*/
|
||||
|
||||
bool checkCollision(nxgl_coord_t x, nxgl_coord_t y,
|
||||
nxgl_coord_t width, nxgl_coord_t height) const;
|
||||
virtual bool checkCollision(nxgl_coord_t x, nxgl_coord_t y,
|
||||
nxgl_coord_t width, nxgl_coord_t height) const;
|
||||
|
||||
/**
|
||||
* Checks if the supplied widget collides with this widget.
|
||||
|
@ -73,7 +73,7 @@
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <stdint.h>
|
||||
@ -93,11 +93,11 @@
|
||||
/****************************************************************************
|
||||
* Pre-Processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* Implementation Classes
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
||||
namespace NXWidgets
|
||||
@ -105,8 +105,8 @@ namespace NXWidgets
|
||||
/**
|
||||
* Class containing a scrolling panel bordered by scrollbars.
|
||||
*/
|
||||
class CScollbarPanel : public CNxWidget, public IScrollable,
|
||||
public CWidgetEventHandler
|
||||
class CScrollbarPanel : public CNxWidget, public IScrollable,
|
||||
public CWidgetEventHandler
|
||||
{
|
||||
protected:
|
||||
CWidgetControl *m_widgetControl; /**< Widget control instance */
|
||||
@ -143,13 +143,13 @@ namespace NXWidgets
|
||||
* Destructor.
|
||||
*/
|
||||
|
||||
virtual ~CScollbarPanel(void) { }
|
||||
virtual ~CScrollbarPanel(void) { }
|
||||
|
||||
/**
|
||||
* Copy constructor is protected to prevent usage.
|
||||
*/
|
||||
|
||||
inline CScollbarPanel(const CScollbarPanel &scrollbarPanel)
|
||||
inline CScrollbarPanel(const CScrollbarPanel &scrollbarPanel)
|
||||
: CNxWidget(scrollbarPanel) { }
|
||||
|
||||
public:
|
||||
@ -169,11 +169,11 @@ namespace NXWidgets
|
||||
* the style into its own internal style object.
|
||||
*/
|
||||
|
||||
CScollbarPanel(CWidgetControl *pWidgetControl,
|
||||
nxgl_coord_t x, nxgl_coord_t y,
|
||||
nxgl_coord_t width, nxgl_coord_t height,
|
||||
uint32_t flags,
|
||||
CWidgetStyle *style = (CWidgetStyle *)NULL);
|
||||
CScrollbarPanel(CWidgetControl *pWidgetControl,
|
||||
nxgl_coord_t x, nxgl_coord_t y,
|
||||
nxgl_coord_t width, nxgl_coord_t height,
|
||||
uint32_t flags,
|
||||
CWidgetStyle *style = (CWidgetStyle *)NULL);
|
||||
|
||||
/**
|
||||
* Scroll the panel by the specified amounts.
|
||||
@ -183,7 +183,7 @@ namespace NXWidgets
|
||||
*/
|
||||
|
||||
virtual void scroll(int32_t dx, int32_t dy);
|
||||
|
||||
|
||||
/**
|
||||
* Reposition the panel's scrolling region to the specified coordinates.
|
||||
*
|
||||
@ -216,7 +216,7 @@ namespace NXWidgets
|
||||
*/
|
||||
|
||||
virtual void setCanvasWidth(const int32_t width);
|
||||
|
||||
|
||||
/**
|
||||
* Sets the height of the virtual canvas.
|
||||
*
|
||||
@ -248,7 +248,7 @@ namespace NXWidgets
|
||||
*/
|
||||
|
||||
virtual const int32_t getCanvasX(void) const;
|
||||
|
||||
|
||||
/**
|
||||
* Gets the y coordinate of the virtual canvas.
|
||||
*
|
||||
@ -264,7 +264,7 @@ namespace NXWidgets
|
||||
*/
|
||||
|
||||
virtual const int32_t getCanvasWidth(void) const;
|
||||
|
||||
|
||||
/**
|
||||
* Gets the height of the virtual canvas.
|
||||
*
|
||||
|
@ -70,7 +70,7 @@
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
@ -193,16 +193,16 @@ void CGlyphButton::drawContents(CGraphicsPort *port)
|
||||
|
||||
if (isEnabled())
|
||||
{
|
||||
port->drawBitmap(rect.getX(), rect.getY(),
|
||||
rect.getWidth(), rect.getHeight(),
|
||||
bitmap, m_bitmapX, m_bitmapY,
|
||||
port->drawBitmap(rect.getX() + m_bitmapX, rect.getY() + m_bitmapY,
|
||||
bitmap->width, bitmap->height,
|
||||
bitmap, 0, 0,
|
||||
CONFIG_NXWIDGETS_TRANSPARENT_COLOR);
|
||||
}
|
||||
else
|
||||
{
|
||||
port->drawBitmapGreyScale(rect.getX(), rect.getY(),
|
||||
rect.getWidth(), rect.getHeight(),
|
||||
bitmap, m_bitmapX, m_bitmapY);
|
||||
port->drawBitmapGreyScale(rect.getX() + m_bitmapX, rect.getY() + m_bitmapY,
|
||||
bitmap->width, bitmap->height,
|
||||
bitmap, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -237,7 +237,7 @@ void CGlyphButton::drawOutline(CGraphicsPort *port)
|
||||
|
||||
nxgl_coord_t color1;
|
||||
nxgl_coord_t color2;
|
||||
|
||||
|
||||
if (isClicked())
|
||||
{
|
||||
// Bevelled into the screen
|
||||
@ -252,7 +252,7 @@ void CGlyphButton::drawOutline(CGraphicsPort *port)
|
||||
color1 = getShineEdgeColor();
|
||||
color2 = getShadowEdgeColor();
|
||||
}
|
||||
|
||||
|
||||
port->drawBevelledRect(getX(), getY(),
|
||||
getWidth(), getHeight(),
|
||||
color1, color2);
|
||||
@ -272,7 +272,19 @@ void CGlyphButton::onClick(nxgl_coord_t x, nxgl_coord_t y)
|
||||
}
|
||||
|
||||
/**
|
||||
* Raises an action event and redraws the button.
|
||||
* Raises an action event.
|
||||
*
|
||||
* @param x The x coordinate of the mouse.
|
||||
* @param y The y coordinate of the mouse.
|
||||
*/
|
||||
|
||||
void CGlyphButton::onPreRelease(nxgl_coord_t x, nxgl_coord_t y)
|
||||
{
|
||||
m_widgetEventHandlers->raiseActionEvent();
|
||||
}
|
||||
|
||||
/**
|
||||
* Raises a release event and redraws the button.
|
||||
*
|
||||
* @param x The x coordinate of the mouse.
|
||||
* @param y The y coordinate of the mouse.
|
||||
|
@ -70,7 +70,7 @@
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <stdint.h>
|
||||
@ -104,10 +104,10 @@ using namespace NXWidgets;
|
||||
* the style into its own internal style object.
|
||||
*/
|
||||
|
||||
CScollbarPanel::CScollbarPanel(CWidgetControl *pWidgetControl,
|
||||
nxgl_coord_t x, nxgl_coord_t y,
|
||||
nxgl_coord_t width, nxgl_coord_t height,
|
||||
uint32_t flags, CWidgetStyle *style)
|
||||
CScrollbarPanel::CScrollbarPanel(CWidgetControl *pWidgetControl,
|
||||
nxgl_coord_t x, nxgl_coord_t y,
|
||||
nxgl_coord_t width, nxgl_coord_t height,
|
||||
uint32_t flags, CWidgetStyle *style)
|
||||
: CNxWidget(pWidgetControl, x, y, width, height, flags, style)
|
||||
{
|
||||
m_scrollbarWidth = 10;
|
||||
@ -136,7 +136,7 @@ CScollbarPanel::CScollbarPanel(CWidgetControl *pWidgetControl,
|
||||
* @param dy The vertical distance to scroll.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::scroll(int32_t dx, int32_t dy)
|
||||
void CScrollbarPanel::scroll(int32_t dx, int32_t dy)
|
||||
{
|
||||
m_panel->scroll(dx, dy);
|
||||
}
|
||||
@ -148,7 +148,7 @@ void CScollbarPanel::scroll(int32_t dx, int32_t dy)
|
||||
* @param y The new y coordinate of the scrolling region.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::jump(int32_t x, int32_t y)
|
||||
void CScrollbarPanel::jump(int32_t x, int32_t y)
|
||||
{
|
||||
m_panel->jump(x, y);
|
||||
}
|
||||
@ -159,7 +159,7 @@ void CScollbarPanel::jump(int32_t x, int32_t y)
|
||||
* @param allow True to allow horizontal scrolling; false to deny it.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::setAllowsVerticalScroll(bool allow)
|
||||
void CScrollbarPanel::setAllowsVerticalScroll(bool allow)
|
||||
{
|
||||
m_panel->setAllowsVerticalScroll(allow);
|
||||
|
||||
@ -182,7 +182,7 @@ void CScollbarPanel::setAllowsVerticalScroll(bool allow)
|
||||
* @param allow True to allow horizontal scrolling; false to deny it.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::setAllowsHorizontalScroll(bool allow)
|
||||
void CScrollbarPanel::setAllowsHorizontalScroll(bool allow)
|
||||
{
|
||||
m_panel->setAllowsHorizontalScroll(allow);
|
||||
|
||||
@ -205,7 +205,7 @@ void CScollbarPanel::setAllowsHorizontalScroll(bool allow)
|
||||
* @param width The width of the virtual canvas.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::setCanvasWidth(const int32_t width)
|
||||
void CScrollbarPanel::setCanvasWidth(const int32_t width)
|
||||
{
|
||||
m_panel->setCanvasWidth(width);
|
||||
m_scrollbarHorizontal->setMaximumValue(width);
|
||||
@ -217,7 +217,7 @@ void CScollbarPanel::setCanvasWidth(const int32_t width)
|
||||
* @param height The height of the virtual canvas.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::setCanvasHeight(const int32_t height)
|
||||
void CScrollbarPanel::setCanvasHeight(const int32_t height)
|
||||
{
|
||||
m_panel->setCanvasHeight(height);
|
||||
m_scrollbarVertical->setMaximumValue(height);
|
||||
@ -229,7 +229,7 @@ void CScollbarPanel::setCanvasHeight(const int32_t height)
|
||||
* @return True if vertical scrolling is allowed.
|
||||
*/
|
||||
|
||||
bool CScollbarPanel::allowsVerticalScroll(void) const
|
||||
bool CScrollbarPanel::allowsVerticalScroll(void) const
|
||||
{
|
||||
return m_panel->allowsVerticalScroll();
|
||||
}
|
||||
@ -240,7 +240,7 @@ bool CScollbarPanel::allowsVerticalScroll(void) const
|
||||
* @return True if horizontal scrolling is allowed.
|
||||
*/
|
||||
|
||||
bool CScollbarPanel::allowsHorizontalScroll(void) const
|
||||
bool CScrollbarPanel::allowsHorizontalScroll(void) const
|
||||
{
|
||||
return m_panel->allowsHorizontalScroll();
|
||||
}
|
||||
@ -251,7 +251,7 @@ bool CScollbarPanel::allowsHorizontalScroll(void) const
|
||||
* @return The x coordinate of the virtual canvas.
|
||||
*/
|
||||
|
||||
const int32_t CScollbarPanel::getCanvasX(void) const
|
||||
const int32_t CScrollbarPanel::getCanvasX(void) const
|
||||
{
|
||||
return m_panel->getCanvasX();
|
||||
}
|
||||
@ -262,7 +262,7 @@ const int32_t CScollbarPanel::getCanvasX(void) const
|
||||
* @return The y coordinate of the virtual canvas.
|
||||
*/
|
||||
|
||||
const int32_t CScollbarPanel::getCanvasY(void) const
|
||||
const int32_t CScrollbarPanel::getCanvasY(void) const
|
||||
{
|
||||
return m_panel->getCanvasY();
|
||||
}
|
||||
@ -273,7 +273,7 @@ const int32_t CScollbarPanel::getCanvasY(void) const
|
||||
* @return The width of the virtual canvas.
|
||||
*/
|
||||
|
||||
const int32_t CScollbarPanel::getCanvasWidth(void) const
|
||||
const int32_t CScrollbarPanel::getCanvasWidth(void) const
|
||||
{
|
||||
return m_panel->getCanvasWidth();
|
||||
}
|
||||
@ -284,7 +284,7 @@ const int32_t CScollbarPanel::getCanvasWidth(void) const
|
||||
* @return The height of the virtual canvas.
|
||||
*/
|
||||
|
||||
const int32_t CScollbarPanel::getCanvasHeight(void) const
|
||||
const int32_t CScrollbarPanel::getCanvasHeight(void) const
|
||||
{
|
||||
return m_panel->getCanvasHeight();
|
||||
}
|
||||
@ -295,7 +295,7 @@ const int32_t CScollbarPanel::getCanvasHeight(void) const
|
||||
* @param e The event data.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::handleScrollEvent(const CWidgetEventArgs &e)
|
||||
void CScrollbarPanel::handleScrollEvent(const CWidgetEventArgs &e)
|
||||
{
|
||||
if (e.getSource() != NULL)
|
||||
{
|
||||
@ -323,7 +323,7 @@ void CScollbarPanel::handleScrollEvent(const CWidgetEventArgs &e)
|
||||
* @param e The event data.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::handleValueChangeEvent(const CWidgetEventArgs &e)
|
||||
void CScrollbarPanel::handleValueChangeEvent(const CWidgetEventArgs &e)
|
||||
{
|
||||
if (e.getSource() != NULL)
|
||||
{
|
||||
@ -352,7 +352,7 @@ void CScollbarPanel::handleValueChangeEvent(const CWidgetEventArgs &e)
|
||||
* Creates the child widgets.
|
||||
*/
|
||||
|
||||
void CScollbarPanel::buildUI(void)
|
||||
void CScrollbarPanel::buildUI(void)
|
||||
{
|
||||
CRect rect;
|
||||
getClientRect(rect);
|
||||
@ -432,7 +432,7 @@ void CScollbarPanel::buildUI(void)
|
||||
* @see redraw()
|
||||
*/
|
||||
|
||||
void CScollbarPanel::drawContents(CGraphicsPort *port)
|
||||
void CScrollbarPanel::drawContents(CGraphicsPort *port)
|
||||
{
|
||||
port->drawFilledRect(0, 0, getWidth(), getHeight(), getBackgroundColor());
|
||||
}
|
||||
|
@ -1112,11 +1112,13 @@ bool CTaskbar::redrawTaskbarWindow(void)
|
||||
port->drawFilledRect(0, 0, windowSize.w, windowSize.h,
|
||||
CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR);
|
||||
|
||||
#ifndef CONFIG_NXWM_TASKBAR_NO_BORDER
|
||||
// Add a border to the task bar to delineate it from the background window
|
||||
|
||||
port->drawBevelledRect(0, 0, windowSize.w, windowSize.h,
|
||||
CONFIG_NXWM_DEFAULT_SHINEEDGECOLOR,
|
||||
CONFIG_NXWM_DEFAULT_SHADOWEDGECOLOR);
|
||||
#endif
|
||||
|
||||
// Begin adding icons in the upper left corner
|
||||
|
||||
|
@ -64,7 +64,7 @@ def encode_row(img, palette, y):
|
||||
|
||||
for x in range(0, img.size[0]):
|
||||
c = quantize(img.getpixel((x, y)), palette)
|
||||
if c == color:
|
||||
if c == color and repeats < 255:
|
||||
repeats += 1
|
||||
else:
|
||||
if color is not None:
|
||||
|
Loading…
x
Reference in New Issue
Block a user