summaryrefslogtreecommitdiff
path: root/NxWidgets
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2015-04-05 08:50:01 -0600
committerGregory Nutt <gnutt@nuttx.org>2015-04-05 08:50:01 -0600
commit0aa9b220495236e5ce855a2fd7565e3ccd94114a (patch)
tree53a6899895545101d71b84d18adef5c9ae19f0c1 /NxWidgets
parentb49b2136f16a49b753e7824cb68f2294599179ac (diff)
downloadpx4-nuttx-0aa9b220495236e5ce855a2fd7565e3ccd94114a.tar.gz
px4-nuttx-0aa9b220495236e5ce855a2fd7565e3ccd94114a.tar.bz2
px4-nuttx-0aa9b220495236e5ce855a2fd7565e3ccd94114a.zip
Add a 'capped' boolean parameter to all drawline/drawLine functions/methods. The idea is that this will produce better joining between lines
Diffstat (limited to 'NxWidgets')
-rw-r--r--NxWidgets/libnxwidgets/include/cbgwindow.hxx8
-rw-r--r--NxWidgets/libnxwidgets/include/cgraphicsport.hxx6
-rw-r--r--NxWidgets/libnxwidgets/include/cnxtkwindow.hxx8
-rw-r--r--NxWidgets/libnxwidgets/include/cnxtoolbar.hxx8
-rw-r--r--NxWidgets/libnxwidgets/include/cnxwindow.hxx7
-rw-r--r--NxWidgets/libnxwidgets/include/inxwindow.hxx8
-rw-r--r--NxWidgets/libnxwidgets/src/cbgwindow.cxx9
-rw-r--r--NxWidgets/libnxwidgets/src/cgraphicsport.cxx18
-rw-r--r--NxWidgets/libnxwidgets/src/cnxtkwindow.cxx9
-rw-r--r--NxWidgets/libnxwidgets/src/cnxtoolbar.cxx9
-rw-r--r--NxWidgets/libnxwidgets/src/cnxwindow.cxx9
11 files changed, 63 insertions, 36 deletions
diff --git a/NxWidgets/libnxwidgets/include/cbgwindow.hxx b/NxWidgets/libnxwidgets/include/cbgwindow.hxx
index 90113cfe9..8a63633bd 100644
--- a/NxWidgets/libnxwidgets/include/cbgwindow.hxx
+++ b/NxWidgets/libnxwidgets/include/cbgwindow.hxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/include/cbgwindow.hxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -285,13 +285,15 @@ namespace NXWidgets
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to support
+ * better line joins
*
* @return True on success; false on failure.
*/
bool drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width,
- nxgl_mxpixel_t color);
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped);
/**
* Draw a filled circle at the specified position, size, and color.
diff --git a/NxWidgets/libnxwidgets/include/cgraphicsport.hxx b/NxWidgets/libnxwidgets/include/cgraphicsport.hxx
index c5148c8bc..4d529c94d 100644
--- a/NxWidgets/libnxwidgets/include/cgraphicsport.hxx
+++ b/NxWidgets/libnxwidgets/include/cgraphicsport.hxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/include/cgraphicsport.hxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -242,11 +242,13 @@ namespace NXWidgets
* @param x2 The x coordinate of the end point of the line.
* @param y2 The y coordinate of the end point of the line.
* @param color The color of the line.
+ * @param capped Draw a circular cap both ends of the line to support
+ * better line joins
*/
void drawLine(nxgl_coord_t x1, nxgl_coord_t y1,
nxgl_coord_t x2, nxgl_coord_t y2,
- nxgl_mxpixel_t color);
+ nxgl_mxpixel_t color, bool capped);
/**
* Draw a filled rectangle of the specified start position, end position,
diff --git a/NxWidgets/libnxwidgets/include/cnxtkwindow.hxx b/NxWidgets/libnxwidgets/include/cnxtkwindow.hxx
index b20bc2a24..1ac801b95 100644
--- a/NxWidgets/libnxwidgets/include/cnxtkwindow.hxx
+++ b/NxWidgets/libnxwidgets/include/cnxtkwindow.hxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/include/cnxtkwindow.hxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -306,13 +306,15 @@ namespace NXWidgets
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to support
+ * better line joins
*
* @return True on success; false on failure.
*/
bool drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width,
- nxgl_mxpixel_t color);
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped);
/**
* Draw a filled circle at the specified position, size, and color.
diff --git a/NxWidgets/libnxwidgets/include/cnxtoolbar.hxx b/NxWidgets/libnxwidgets/include/cnxtoolbar.hxx
index fd635b206..c7107678e 100644
--- a/NxWidgets/libnxwidgets/include/cnxtoolbar.hxx
+++ b/NxWidgets/libnxwidgets/include/cnxtoolbar.hxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/include/cnxtoolbar.hxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -275,13 +275,15 @@ namespace NXWidgets
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to suppor
+ * better line joins
*
* @return True on success; false on failure.
*/
bool drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width,
- nxgl_mxpixel_t color);
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped);
/**
* Draw a filled circle at the specified position, size, and color.
diff --git a/NxWidgets/libnxwidgets/include/cnxwindow.hxx b/NxWidgets/libnxwidgets/include/cnxwindow.hxx
index 98f89acc0..21a077954 100644
--- a/NxWidgets/libnxwidgets/include/cnxwindow.hxx
+++ b/NxWidgets/libnxwidgets/include/cnxwindow.hxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/include/cnxwindow.hxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -279,12 +279,15 @@ namespace NXWidgets
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to support
+ * better line joins
*
* @return True on success; false on failure.
*/
bool drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width, nxgl_mxpixel_t color);
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped);
/**
* Draw a filled circle at the specified position, size, and color.
diff --git a/NxWidgets/libnxwidgets/include/inxwindow.hxx b/NxWidgets/libnxwidgets/include/inxwindow.hxx
index 3e2f6c4a1..23b99fe90 100644
--- a/NxWidgets/libnxwidgets/include/inxwindow.hxx
+++ b/NxWidgets/libnxwidgets/include/inxwindow.hxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/include/inxwindow.hxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -249,13 +249,15 @@ namespace NXWidgets
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to support
+ * better line joins
*
* @return True on success; false on failure.
*/
virtual bool drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width,
- nxgl_mxpixel_t color) = 0;
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped) = 0;
/**
* Draw a filled circle at the specified position, size, and color.
diff --git a/NxWidgets/libnxwidgets/src/cbgwindow.cxx b/NxWidgets/libnxwidgets/src/cbgwindow.cxx
index 2cb3d2389..979cb3aeb 100644
--- a/NxWidgets/libnxwidgets/src/cbgwindow.cxx
+++ b/NxWidgets/libnxwidgets/src/cbgwindow.cxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/src/cbgwindow.cxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -308,16 +308,19 @@ bool CBgWindow::fillTrapezoid(FAR const struct nxgl_rect_s *pClip,
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to support
+ * better line joins
*
* @return True on success; false on failure.
*/
bool CBgWindow::drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width, nxgl_mxpixel_t color)
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped)
{
// Draw a line with the specified color
- return nx_drawline(m_hWindow, vector, width, &color) == OK;
+ return nx_drawline(m_hWindow, vector, width, &color, capped) == OK;
}
/**
diff --git a/NxWidgets/libnxwidgets/src/cgraphicsport.cxx b/NxWidgets/libnxwidgets/src/cgraphicsport.cxx
index 5791ab773..d3fcdd3b5 100644
--- a/NxWidgets/libnxwidgets/src/cgraphicsport.cxx
+++ b/NxWidgets/libnxwidgets/src/cgraphicsport.cxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/src/cgraphicsport.cxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -241,16 +241,18 @@ void CGraphicsPort::drawVertLine(nxgl_coord_t x, nxgl_coord_t y,
/**
* Draw a line of a fixed color in the window.
*
- * @param x1 The x coordinate of the start point of the line.
- * @param y1 The y coordinate of the start point of the line.
- * @param x2 The x coordinate of the end point of the line.
- * @param y2 The y coordinate of the end point of the line.
- * @param color The color of the line.
+ * @param x1 - The x coordinate of the start point of the line.
+ * @param y1 - The y coordinate of the start point of the line.
+ * @param x2 - The x coordinate of the end point of the line.
+ * @param y2 - The y coordinate of the end point of the line.
+ * @param color - The color of the line.
+ * @param capped - Draw a circular cap both ends of the line to support
+ * - better line joins
*/
void CGraphicsPort::drawLine(nxgl_coord_t x1, nxgl_coord_t y1,
nxgl_coord_t x2, nxgl_coord_t y2,
- nxgl_mxpixel_t color)
+ nxgl_mxpixel_t color, bool capped)
{
struct nxgl_vector_s vector;
@@ -259,7 +261,7 @@ void CGraphicsPort::drawLine(nxgl_coord_t x1, nxgl_coord_t y1,
vector.pt2.x = x2;
vector.pt2.y = y2;
- if (!m_pNxWnd->drawLine(&vector, 1, color))
+ if (!m_pNxWnd->drawLine(&vector, 1, color, capped))
{
gdbg("INxWindow::drawLine failed\n");
}
diff --git a/NxWidgets/libnxwidgets/src/cnxtkwindow.cxx b/NxWidgets/libnxwidgets/src/cnxtkwindow.cxx
index 57ca5eb2b..14e07dbbb 100644
--- a/NxWidgets/libnxwidgets/src/cnxtkwindow.cxx
+++ b/NxWidgets/libnxwidgets/src/cnxtkwindow.cxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/src/cnxtkwindow.cxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -442,16 +442,19 @@ bool CNxTkWindow::fillTrapezoid(FAR const struct nxgl_rect_s *pClip,
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to support
+ * better line joins
*
* @return True on success; false on failure.
*/
bool CNxTkWindow::drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width, nxgl_mxpixel_t color)
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped)
{
// Draw a line with the specified color
- return nxtk_drawlinewindow(m_hNxTkWindow, vector, width, &color) == OK;
+ return nxtk_drawlinewindow(m_hNxTkWindow, vector, width, &color, capped) == OK;
}
/**
diff --git a/NxWidgets/libnxwidgets/src/cnxtoolbar.cxx b/NxWidgets/libnxwidgets/src/cnxtoolbar.cxx
index 3c336f06a..01b72e32f 100644
--- a/NxWidgets/libnxwidgets/src/cnxtoolbar.cxx
+++ b/NxWidgets/libnxwidgets/src/cnxtoolbar.cxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/src/cnxtoolbar.cxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -313,16 +313,19 @@ bool CNxToolbar::fillTrapezoid(FAR const struct nxgl_rect_s *pClip,
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to support
+ * better line joins
*
* @return True on success; false on failure.
*/
bool CNxToolbar::drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width, nxgl_mxpixel_t color)
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped)
{
// Draw a line with the specified color
- return nxtk_drawlinetoolbar(m_hNxTkWindow, vector, width, &color) == OK;
+ return nxtk_drawlinetoolbar(m_hNxTkWindow, vector, width, &color, capped) == OK;
}
/**
diff --git a/NxWidgets/libnxwidgets/src/cnxwindow.cxx b/NxWidgets/libnxwidgets/src/cnxwindow.cxx
index 046660774..c600ecd1b 100644
--- a/NxWidgets/libnxwidgets/src/cnxwindow.cxx
+++ b/NxWidgets/libnxwidgets/src/cnxwindow.cxx
@@ -1,7 +1,7 @@
/****************************************************************************
* NxWidgets/libnxwidgets/src/cnxwindow.cxx
*
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -286,16 +286,19 @@ bool CNxWindow::fillTrapezoid(FAR const struct nxgl_rect_s *pClip,
* @param vector - Describes the line to be drawn
* @param width - The width of the line
* @param color - The color to use to fill the line
+ * @param capped - Draw a circular cap both ends of the line to support
+ * better line joins
*
* @return True on success; false on failure.
*/
bool CNxWindow::drawLine(FAR struct nxgl_vector_s *vector,
- nxgl_coord_t width, nxgl_mxpixel_t color)
+ nxgl_coord_t width, nxgl_mxpixel_t color,
+ bool capped)
{
// Draw a line with the specified color
- return nx_drawline(m_hNxWindow, vector, width, &color) == OK;
+ return nx_drawline(m_hNxWindow, vector, width, &color, capped) == OK;
}
/**