From cf44f84a551525a809d6576f0ebb5610825d8a62 Mon Sep 17 00:00:00 2001
From: patacongo Last Updated: July 27 2011 Last Updated: August 2, 2011
NX Graphics Subsystem
- nxgl_runcopy()
2.2.16 nxgl_trapoffset()
2.2.17 nxgl_trapcopy()
- 2.2.18 nxgl_colorcopy
+ 2.2.18 nxgl_colorcopy
+ 2.2.19 nxgl_splitline
@@ -113,11 +114,12 @@
2.3.19 nx_lower()
2.3.20 nx_fill()
2.3.21 nx_filltrapezoid()
- 2.3.22 nx_setbgcolor()
- 2.3.23 nx_move()
- 2.3.24 nx_bitmap()
- 2.3.25 nx_kbdin()
- 2.3.26 nx_mousein()
+ 2.3.22 nx_drawline()
+ 2.3.23 nx_setbgcolor()
+ 2.3.24 nx_move()
+ 2.3.25 nx_bitmap()
+ 2.3.26 nx_kbdin()
+ 2.3.27 nx_mousein()
nxtk_lower()
nxtk_fillwindow()
nxtk_filltrapwindow()
nxtk_movewindow()
nxtk_bitmapwindow()
nxtk_opentoolbar()
nxtk_closetoolbar()
nxtk_filltoolbar()
nxtk_filltraptoolbar()
nxtk_movetoolbar()
nxtk_bitmaptoolbar()
+ 2.4.11 nxtk_drawlinewindow()
nxtk_movewindow()
nxtk_bitmapwindow()
nxtk_opentoolbar()
nxtk_closetoolbar()
nxtk_filltoolbar()
nxtk_filltraptoolbar()
nxtk_drawlinetoolbar()
nxtk_movetoolbar()
nxtk_bitmaptoolbar()
@@ -711,7 +715,7 @@ void nxgl_trapoffset(FAR struct nxgl_trapezoid_s *dest,
Offset the trapezoid position by the specified dx
, dy
values.
nxgl_trapcopy()
nxgl_trapcopy()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -724,7 +728,7 @@ void nxgl_trapcopy(FAR struct nxgl_trapezoid_s *dest, assignments because some compilers are not good at that. -2.2.1
+nxgl_colorcopy
2.2.18
nxgl_colorcopy
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -738,6 +742,70 @@ nxgl_colorcopy(nxgl_mxpixel_t dest[CONFIG_NX_NPLANES], in one place. +2.2.19
+ +nxgl_splitline
Function Prototype:
+
+#include <nuttx/nx/nxglib.h> +int nxgl_splitline(FAR struct nxgl_vector_s *vector, FAR struct nxgl_trapezoid_s *traps, + FAR struct nxgl_rect_s *rect, nxgl_coord_t linewidth); ++
+ Description: + In the general case, a line with width can be represented as a parallelogram with a triangle at the top and bottom. + Triangles and parallelograms are both degenerate versions of a trapeziod. + This function breaks a wide line into triangles and trapezoids. + This function also detects other degenerate cases: +
+y1 == y2
then the line is horizontal and is better represented as a rectangle.
+ x1 == x2
then the line is vertical and also better represented as a rectangle.
+ + Input parameters: +
+
vector
+ traps
+ rect
+ + Returned value: +
+
+ 0
: Line successfully broken up into three trapezoids.
+ Values in traps[0]
, traps[1]
, and traps[2]
are valid.
+
+ 1
: Line successfully represented by one trapezoid.
+ Value in traps[1]
is valid.
+
+ 2
: Line successfully represented by one rectangle.
+ Value in rect
is valid
+
+ <0
: On errors, a negated errno
value is returned.
+
+
ERROR
on failure with errno
set appropriately
-nx_setbgcolor()
nx_drawline()
Function Prototype:
++#include <nuttx/nx/nxglib.h> +#include <nuttx/nx/nx.h> + +int nx_drawline(NXWINDOW hwnd, FAR struct nxgl_vector_s *vector, + nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); ++
+ Description:
+ Fill the specified trapezoidal region in the window with the specified color.
+ Fill the specified line in the window with the specified color.
+ This is simply a wrapper that uses nxgl_splitline()
to break the line into
+ trapezoids and then calls nx_filltrapezoid()
to render the line.
+
+ Input Parameters: +
hwnd
+ nx_openwindow()
+ or nx_requestbkgd()
+ vector
+ width
+ color
+
+ Returned Value:
+ OK
on success;
+ ERROR
on failure with errno
set appropriately
+
nx_setbgcolor()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -1609,7 +1713,7 @@ int nx_setbgcolor(NXHANDLE handle,ERROR
on failure witherrno
set appropriately -2.3.23
+nx_move()
2.3.24
nx_move()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -1640,7 +1744,7 @@ int nx_move(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect,ERROR
on failure witherrno
set appropriately -2.3.24
+nx_bitmap()
2.3.25
nx_bitmap()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -1682,7 +1786,7 @@ int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest,ERROR
on failure witherrno
set appropriately -2.3.25
+nx_kbdin()
2.3.26
nx_kbdin()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -1705,7 +1809,7 @@ int nx_kbdin(NXHANDLE handle, uint8_t nch, FAR const uint8_t *ch);ERROR
on failure witherrno
set appropriately -2.3.26
+nx_mousein()
2.3.27
nx_mousein()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -2061,7 +2165,44 @@ int nxtk_filltrapwindow(NXTKWINDOW hfwnd,ERROR
on failure witherrno
set appropriately -2.4.11
+nxtk_movewindow()
2.4.11
+nxtk_drawlinewindow()
Function Prototype:
+
+#include <nuttx/nx/nxglib.h> +#include <nuttx/nx/nx.h> +#include <nuttx/nx/nxtk.h> + +int nxtk_drawlinewindow(NXTKWINDOW hfwnd, FAR struct nxgl_vector_s *vector, + nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); ++
+ Description:
+ Fill the specified trapezoidal region in the window with the specified color.
+ Fill the specified line in the window with the specified color.
+ This is simply a wrapper that uses nxgl_splitline()
to break the line into
+ trapezoids and then calls nxtk_filltrapwindow()
to render the line.
+
+ Input Parameters: +
hfwnd
+ nxtk_openwindow()
.
+ vector
+ width
+ color
+
+ Returned Value:
+ OK
on success;
+ ERROR
on failure with errno
set appropriately
+
nxtk_movewindow()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -2094,7 +2235,7 @@ int nxtk_movewindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect,ERROR
on failure witherrno
set appropriately -2.4.12
+nxtk_bitmapwindow()
2.4.13
nxtk_bitmapwindow()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -2139,7 +2280,7 @@ int nxtk_bitmapwindow(NXTKWINDOW hfwnd,ERROR
on failure witherrno
set appropriately -2.4.13
+nxtk_opentoolbar()
2.4.14
nxtk_opentoolbar()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -2174,7 +2315,7 @@ int nxtk_opentoolbar(NXTKWINDOW hfwnd, nxgl_coord_t height,ERROR
on failure witherrno
set appropriately -2.4.14
+nxtk_closetoolbar()
2.4.15
nxtk_closetoolbar()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -2203,7 +2344,7 @@ int nxtk_closetoolbar(NXTKWINDOW hfwnd);ERROR
on failure witherrno
set appropriately -2.4.15
+nxtk_filltoolbar()
2.4.16
nxtk_filltoolbar()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -2235,7 +2376,7 @@ int nxtk_filltoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect,ERROR
on failure witherrno
set appropriately -2.4.16
+nxtk_filltraptoolbar()
2.4.17
nxtk_filltraptoolbar()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -2267,7 +2408,44 @@ int nxtk_filltraptoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_trapezoid_s *trERROR
on failure witherrno
set appropriately -2.4.17
+nxtk_movetoolbar()
2.4.18
+nxtk_drawlinetoolbar()
Function Prototype:
+
+#include <nuttx/nx/nxglib.h> +#include <nuttx/nx/nx.h> +#include <nuttx/nx/nxtk.h> + +int nxtk_drawlinetoolbar(NXTKWINDOW hfwnd, FAR struct nxgl_vector_s *vector, + nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); + ++
+ Description:
+ Fill the specified line in the toolbar sub-window with the specified color.
+ This is simply a wrapper that uses nxgl_splitline()
to break the line into
+ trapezoids and then calls nxtk_filltraptoolbar()
to render the line.
+
+ Input Parameters: +
hfwnd
+ nxtk_openwindow()
.
+ vector
+ width
+ color
+
+ Returned Value:
+ OK
on success;
+ ERROR
on failure with errno
set appropriately
+
nxtk_movetoolbar()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -2301,7 +2479,7 @@ int nxtk_movetoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect,ERROR
on failure witherrno
set appropriately -2.4.18
+nxtk_bitmaptoolbar()
2.4.20
nxtk_bitmaptoolbar()
Function Prototype:
#include <nuttx/nx/nxglib.h> @@ -3139,9 +3317,13 @@ makeYES ++ -+ nxgl_splitline
+ PART +Table D.2: NX Server Callbacks Test Coverage
@@ -3285,6 +3467,11 @@ make +NO + + nx_drawline()
+ NO ++ nx_setbgcolor()
@@ -3367,6 +3554,11 @@ make NO + + nxtk_drawlinewindow()
+ YES ++ nxtk_movewindow()
@@ -3397,6 +3589,11 @@ make NO + + nxtk_drawlinetoolbar()
+ NO +nxtk_movetoolbar()