summaryrefslogtreecommitdiff
path: root/NxWidgets/libnxwidgets
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-05-13 18:28:43 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-05-13 18:28:43 +0000
commit21115c210a35c6f320a43d67fdd662639534eb2e (patch)
tree1cd10fccd4799f0247de8c71d347610bb4a4dee4 /NxWidgets/libnxwidgets
parent1aa4a0750b0705fefbb1cd2819dbc30684d25353 (diff)
downloadpx4-nuttx-21115c210a35c6f320a43d67fdd662639534eb2e.tar.gz
px4-nuttx-21115c210a35c6f320a43d67fdd662639534eb2e.tar.bz2
px4-nuttx-21115c210a35c6f320a43d67fdd662639534eb2e.zip
NXWidgets::CImage needs to catch mouse/touchscreen events; All touchscreen drivers need to report the last valid X/Y data when the screen is untouched.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4731 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'NxWidgets/libnxwidgets')
-rw-r--r--NxWidgets/libnxwidgets/include/cimage.hxx32
-rw-r--r--NxWidgets/libnxwidgets/src/cimage.cxx52
2 files changed, 80 insertions, 4 deletions
diff --git a/NxWidgets/libnxwidgets/include/cimage.hxx b/NxWidgets/libnxwidgets/include/cimage.hxx
index a1c282393..0b7be14f2 100644
--- a/NxWidgets/libnxwidgets/include/cimage.hxx
+++ b/NxWidgets/libnxwidgets/include/cimage.hxx
@@ -134,6 +134,33 @@ namespace NXWidgets
virtual void drawBorder(CGraphicsPort *port);
/**
+ * Redraws the button.
+ *
+ * @param x The x coordinate of the click.
+ * @param y The y coordinate of the click.
+ */
+
+ virtual void onClick(nxgl_coord_t x, nxgl_coord_t y);
+
+ /**
+ * Raises an action event and redraws the button.
+ *
+ * @param x The x coordinate of the mouse.
+ * @param y The y coordinate of the mouse.
+ */
+
+ virtual void onRelease(nxgl_coord_t x, nxgl_coord_t y);
+
+ /**
+ * Redraws the button.
+ *
+ * @param x The x coordinate of the mouse.
+ * @param y The y coordinate of the mouse.
+ */
+
+ virtual void onReleaseOutside(nxgl_coord_t x, nxgl_coord_t y);
+
+ /**
* Copy constructor is protected to prevent usage.
*/
@@ -199,10 +226,7 @@ namespace NXWidgets
* @param highlightOn True(1), the image will be highlighted
*/
- inline void highlight(bool highlightOn)
- {
- m_highlighted = highlightOn;
- }
+ void highlight(bool highlightOn);
};
}
diff --git a/NxWidgets/libnxwidgets/src/cimage.cxx b/NxWidgets/libnxwidgets/src/cimage.cxx
index 0ca6f571e..7d9e0ee4e 100644
--- a/NxWidgets/libnxwidgets/src/cimage.cxx
+++ b/NxWidgets/libnxwidgets/src/cimage.cxx
@@ -358,6 +358,58 @@ void CImage::drawBorder(CGraphicsPort *port)
}
/**
+ * Control the highlight state.
+ *
+ * @param highlightOn True(1), the image will be highlighted
+ */
+
+void CImage::highlight(bool highlightOn)
+{
+ if (m_highlighted != highlightOn)
+ {
+ m_highlighted = highlightOn;
+ redraw();
+ }
+}
+
+/**
+ * Redraws the button.
+ *
+ * @param x The x coordinate of the click.
+ * @param y The y coordinate of the click.
+ */
+
+void CImage::onClick(nxgl_coord_t x, nxgl_coord_t y)
+{
+ redraw();
+}
+
+/**
+ * Raises an action event and redraws the button.
+ *
+ * @param x The x coordinate of the mouse.
+ * @param y The y coordinate of the mouse.
+ */
+
+void CImage::onRelease(nxgl_coord_t x, nxgl_coord_t y)
+{
+ m_widgetEventHandlers->raiseActionEvent();
+ redraw();
+}
+
+/**
+ * Redraws the button.
+ *
+ * @param x The x coordinate of the mouse.
+ * @param y The y coordinate of the mouse.
+ */
+
+void CImage::onReleaseOutside(nxgl_coord_t x, nxgl_coord_t y)
+{
+ redraw();
+}
+
+/**
* Set the horizontal position of the bitmap. Zero is the left edge
* of the bitmap and values >0 will move the bit map to the right.
* This method is useful for horizontal scrolling a large bitmap