Add a 'capped' boolean parameter to all drawline/drawLine functions/methods. The idea is that this will produce better joining between lines
This commit is contained in:
parent
d488dd11ee
commit
a7ebc37b03
@ -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.
|
||||
|
@ -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,
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user