diff --git a/ChangeLog b/ChangeLog index 74978df504..d9edffaf71 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6329,4 +6329,5 @@ * Move libc/nx, nxmu, and nxglib to a new library, libnx. The NX graphics is not properly a part of libc (2013-12-28). * Move graphics/nxfonts to libnx/nxfonts (2013-12-28). + * Move graphics/nxtk to libnx/nxtk (2013-12-28). diff --git a/Documentation/NXGraphicsSubsystem.html b/Documentation/NXGraphicsSubsystem.html index 4aa754b6c6..7446071544 100644 --- a/Documentation/NXGraphicsSubsystem.html +++ b/Documentation/NXGraphicsSubsystem.html @@ -3196,19 +3196,18 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height, The multi-user front-end is selected when CONFIG_NX_MULTIUSER is defined in the NuttX configuration file. -
graphics/nxfonts +
libnx/nxfonts
This is where the NXFONTS implementation resides. This is a relatively low-level set of charset set/glyph management APIs. See include/nuttx/nx/nxfonts.h. -
graphics/nxtk +
libnx/nxtk
This is where the NXTOOLKIT implementation resides. This toolkit is built on top of NX and works with either the single-user or multi-user NX version. See include/nuttx/nx/nxtk.h.
nuttx/../nxwidgets -
The NxWidgets code is provided as a separate package located outside of the - NuttX source tree (probably at this location). +
The NxWidgets code is provided as a separate package located outside of the NuttX source tree (probably at this location).
graphics/nxconsole
The NxConsole driver is built on top of NX and works with either the single-user or multi-user NX version. diff --git a/graphics/Makefile b/graphics/Makefile index c3abfb0c6e..b63a053127 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -59,10 +59,6 @@ DEPPATH += --dep-path nxsu CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxsu} endif -include nxtk/Make.defs -DEPPATH += --dep-path nxtk -CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxtk} - ifeq ($(CONFIG_NXCONSOLE),y) include nxconsole/Make.defs DEPPATH += --dep-path nxconsole @@ -81,9 +77,9 @@ OBJS = $(AOBJS) $(COBJS) BIN = libgraphics$(LIBEXT) ifeq ($(CONFIG_NX_MULTIUSER),y) -VPATH = nxglib:nxbe:nxmu:nxtk:nxconsole +VPATH = nxglib:nxbe:nxmu:nxconsole else -VPATH = nxglib:nxbe:nxsu:nxtk:nxconsole +VPATH = nxglib:nxbe:nxsu:nxconsole endif all: mklibgraphics diff --git a/graphics/README.txt b/graphics/README.txt index 9f3bdbe4e6..c9f8442b5a 100644 --- a/graphics/README.txt +++ b/graphics/README.txt @@ -99,11 +99,11 @@ libnx/nxmu queue to serialize window operations from many threads. The multi-user front-end is selected when CONFIG_NX_MULTIUSER is defined in the NuttX configuration file. -graphics/nxfonts +libnx/nxfonts This is where the NXFONTS implementation resides. This is a relatively low- level set of charset set/glyph management APIs. See include/nuttx/nx/nxfonts.h -graphics/nxtk +libnx/nxtk This is where the NXTOOLKIT implementation resides. This toolkit is built on top of NX and works with either the single-user or multi-user NX version. See include/nuttx/nx/nxtk.h diff --git a/graphics/nxmu/nxfe.h b/graphics/nxmu/nxfe.h index 34d680b2a1..42e768267b 100644 --- a/graphics/nxmu/nxfe.h +++ b/graphics/nxmu/nxfe.h @@ -95,39 +95,6 @@ extern "C" * Public Functions ****************************************************************************/ -/**************************************************************************** - * Name: nxfe_constructwindow - * - * Description: - * This function is the same a nx_openwindow EXCEPT that the client provides - * the window structure instance. nx_constructwindow will initialize the - * the pre-allocated window structure for use by NX. This function is - * provided in addition to nx_open window in order to support a kind of - * inheritance: The caller's window structure may include extensions that - * are not visible to NX. - * - * NOTE: wnd must have been allocated using kmalloc() (or related allocators) - * Once provided to nxfe_constructwindow() that memory is owned and managed - * by NX. On certain error conditions or when the window is closed, NX will - * free the window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * wnd - The pre-allocated window structure. - * cb - Callbacks used to process window events - * arg - User provided value that will be returned with NX callbacks. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately. In the - * case of ERROR, NX will have deallocated the pre-allocated window. - * - ****************************************************************************/ - -int nxfe_constructwindow(NXHANDLE handle, - FAR struct nxbe_window_s *wnd, - FAR const struct nx_callback_s *cb, - FAR void *arg); - /**************************************************************************** * Name: nxmu_sendclient * diff --git a/graphics/nxmu/nxmu_redrawreq.c b/graphics/nxmu/nxmu_redrawreq.c index f54aa85a7e..ef0fe19140 100644 --- a/graphics/nxmu/nxmu_redrawreq.c +++ b/graphics/nxmu/nxmu_redrawreq.c @@ -90,4 +90,3 @@ void nxfe_redrawreq(FAR struct nxbe_window_s *wnd, FAR const struct nxgl_rect_s (void)nxmu_sendclientwindow(wnd, &outmsg, sizeof(struct nxclimsg_redraw_s)); } - diff --git a/graphics/nxmu/nxmu_server.c b/graphics/nxmu/nxmu_server.c index cfaa5bbf5d..2f7e545642 100644 --- a/graphics/nxmu/nxmu_server.c +++ b/graphics/nxmu/nxmu_server.c @@ -509,7 +509,14 @@ int nx_runinstance(FAR const char *mqname, FAR NX_DRIVERTYPE *dev) break; #endif - /* Messages sent to the backgound window ***************************/ + case NX_SVRMSG_REDRAWREQ: /* Request re-drawing of rectangular region */ + { + FAR struct nxsvrmsg_redrawreq_s *redrawmsg = (FAR struct nxsvrmsg_redrawreq_s *)buffer; + nxfe_redrawreq(redrawmsg->wnd, &redrawmsg->rect); + } + break; + + /* Messages sent to the background window **************************/ case NX_CLIMSG_REDRAW: /* Re-draw the background window */ { diff --git a/graphics/nxsu/Make.defs b/graphics/nxsu/Make.defs index cf668d93c3..93abe9d816 100644 --- a/graphics/nxsu/Make.defs +++ b/graphics/nxsu/Make.defs @@ -38,6 +38,7 @@ NX_ASRCS = NX_CSRCS = nx_bitmap.c nx_close.c nx_closewindow.c nx_fill.c NX_CSRCS += nx_filltrapezoid.c nx_getposition.c nx_getrectangle.c nx_kbdchin.c NX_CSRCS += nx_kbdin.c nx_lower.c nx_mousein.c nx_move.c nx_open.c -NX_CSRCS += nx_openwindow.c nx_raise.c nx_releasebkgd.c nx_requestbkgd.c -NX_CSRCS += nx_setpixel.c nx_setsize.c nx_setbgcolor.c nx_setposition.c -NX_CSRCS += nxsu_constructwindow.c nxsu_redrawreq.c nxsu_reportposition.c +NX_CSRCS += nx_openwindow.c nx_raise.c nx_redrawreq.c nx_releasebkgd.c +NX_CSRCS += nx_requestbkgd.c nx_setpixel.c nx_setsize.c nx_setbgcolor.c +NX_CSRCS += nx_setposition.c nxsu_constructwindow.c nxsu_redrawreq.c +NX_CSRCS += nxsu_reportposition.c diff --git a/graphics/nxsu/nxsu_constructwindow.c b/graphics/nxsu/nx_constructwindow.c similarity index 94% rename from graphics/nxsu/nxsu_constructwindow.c rename to graphics/nxsu/nx_constructwindow.c index 46b010cee7..b77025dcfd 100644 --- a/graphics/nxsu/nxsu_constructwindow.c +++ b/graphics/nxsu/nx_constructwindow.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxsu/nx_openwindow.c + * graphics/nxsu/nx_constructwindow.c * * Copyright (C) 2008-2009, 2012-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -73,7 +73,7 @@ ****************************************************************************/ /**************************************************************************** - * Name: nxfe_constructwindow + * Name: nx_constructwindow * * Description: * This function is the same a nx_openwindow EXCEPT that the client provides @@ -84,7 +84,7 @@ * are not visible to NX. * * NOTE: wnd must have been allocated using kmalloc() (or related allocators) - * Once provided to nxfe_constructwindow() that memory is owned and managed + * Once provided to nx_constructwindow() that memory is owned and managed * by NX. On certain error conditions or when the window is closed, NX will * free the window. * @@ -100,8 +100,8 @@ * ****************************************************************************/ -int nxfe_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, - FAR const struct nx_callback_s *cb, FAR void *arg) +int nx_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, + FAR const struct nx_callback_s *cb, FAR void *arg) { FAR struct nxfe_state_s *fe = (FAR struct nxfe_state_s *)handle; FAR struct nxbe_state_s *be = &fe->be; diff --git a/graphics/nxsu/nx_openwindow.c b/graphics/nxsu/nx_openwindow.c index b002f1566e..83851d94e2 100644 --- a/graphics/nxsu/nx_openwindow.c +++ b/graphics/nxsu/nx_openwindow.c @@ -112,9 +112,9 @@ NXWINDOW nx_openwindow(NXHANDLE handle, FAR const struct nx_callback_s *cb, return NULL; } - /* Then let nxfe_constructwindow do the rest */ + /* Then let nx_constructwindow do the rest */ - ret = nxfe_constructwindow(handle, wnd, cb, arg); + ret = nx_constructwindow(handle, wnd, cb, arg); if (ret < 0) { /* An error occurred, the window has been freed */ diff --git a/graphics/nxsu/nx_redrawreq.c b/graphics/nxsu/nx_redrawreq.c new file mode 100644 index 0000000000..2980990e04 --- /dev/null +++ b/graphics/nxsu/nx_redrawreq.c @@ -0,0 +1,93 @@ +/**************************************************************************** + * graphics/nxsu/nx_redrawreq.c + * + * Copyright (C) 2013 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include +#include + +#include +#include "nxfe.h" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Private Types + ****************************************************************************/ + +/**************************************************************************** + * Private Data + ****************************************************************************/ + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: nx_redrawreq + * + * Descripton: + * This will cause a NX re-draw callback to the client that owns the + * window. This is not normally called from user code, but may be + * used within middle-ware layers when redrawing is needed. + * + * Input Parameters: + * hwnd - Window handle + * rect - The rectangle that needs to be re-drawn (in window relative + * coordinates) + * + * Returned Value: + * None + * + ****************************************************************************/ + +void nx_redrawreq(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect) +{ + nxfe_redrawreq((FAR struct nxbe_window_s *)hwnd, rect); +} diff --git a/graphics/nxsu/nxfe.h b/graphics/nxsu/nxfe.h index cd76dd16f8..5bbfb040b4 100644 --- a/graphics/nxsu/nxfe.h +++ b/graphics/nxsu/nxfe.h @@ -93,37 +93,6 @@ EXTERN const struct nx_callback_s g_bkgdcb; * Public Functions ****************************************************************************/ -/**************************************************************************** - * Name: nxfe_constructwindow - * - * Description: - * This function is the same a nx_openwindow EXCEPT that the client provides - * the window structure instance. nx_constructwindow will initialize the - * the pre-allocated window structure for use by NX. This function is - * provided in addition to nx_open window in order to support a kind of - * inheritance: The caller's window structure may include extensions that - * are not visible to NX. - * - * NOTE: wnd must have been allocated using kmalloc() (or related allocators) - * Once provided to nxfe_constructwindow() that memory is owned and managed - * by NX. On certain error conditions or when the window is closed, NX will - * free the window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * wnd - The pre-allocated window structure. - * cb - Callbacks used to process window events - * arg - User provided value that will be returned with NX callbacks. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately. In the - * case of ERROR, NX will have deallocated the pre-allocated window. - * - ****************************************************************************/ - -int nxfe_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, - FAR const struct nx_callback_s *cb, FAR void *arg); - /**************************************************************************** * Name: nxfe_redrawreq * diff --git a/graphics/nxsu/nxsu_redrawreq.c b/graphics/nxsu/nxsu_redrawreq.c index 21845f16fa..b0116870b6 100644 --- a/graphics/nxsu/nxsu_redrawreq.c +++ b/graphics/nxsu/nxsu_redrawreq.c @@ -1,7 +1,7 @@ /**************************************************************************** * graphics/nxsu/nxsu_redrawreq.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009,2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -73,7 +73,7 @@ /**************************************************************************** * Name: nxfe_redrawreq * - * Descripton: + * Description: * Request the client that has this window to redraw the rectangular region. * ****************************************************************************/ @@ -100,5 +100,3 @@ void nxfe_redrawreq(FAR struct nxbe_window_s *wnd, FAR const struct nxgl_rect_s wnd->cb->redraw((NXWINDOW)wnd, &relrect, false, wnd->arg); } } - - diff --git a/include/nuttx/nx/nx.h b/include/nuttx/nx/nx.h index 3b8cc49f41..016a30f73c 100644 --- a/include/nuttx/nx/nx.h +++ b/include/nuttx/nx/nx.h @@ -230,7 +230,8 @@ struct nx_callback_s #undef EXTERN #if defined(__cplusplus) #define EXTERN extern "C" -extern "C" { +extern "C" +{ #else #define EXTERN extern #endif @@ -264,7 +265,7 @@ extern "C" { ****************************************************************************/ #ifdef CONFIG_NX_MULTIUSER -EXTERN int nx_runinstance(FAR const char *mqname, FAR NX_DRIVERTYPE *dev); +int nx_runinstance(FAR const char *mqname, FAR NX_DRIVERTYPE *dev); # define nx_run(dev) nx_runinstance(NX_DEFAULT_SERVER_MQNAME, dev) #endif @@ -298,7 +299,7 @@ EXTERN int nx_runinstance(FAR const char *mqname, FAR NX_DRIVERTYPE *dev); ****************************************************************************/ #ifdef CONFIG_NX_MULTIUSER -EXTERN NXHANDLE nx_connectinstance(FAR const char *svrmqname); +NXHANDLE nx_connectinstance(FAR const char *svrmqname); # define nx_connect(cb) nx_connectinstance(NX_DEFAULT_SERVER_MQNAME) #endif @@ -323,7 +324,7 @@ EXTERN NXHANDLE nx_connectinstance(FAR const char *svrmqname); ****************************************************************************/ #ifndef CONFIG_NX_MULTIUSER -EXTERN NXHANDLE nx_open(FAR NX_DRIVERTYPE *dev); +NXHANDLE nx_open(FAR NX_DRIVERTYPE *dev); #endif /**************************************************************************** @@ -345,7 +346,7 @@ EXTERN NXHANDLE nx_open(FAR NX_DRIVERTYPE *dev); ****************************************************************************/ #ifdef CONFIG_NX_MULTIUSER -EXTERN void nx_disconnect(NXHANDLE handle); +void nx_disconnect(NXHANDLE handle); #endif /**************************************************************************** @@ -366,7 +367,7 @@ EXTERN void nx_disconnect(NXHANDLE handle); ****************************************************************************/ #ifndef CONFIG_NX_MULTIUSER -EXTERN void nx_close(NXHANDLE handle); +void nx_close(NXHANDLE handle); #endif /**************************************************************************** @@ -397,7 +398,7 @@ EXTERN void nx_close(NXHANDLE handle); ****************************************************************************/ #ifdef CONFIG_NX_MULTIUSER -EXTERN int nx_eventhandler(NXHANDLE handle); +int nx_eventhandler(NXHANDLE handle); #else # define nx_eventhandler(handle) (OK) #endif @@ -423,7 +424,7 @@ EXTERN int nx_eventhandler(NXHANDLE handle); ****************************************************************************/ #if defined(CONFIG_NX_MULTIUSER) && !defined(CONFIG_DISABLE_SIGNALS) -EXTERN int nx_eventnotify(NXHANDLE handle, int signo); +int nx_eventnotify(NXHANDLE handle, int signo); #else # define nx_eventnotify(handle, signo) (OK) #endif @@ -445,9 +446,8 @@ EXTERN int nx_eventnotify(NXHANDLE handle, int signo); * ****************************************************************************/ -EXTERN NXWINDOW nx_openwindow(NXHANDLE handle, - FAR const struct nx_callback_s *cb, - FAR void *arg); +NXWINDOW nx_openwindow(NXHANDLE handle, FAR const struct nx_callback_s *cb, + FAR void *arg); /**************************************************************************** * Name: nx_closewindow @@ -463,7 +463,7 @@ EXTERN NXWINDOW nx_openwindow(NXHANDLE handle, * ****************************************************************************/ -EXTERN int nx_closewindow(NXWINDOW hwnd); +int nx_closewindow(NXWINDOW hwnd); /**************************************************************************** * Name: nx_block @@ -497,7 +497,7 @@ EXTERN int nx_closewindow(NXWINDOW hwnd); ****************************************************************************/ #ifdef CONFIG_NX_MULTIUSER -EXTERN int nx_block(NXWINDOW hwnd, FAR void *arg); +int nx_block(NXWINDOW hwnd, FAR void *arg); #endif /**************************************************************************** @@ -540,9 +540,8 @@ EXTERN int nx_block(NXWINDOW hwnd, FAR void *arg); * ****************************************************************************/ -EXTERN int nx_requestbkgd(NXHANDLE handle, - FAR const struct nx_callback_s *cb, - FAR void *arg); +int nx_requestbkgd(NXHANDLE handle, FAR const struct nx_callback_s *cb, + FAR void *arg); /**************************************************************************** * Name: nx_releasebkgd @@ -559,7 +558,7 @@ EXTERN int nx_requestbkgd(NXHANDLE handle, * ****************************************************************************/ -EXTERN int nx_releasebkgd(NXWINDOW hwnd); +int nx_releasebkgd(NXWINDOW hwnd); /**************************************************************************** * Name: nx_getposition @@ -577,7 +576,7 @@ EXTERN int nx_releasebkgd(NXWINDOW hwnd); * ****************************************************************************/ -EXTERN int nx_getposition(NXWINDOW hwnd); +int nx_getposition(NXWINDOW hwnd); /**************************************************************************** * Name: nx_setposition @@ -594,7 +593,7 @@ EXTERN int nx_getposition(NXWINDOW hwnd); * ****************************************************************************/ -EXTERN int nx_setposition(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos); +int nx_setposition(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos); /**************************************************************************** * Name: nx_setsize @@ -611,7 +610,7 @@ EXTERN int nx_setposition(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos); * ****************************************************************************/ -EXTERN int nx_setsize(NXWINDOW hwnd, FAR const struct nxgl_size_s *size); +int nx_setsize(NXWINDOW hwnd, FAR const struct nxgl_size_s *size); /**************************************************************************** * Name: nx_raise @@ -627,7 +626,7 @@ EXTERN int nx_setsize(NXWINDOW hwnd, FAR const struct nxgl_size_s *size); * ****************************************************************************/ -EXTERN int nx_raise(NXWINDOW hwnd); +int nx_raise(NXWINDOW hwnd); /**************************************************************************** * Name: nx_lower @@ -643,7 +642,7 @@ EXTERN int nx_raise(NXWINDOW hwnd); * ****************************************************************************/ -EXTERN int nx_lower(NXWINDOW hwnd); +int nx_lower(NXWINDOW hwnd); /**************************************************************************** * Name: nx_setpixel @@ -662,8 +661,8 @@ EXTERN int nx_lower(NXWINDOW hwnd); * ****************************************************************************/ -EXTERN int nx_setpixel(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); +int nx_setpixel(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, + nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); /**************************************************************************** * Name: nx_fill @@ -681,8 +680,8 @@ EXTERN int nx_setpixel(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, * ****************************************************************************/ -EXTERN int nx_fill(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); +int nx_fill(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, + nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); /**************************************************************************** * Name: nx_getrectangle @@ -710,9 +709,9 @@ EXTERN int nx_fill(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, * ****************************************************************************/ -EXTERN int nx_getrectangle(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - unsigned int plane, FAR uint8_t *dest, - unsigned int deststride); +int nx_getrectangle(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, + unsigned int plane, FAR uint8_t *dest, + unsigned int deststride); /**************************************************************************** * Name: nx_filltrapezoid @@ -731,9 +730,9 @@ EXTERN int nx_getrectangle(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, * ****************************************************************************/ -EXTERN int nx_filltrapezoid(NXWINDOW hwnd, FAR const struct nxgl_rect_s *clip, - FAR const struct nxgl_trapezoid_s *trap, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); +int nx_filltrapezoid(NXWINDOW hwnd, FAR const struct nxgl_rect_s *clip, + FAR const struct nxgl_trapezoid_s *trap, + nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); /**************************************************************************** * Name: nx_drawline @@ -754,8 +753,8 @@ EXTERN int nx_filltrapezoid(NXWINDOW hwnd, FAR const struct nxgl_rect_s *clip, * ****************************************************************************/ -EXTERN int nx_drawline(NXWINDOW hwnd, FAR struct nxgl_vector_s *vector, - nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); +int nx_drawline(NXWINDOW hwnd, FAR struct nxgl_vector_s *vector, + nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); /**************************************************************************** * Name: nx_drawcircle @@ -775,9 +774,9 @@ EXTERN int nx_drawline(NXWINDOW hwnd, FAR struct nxgl_vector_s *vector, * ****************************************************************************/ -EXTERN int nx_drawcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, nxgl_coord_t width, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); +int nx_drawcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, + nxgl_coord_t radius, nxgl_coord_t width, + nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); /**************************************************************************** * Name: nx_fillcircle @@ -796,9 +795,9 @@ EXTERN int nx_drawcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, * ****************************************************************************/ -EXTERN int nx_fillcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); +int nx_fillcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, + nxgl_coord_t radius, + nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); /**************************************************************************** * Name: nx_setbgcolor @@ -815,8 +814,7 @@ EXTERN int nx_fillcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, * ****************************************************************************/ -int nx_setbgcolor(NXHANDLE handle, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); +int nx_setbgcolor(NXHANDLE handle, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); /**************************************************************************** * Name: nx_move @@ -835,8 +833,8 @@ int nx_setbgcolor(NXHANDLE handle, * ****************************************************************************/ -EXTERN int nx_move(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset); +int nx_move(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, + FAR const struct nxgl_point_s *offset); /**************************************************************************** * Name: nx_bitmap @@ -861,10 +859,9 @@ EXTERN int nx_move(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, * ****************************************************************************/ -EXTERN int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride); +int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest, + FAR const void *src[CONFIG_NX_NPLANES], + FAR const struct nxgl_point_s *origin, unsigned int stride); /**************************************************************************** * Name: nx_kbdin @@ -877,8 +874,8 @@ EXTERN int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest, ****************************************************************************/ #ifdef CONFIG_NX_KBD -EXTERN int nx_kbdchin(NXHANDLE handle, uint8_t ch); -EXTERN int nx_kbdin(NXHANDLE handle, uint8_t nch, FAR const uint8_t *ch); +int nx_kbdchin(NXHANDLE handle, uint8_t ch); +int nx_kbdin(NXHANDLE handle, uint8_t nch, FAR const uint8_t *ch); #endif /**************************************************************************** @@ -892,9 +889,68 @@ EXTERN int nx_kbdin(NXHANDLE handle, uint8_t nch, FAR const uint8_t *ch); ****************************************************************************/ #ifdef CONFIG_NX_MOUSE -EXTERN int nx_mousein(NXHANDLE handle, nxgl_coord_t x, nxgl_coord_t y, uint8_t buttons); +int nx_mousein(NXHANDLE handle, nxgl_coord_t x, nxgl_coord_t y, uint8_t buttons); #endif +/**************************************************************************** + * NX-Internal Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: nx_redrawreq + * + * Description: + * This will cause a NX re-draw callback to the client that owns the + * window. This is not normally called from user code, but may be + * used within middle-ware layers when redrawing is needed. + * + * NXTK uses this function, for example, when a change in the main window + * necessitates redrawing of the toolbar window. + * + * Input Parameters: + * hwnd - Window handle + * rect - The rectangle that needs to be re-drawn (in window relative + * coordinates) + * + * Returned Value: + * None + * + ****************************************************************************/ + +void nx_redrawreq(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect); + +/**************************************************************************** + * Name: nx_constructwindow + * + * Description: + * This function is the same a nx_openwindow EXCEPT that the client provides + * the window structure instance. nx_constructwindow will initialize the + * the pre-allocated window structure for use by NX. This function is + * provided in addition to nx_open window in order to support a kind of + * inheritance: The caller's window structure may include extensions that + * are not visible to NX. + * + * NOTE: wnd must have been allocated using kmalloc() (or related allocators) + * Once provided to nx_constructwindow() that memory is owned and managed + * by NX. On certain error conditions or when the window is closed, NX will + * free the window. + * + * Input Parameters: + * handle - The handle returned by nx_connect + * wnd - The pre-allocated window structure. + * cb - Callbacks used to process window events + * arg - User provided value that will be returned with NX callbacks. + * + * Return: + * OK on success; ERROR on failure with errno set appropriately. In the + * case of ERROR, NX will have deallocated the pre-allocated window. + * + ****************************************************************************/ + +struct nxbe_window_s; /* Forward reference */ +int nx_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, + FAR const struct nx_callback_s *cb, FAR void *arg); + #undef EXTERN #if defined(__cplusplus) } diff --git a/include/nuttx/nx/nxmu.h b/include/nuttx/nx/nxmu.h index a6a7ac1459..019a8a35f3 100644 --- a/include/nuttx/nx/nxmu.h +++ b/include/nuttx/nx/nxmu.h @@ -158,6 +158,7 @@ enum nxmsg_e NX_SVRMSG_SETBGCOLOR, /* Set the color of the background */ NX_SVRMSG_MOUSEIN, /* New mouse report from mouse client */ NX_SVRMSG_KBDIN, /* New keyboard report from keyboard client */ + NX_SVRMSG_REDRAWREQ /* Request re-drawing of rectangular region */ }; /* Server-to-Client Message Structures **************************************/ @@ -346,7 +347,7 @@ struct nxsvrmsg_lower_s struct nxsvrmsg_setpixel_s { - uint32_t msgid; /* NX_SVRMSG_SETPIXEL */ + uint32_t msgid; /* NX_SVRMSG_SETPIXEL */ FAR struct nxbe_window_s *wnd; /* The window to fill */ struct nxgl_point_s pos; /* The position of the pixel in the window */ nxgl_mxpixel_t color[CONFIG_NX_NPLANES]; /* Color to use in the fill */ @@ -356,7 +357,7 @@ struct nxsvrmsg_setpixel_s struct nxsvrmsg_fill_s { - uint32_t msgid; /* NX_SVRMSG_FILL */ + uint32_t msgid; /* NX_SVRMSG_FILL */ FAR struct nxbe_window_s *wnd; /* The window to fill */ struct nxgl_rect_s rect; /* The rectangle in the window to fill */ nxgl_mxpixel_t color[CONFIG_NX_NPLANES]; /* Color to use in the fill */ @@ -366,7 +367,7 @@ struct nxsvrmsg_fill_s struct nxsvrmsg_getrectangle_s { - uint32_t msgid; /* NX_SVRMSG_GETRECTANGLE */ + uint32_t msgid; /* NX_SVRMSG_GETRECTANGLE */ FAR struct nxbe_window_s *wnd; /* The window to get from */ struct nxgl_rect_s rect; /* The rectangle in the window to get from */ unsigned int plane; /* The plane number to read */ @@ -379,7 +380,7 @@ struct nxsvrmsg_getrectangle_s struct nxsvrmsg_filltrapezoid_s { - uint32_t msgid; /* NX_SVRMSG_FILLTRAP */ + uint32_t msgid; /* NX_SVRMSG_FILLTRAP */ FAR struct nxbe_window_s *wnd; /* The window to fill */ FAR struct nxgl_rect_s clip; /* The clipping window */ struct nxgl_trapezoid_s trap; /* The trapezoidal region in the window to fill */ @@ -413,7 +414,7 @@ struct nxsvrmsg_bitmap_s struct nxsvrmsg_setbgcolor_s { - uint32_t msgid; /* NX_SVRMSG_SETBGCOLOR */ + uint32_t msgid; /* NX_SVRMSG_SETBGCOLOR */ nxgl_mxpixel_t color[CONFIG_NX_NPLANES]; /* Color to use in the background */ }; @@ -439,12 +440,21 @@ struct nxsvrmsg_mousein_s #ifdef CONFIG_NX_KBD struct nxsvrmsg_kbdin_s { - uint32_t msgid; /* NX_SVRMSG_KBDIN */ - uint8_t nch ; /* Number of characters received */ - uint8_t ch[1]; /* Array of received characters */ + uint32_t msgid; /* NX_SVRMSG_KBDIN */ + uint8_t nch ; /* Number of characters received */ + uint8_t ch[1]; /* Array of received characters */ }; #endif +/* Request re-drawing of rectangular region */ + +struct nxsvrmsg_redrawreq_s +{ + uint32_t msgid; /* NX_SVRMSG_REDRAWREQ */ + FAR struct nxbe_window_s *wnd; /* The window to be redrawn */ + struct nxgl_rect_s rect; /* Describes the rectangular region to be redrawn */ +}; + /**************************************************************************** * Public Data ****************************************************************************/ diff --git a/libnx/Makefile b/libnx/Makefile index 75b19aade5..37a1959961 100644 --- a/libnx/Makefile +++ b/libnx/Makefile @@ -57,6 +57,7 @@ include nxglib/Make.defs include nx/Make.defs include nxmu/Make.defs include nxfonts/Make.defs +include nxtk/Make.defs BINDIR ?= bin diff --git a/libnx/nxmu/Make.defs b/libnx/nxmu/Make.defs index 2b316e772b..ebf9c4f65f 100644 --- a/libnx/nxmu/Make.defs +++ b/libnx/nxmu/Make.defs @@ -45,10 +45,11 @@ CSRCS += nxmu_semtake.c nx_block.c CSRCS += nx_kbdchin.c nx_kbdin.c nx_mousein.c CSRCS += nx_releasebkgd.c nx_requestbkgd.c nx_setbgcolor.c -CSRCS += nxmu_sendwindow.c nx_closewindow.c nxmu_constructwindow.c +CSRCS += nxmu_sendwindow.c nx_closewindow.c nx_constructwindow.c CSRCS += nx_bitmap.c nx_fill.c nx_filltrapezoid.c nx_getposition.c CSRCS += nx_getrectangle.c nx_lower.c nx_move.c nx_openwindow.c -CSRCS += nx_raise.c nx_setpixel.c nx_setposition.c nx_setsize.c +CSRCS += nx_raise.c nx_redrawreq.c nx_setpixel.c nx_setposition.c +CSRCS += nx_setsize.c # Add the nxmu/ directory to the build diff --git a/libnx/nxmu/nxmu_constructwindow.c b/libnx/nxmu/nx_constructwindow.c similarity index 94% rename from libnx/nxmu/nxmu_constructwindow.c rename to libnx/nxmu/nx_constructwindow.c index e677c9eaa8..888f5b6082 100644 --- a/libnx/nxmu/nxmu_constructwindow.c +++ b/libnx/nxmu/nx_constructwindow.c @@ -1,5 +1,5 @@ /**************************************************************************** - * libnx/nxmu/nx_openwindow.c + * libnx/nxmu/nx_constsructwindow.c * * Copyright (C) 2008, 2011-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -74,7 +74,7 @@ ****************************************************************************/ /**************************************************************************** - * Name: nxfe_constructwindow + * Name: nx_constructwindow * * Description: * This function is the same a nx_openwindow EXCEPT that the client provides @@ -85,7 +85,7 @@ * are not visible to NX. * * NOTE: wnd must have been allocated using kmalloc() (or related allocators) - * Once provided to nxfe_constructwindow() that memory is owned and managed + * Once provided to nx_constructwindow() that memory is owned and managed * by NX. On certain error conditions or when the window is closed, NX will * free the window. * @@ -101,8 +101,8 @@ * ****************************************************************************/ -int nxfe_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, - FAR const struct nx_callback_s *cb, FAR void *arg) +int nx_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, + FAR const struct nx_callback_s *cb, FAR void *arg) { FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; struct nxsvrmsg_openwindow_s outmsg; diff --git a/libnx/nxmu/nx_openwindow.c b/libnx/nxmu/nx_openwindow.c index c26a380874..0f331b9e5c 100644 --- a/libnx/nxmu/nx_openwindow.c +++ b/libnx/nxmu/nx_openwindow.c @@ -112,9 +112,9 @@ NXWINDOW nx_openwindow(NXHANDLE handle, FAR const struct nx_callback_s *cb, return NULL; } - /* Then let nxfe_constructwindow do the rest */ + /* Then let nx_constructwindow do the rest */ - ret = nxfe_constructwindow(handle, wnd, cb, arg); + ret = nx_constructwindow(handle, wnd, cb, arg); if (ret < 0) { /* An error occurred, the window has been freed */ diff --git a/libnx/nxmu/nx_redrawreq.c b/libnx/nxmu/nx_redrawreq.c new file mode 100644 index 0000000000..05ef8d0714 --- /dev/null +++ b/libnx/nxmu/nx_redrawreq.c @@ -0,0 +1,111 @@ +/**************************************************************************** + * libnx/nxmu/nx_redrawreq.c + * + * Copyright (C) 2013 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include +#include + +#include +#include +#include + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Private Types + ****************************************************************************/ + +/**************************************************************************** + * Private Data + ****************************************************************************/ + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: nx_redrawreq + * + * Descripton: + * This will cause a NX re-draw callback to the client that owns the + * window. This is not normally called from user code, but may be + * used within middle-ware layers when redrawing is needed. + * + * Input Parameters: + * hwnd - Window handle + * rect - The rectangle that needs to be re-drawn (in window relative + * coordinates) + * + * Returned Value: + * None + * + ****************************************************************************/ + +void nx_redrawreq(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect) +{ + FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; + struct nxsvrmsg_redrawreq_s outmsg; + +#ifdef CONFIG_DEBUG + if (!wnd || !rect) + { + set_errno(EINVAL); + return ERROR; + } +#endif + + /* Inform the server of the changed position */ + + outmsg.msgid = NX_SVRMSG_REDRAWREQ; + outmsg.wnd = wnd; + nxgl_rectcopy(&outmsg.rect, rect); + + return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_redrawreq_s)); +} diff --git a/graphics/nxtk/Make.defs b/libnx/nxtk/Make.defs similarity index 62% rename from graphics/nxtk/Make.defs rename to libnx/nxtk/Make.defs index cc744309f4..1800311be0 100644 --- a/graphics/nxtk/Make.defs +++ b/libnx/nxtk/Make.defs @@ -1,7 +1,7 @@ ############################################################################ -# graphics/nxtk/Make.defs +# libnx/nxtk/Make.defs # -# Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2008, 2011, 2013 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -33,16 +33,28 @@ # ############################################################################ -NXTK_ASRCS = -NXTKWIN_CSRCS = nxtk_openwindow.c nxtk_closewindow.c nxtk_getposition.c \ - nxtk_setposition.c nxtk_setsize.c nxtk_raise.c nxtk_lower.c \ - nxtk_fillwindow.c nxtk_getwindow.c nxtk_filltrapwindow.c \ - nxtk_movewindow.c nxtk_bitmapwindow.c nxtk_events.c \ - nxtk_setsubwindows.c nxtk_drawcirclewindow.c nxtk_drawlinewindow.c \ - nxtk_fillcirclewindow.c nxtk_block.c -NXTKTB_CSRCS = nxtk_opentoolbar.c nxtk_closetoolbar.c nxtk_filltoolbar.c \ - nxtk_gettoolbar.c nxtk_filltraptoolbar.c nxtk_movetoolbar.c \ - nxtk_bitmaptoolbar.c nxtk_drawcircletoolbar.c nxtk_drawlinetoolbar.c \ - nxtk_fillcircletoolbar.c nxtk_toolbarbounds.c -NXTK_CSRCS = $(NXTKWIN_CSRCS) $(NXTKTB_CSRCS) nxtk_subwindowclip.c \ - nxtk_containerclip.c nxtk_subwindowmove.c nxtk_drawframe.c +# Expose NXTK interfaces to applications + +ifeq ($(CONFIG_NX),y) + +CSRCS += nxtk_openwindow.c nxtk_closewindow.c nxtk_getposition.c +CSRCS += nxtk_setposition.c nxtk_setsize.c nxtk_raise.c nxtk_lower.c +CSRCS += nxtk_fillwindow.c nxtk_getwindow.c nxtk_filltrapwindow.c +CSRCS += nxtk_movewindow.c nxtk_bitmapwindow.c nxtk_events.c +CSRCS += nxtk_setsubwindows.c nxtk_drawcirclewindow.c nxtk_drawlinewindow.c +CSRCS += nxtk_fillcirclewindow.c nxtk_block.c + +CSRCS += nxtk_opentoolbar.c nxtk_closetoolbar.c nxtk_filltoolbar.c +CSRCS += nxtk_gettoolbar.c nxtk_filltraptoolbar.c nxtk_movetoolbar.c +CSRCS += nxtk_bitmaptoolbar.c nxtk_drawcircletoolbar.c nxtk_drawlinetoolbar.c +CSRCS += nxtk_fillcircletoolbar.c nxtk_toolbarbounds.c + +CSRCS += nxtk_subwindowclip.c nxtk_containerclip.c nxtk_subwindowmove.c +CSRCS += nxtk_drawframe.c + +# Add the nxtk/ directory to the build + +DEPPATH += --dep-path nxtk +VPATH += :nxtk + +endif diff --git a/graphics/nxtk/nxtk_bitmaptoolbar.c b/libnx/nxtk/nxtk_bitmaptoolbar.c similarity index 98% rename from graphics/nxtk/nxtk_bitmaptoolbar.c rename to libnx/nxtk/nxtk_bitmaptoolbar.c index 50bd5aff40..8f99267dc4 100644 --- a/graphics/nxtk/nxtk_bitmaptoolbar.c +++ b/libnx/nxtk/nxtk_bitmaptoolbar.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_bitmaptoolbar.c + * libnx/nxtk/nxtk_bitmaptoolbar.c * * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -104,7 +104,7 @@ int nxtk_bitmaptoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *dest, #ifdef CONFIG_DEBUG if (!hfwnd || !dest || !src || !origin) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif diff --git a/graphics/nxtk/nxtk_bitmapwindow.c b/libnx/nxtk/nxtk_bitmapwindow.c similarity index 98% rename from graphics/nxtk/nxtk_bitmapwindow.c rename to libnx/nxtk/nxtk_bitmapwindow.c index 6847c44d46..11956aeb12 100644 --- a/graphics/nxtk/nxtk_bitmapwindow.c +++ b/libnx/nxtk/nxtk_bitmapwindow.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_bitmapwindow.c + * libnx/nxtk/nxtk_bitmapwindow.c * * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -104,7 +104,7 @@ int nxtk_bitmapwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *dest, #ifdef CONFIG_DEBUG if (!hfwnd || !dest || !src || !origin) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif diff --git a/graphics/nxtk/nxtk_block.c b/libnx/nxtk/nxtk_block.c similarity index 97% rename from graphics/nxtk/nxtk_block.c rename to libnx/nxtk/nxtk_block.c index 11baf7f4f4..3b089a74a2 100644 --- a/graphics/nxtk/nxtk_block.c +++ b/libnx/nxtk/nxtk_block.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_block.c + * libnx/nxtk/nxtk_block.c * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2012, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -41,8 +41,7 @@ #include #include - -#include "nxfe.h" +#include #ifdef CONFIG_NX_MULTIUSER diff --git a/graphics/nxtk/nxtk_closetoolbar.c b/libnx/nxtk/nxtk_closetoolbar.c similarity index 94% rename from graphics/nxtk/nxtk_closetoolbar.c rename to libnx/nxtk/nxtk_closetoolbar.c index 7ad36f9d87..8f65a75a84 100644 --- a/graphics/nxtk/nxtk_closetoolbar.c +++ b/libnx/nxtk/nxtk_closetoolbar.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_closetoolbar.c + * libnx/nxtk/nxtk_closetoolbar.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -102,10 +101,9 @@ int nxtk_closetoolbar(NXTKWINDOW hfwnd) nxtk_setsubwindows(fwnd); /* Then redraw the entire window, even the client window must be - * redraw because it has changed its vertical position and size. + * redrawn because it has changed its vertical position and size. */ - nxfe_redrawreq(&fwnd->wnd, &fwnd->wnd.bounds); + nx_redrawreq(&fwnd->wnd, &fwnd->wnd.bounds); return OK; } - diff --git a/graphics/nxtk/nxtk_closewindow.c b/libnx/nxtk/nxtk_closewindow.c similarity index 96% rename from graphics/nxtk/nxtk_closewindow.c rename to libnx/nxtk/nxtk_closewindow.c index e80cd0c665..7bda3ff06b 100644 --- a/graphics/nxtk/nxtk_closewindow.c +++ b/libnx/nxtk/nxtk_closewindow.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_closewindow.c + * libnx/nxtk/nxtk_closewindow.c * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Copyright (C) 2008, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -47,7 +47,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -92,4 +91,3 @@ int nxtk_closewindow(NXTKWINDOW hfwnd) { return nx_closewindow((NXWINDOW)hfwnd); } - diff --git a/graphics/nxtk/nxtk_containerclip.c b/libnx/nxtk/nxtk_containerclip.c similarity index 97% rename from graphics/nxtk/nxtk_containerclip.c rename to libnx/nxtk/nxtk_containerclip.c index a2fbcd0f8f..12dc4987b3 100644 --- a/graphics/nxtk/nxtk_containerclip.c +++ b/libnx/nxtk/nxtk_containerclip.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_containerclip.c + * libnx/nxtk/nxtk_containerclip.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** diff --git a/graphics/nxtk/nxtk_drawcircletoolbar.c b/libnx/nxtk/nxtk_drawcircletoolbar.c similarity index 99% rename from graphics/nxtk/nxtk_drawcircletoolbar.c rename to libnx/nxtk/nxtk_drawcircletoolbar.c index a36ed32eef..99b1094b71 100644 --- a/graphics/nxtk/nxtk_drawcircletoolbar.c +++ b/libnx/nxtk/nxtk_drawcircletoolbar.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_drawcircletoolbar.c + * libnx/nxtk/nxtk_drawcircletoolbar.c * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/graphics/nxtk/nxtk_drawcirclewindow.c b/libnx/nxtk/nxtk_drawcirclewindow.c similarity index 99% rename from graphics/nxtk/nxtk_drawcirclewindow.c rename to libnx/nxtk/nxtk_drawcirclewindow.c index 080e802ec1..be6bc713f8 100644 --- a/graphics/nxtk/nxtk_drawcirclewindow.c +++ b/libnx/nxtk/nxtk_drawcirclewindow.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_drawcirclewindow.c + * libnx/nxtk/nxtk_drawcirclewindow.c * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/graphics/nxtk/nxtk_drawframe.c b/libnx/nxtk/nxtk_drawframe.c similarity index 98% rename from graphics/nxtk/nxtk_drawframe.c rename to libnx/nxtk/nxtk_drawframe.c index 91745b3236..e30377dd36 100644 --- a/graphics/nxtk/nxtk_drawframe.c +++ b/libnx/nxtk/nxtk_drawframe.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_drawframe.c + * libnx/nxtk/nxtk_drawframe.c * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2011-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -47,7 +47,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** diff --git a/graphics/nxtk/nxtk_drawlinetoolbar.c b/libnx/nxtk/nxtk_drawlinetoolbar.c similarity index 99% rename from graphics/nxtk/nxtk_drawlinetoolbar.c rename to libnx/nxtk/nxtk_drawlinetoolbar.c index f2a559d690..6a975536af 100644 --- a/graphics/nxtk/nxtk_drawlinetoolbar.c +++ b/libnx/nxtk/nxtk_drawlinetoolbar.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_drawlinetoolbar.c + * libnx/nxtk/nxtk_drawlinetoolbar.c * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/graphics/nxtk/nxtk_drawlinewindow.c b/libnx/nxtk/nxtk_drawlinewindow.c similarity index 99% rename from graphics/nxtk/nxtk_drawlinewindow.c rename to libnx/nxtk/nxtk_drawlinewindow.c index a5534fa59e..ba45a2dc89 100644 --- a/graphics/nxtk/nxtk_drawlinewindow.c +++ b/libnx/nxtk/nxtk_drawlinewindow.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_drawlinewindow.c + * libnx/nxtk/nxtk_drawlinewindow.c * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/graphics/nxtk/nxtk_events.c b/libnx/nxtk/nxtk_events.c similarity index 99% rename from graphics/nxtk/nxtk_events.c rename to libnx/nxtk/nxtk_events.c index facf921762..513bc98a8a 100644 --- a/graphics/nxtk/nxtk_events.c +++ b/libnx/nxtk/nxtk_events.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_events.c + * libnx/nxtk/nxtk_events.c * * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/graphics/nxtk/nxtk_fillcircletoolbar.c b/libnx/nxtk/nxtk_fillcircletoolbar.c similarity index 99% rename from graphics/nxtk/nxtk_fillcircletoolbar.c rename to libnx/nxtk/nxtk_fillcircletoolbar.c index 92dee7e27f..b4ec94edd8 100644 --- a/graphics/nxtk/nxtk_fillcircletoolbar.c +++ b/libnx/nxtk/nxtk_fillcircletoolbar.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_fillcircletoolbar.c + * libnx/nxtk/nxtk_fillcircletoolbar.c * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/graphics/nxtk/nxtk_fillcirclewindow.c b/libnx/nxtk/nxtk_fillcirclewindow.c similarity index 99% rename from graphics/nxtk/nxtk_fillcirclewindow.c rename to libnx/nxtk/nxtk_fillcirclewindow.c index 5f093e0354..ee59ace1e0 100644 --- a/graphics/nxtk/nxtk_fillcirclewindow.c +++ b/libnx/nxtk/nxtk_fillcirclewindow.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_fillcirclewindow.c + * libnx/nxtk/nxtk_fillcirclewindow.c * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/graphics/nxtk/nxtk_filltoolbar.c b/libnx/nxtk/nxtk_filltoolbar.c similarity index 96% rename from graphics/nxtk/nxtk_filltoolbar.c rename to libnx/nxtk/nxtk_filltoolbar.c index 931fa7decb..13de372498 100644 --- a/graphics/nxtk/nxtk_filltoolbar.c +++ b/libnx/nxtk/nxtk_filltoolbar.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_filltoolbar.c + * libnx/nxtk/nxtk_filltoolbar.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -98,7 +97,7 @@ int nxtk_filltoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, #ifdef CONFIG_DEBUG if (!hfwnd || !rect || !color) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif diff --git a/graphics/nxtk/nxtk_filltraptoolbar.c b/libnx/nxtk/nxtk_filltraptoolbar.c similarity index 91% rename from graphics/nxtk/nxtk_filltraptoolbar.c rename to libnx/nxtk/nxtk_filltraptoolbar.c index 7108f42eb6..a55d05e7e9 100644 --- a/graphics/nxtk/nxtk_filltraptoolbar.c +++ b/libnx/nxtk/nxtk_filltraptoolbar.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_filltraptoolbar.c + * libnx/nxtk/nxtk_filltraptoolbar.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -89,8 +88,9 @@ * ****************************************************************************/ -int nxtk_filltraptoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_trapezoid_s *trap, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) +int nxtk_filltraptoolbar(NXTKWINDOW hfwnd, + FAR const struct nxgl_trapezoid_s *trap, + nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) { FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; struct nxgl_rect_s relclip; @@ -98,13 +98,14 @@ int nxtk_filltraptoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_trapezoid_s *tr #ifdef CONFIG_DEBUG if (!hfwnd || !trap || !color) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif /* Perform the fill, clipping to the client window */ - nxgl_rectoffset(&relclip, &fwnd->tbrect, -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); + nxgl_rectoffset(&relclip, &fwnd->tbrect, -fwnd->wnd.bounds.pt1.x, + -fwnd->wnd.bounds.pt1.y); return nx_filltrapezoid((NXWINDOW)hfwnd, &relclip, trap, color); } diff --git a/graphics/nxtk/nxtk_filltrapwindow.c b/libnx/nxtk/nxtk_filltrapwindow.c similarity index 93% rename from graphics/nxtk/nxtk_filltrapwindow.c rename to libnx/nxtk/nxtk_filltrapwindow.c index 55c051ffd7..e28f0d3bcb 100644 --- a/graphics/nxtk/nxtk_filltrapwindow.c +++ b/libnx/nxtk/nxtk_filltrapwindow.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_filltrapwindow.c + * libnx/nxtk/nxtk_filltrapwindow.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -89,7 +88,8 @@ * ****************************************************************************/ -int nxtk_filltrapwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_trapezoid_s *trap, +int nxtk_filltrapwindow(NXTKWINDOW hfwnd, + FAR const struct nxgl_trapezoid_s *trap, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) { FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; @@ -99,7 +99,7 @@ int nxtk_filltrapwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_trapezoid_s *tra #ifdef CONFIG_DEBUG if (!hfwnd || !trap || !color) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif @@ -111,7 +111,9 @@ int nxtk_filltrapwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_trapezoid_s *tra fwnd->fwrect.pt1.y - fwnd->wnd.bounds.pt1.y); /* Perform the fill, clipping to the client window */ - nxgl_rectoffset(&relclip, &fwnd->fwrect, -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); + + nxgl_rectoffset(&relclip, &fwnd->fwrect, -fwnd->wnd.bounds.pt1.x, + -fwnd->wnd.bounds.pt1.y); return nx_filltrapezoid((NXWINDOW)hfwnd, &relclip, &reltrap, color); } diff --git a/graphics/nxtk/nxtk_fillwindow.c b/libnx/nxtk/nxtk_fillwindow.c similarity index 96% rename from graphics/nxtk/nxtk_fillwindow.c rename to libnx/nxtk/nxtk_fillwindow.c index c76dbfbb46..77f043391c 100644 --- a/graphics/nxtk/nxtk_fillwindow.c +++ b/libnx/nxtk/nxtk_fillwindow.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_fillwindow.c + * libnx/nxtk/nxtk_fillwindow.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -98,7 +97,7 @@ int nxtk_fillwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, #ifdef CONFIG_DEBUG if (!hfwnd || !rect || !color) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif diff --git a/graphics/nxtk/nxtk_getposition.c b/libnx/nxtk/nxtk_getposition.c similarity index 96% rename from graphics/nxtk/nxtk_getposition.c rename to libnx/nxtk/nxtk_getposition.c index 7850f77144..a0b21bedba 100644 --- a/graphics/nxtk/nxtk_getposition.c +++ b/libnx/nxtk/nxtk_getposition.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_getposition.c + * libnx/nxtk/nxtk_getposition.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** diff --git a/graphics/nxtk/nxtk_gettoolbar.c b/libnx/nxtk/nxtk_gettoolbar.c similarity index 97% rename from graphics/nxtk/nxtk_gettoolbar.c rename to libnx/nxtk/nxtk_gettoolbar.c index 5b08fc8408..a83a1aa3e6 100644 --- a/graphics/nxtk/nxtk_gettoolbar.c +++ b/libnx/nxtk/nxtk_gettoolbar.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_gettoolbar.c + * libnx/nxtk/nxtk_gettoolbar.c * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. + * Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** diff --git a/graphics/nxtk/nxtk_getwindow.c b/libnx/nxtk/nxtk_getwindow.c similarity index 97% rename from graphics/nxtk/nxtk_getwindow.c rename to libnx/nxtk/nxtk_getwindow.c index b0082874f1..a91ad05fc6 100644 --- a/graphics/nxtk/nxtk_getwindow.c +++ b/libnx/nxtk/nxtk_getwindow.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_getwindow.c + * libnx/nxtk/nxtk_getwindow.c * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. + * Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** diff --git a/graphics/nxtk/nxtk_internal.h b/libnx/nxtk/nxtk_internal.h similarity index 78% rename from graphics/nxtk/nxtk_internal.h rename to libnx/nxtk/nxtk_internal.h index 3a31215d83..7a62293413 100644 --- a/graphics/nxtk/nxtk_internal.h +++ b/libnx/nxtk/nxtk_internal.h @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_internal.h + * libnx/nxtk/nxtk_internal.h * - * Copyright (C) 2008-2009, 2011-1021 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -33,8 +33,8 @@ * ****************************************************************************/ -#ifndef __GRAPHICS_NXTK_NXTK_INTERNAL_H -#define __GRAPHICS_NXTK_NXTK_INTERNAL_H +#ifndef __LIBNX_NXTK_NXTK_INTERNAL_H +#define __LIBNX_NXTK_NXTK_INTERNAL_H /**************************************************************************** * Included Files @@ -42,9 +42,8 @@ #include +#include #include -#include "nxbe.h" -#include "nxfe.h" /**************************************************************************** * Pre-processor definitions @@ -86,20 +85,21 @@ struct nxtk_framedwindow_s #undef EXTERN #if defined(__cplusplus) # define EXTERN extern "C" -extern "C" { +extern "C" +{ #else # define EXTERN extern #endif /* That is the callback for the framed window */ -extern FAR const struct nx_callback_s g_nxtkcb; +EXTERN FAR const struct nx_callback_s g_nxtkcb; /* Frame border colors */ -extern nxgl_mxpixel_t g_bordercolor1[CONFIG_NX_NPLANES]; -extern nxgl_mxpixel_t g_bordercolor2[CONFIG_NX_NPLANES]; -extern nxgl_mxpixel_t g_bordercolor3[CONFIG_NX_NPLANES]; +EXTERN nxgl_mxpixel_t g_bordercolor1[CONFIG_NX_NPLANES]; +EXTERN nxgl_mxpixel_t g_bordercolor2[CONFIG_NX_NPLANES]; +EXTERN nxgl_mxpixel_t g_bordercolor3[CONFIG_NX_NPLANES]; /**************************************************************************** * Public Function Prototypes @@ -115,7 +115,7 @@ extern nxgl_mxpixel_t g_bordercolor3[CONFIG_NX_NPLANES]; * ****************************************************************************/ -EXTERN void nxtk_setsubwindows(FAR struct nxtk_framedwindow_s *fwnd); +void nxtk_setsubwindows(FAR struct nxtk_framedwindow_s *fwnd); /**************************************************************************** * Name: nxtk_subwindowclip @@ -136,10 +136,10 @@ EXTERN void nxtk_setsubwindows(FAR struct nxtk_framedwindow_s *fwnd); * ****************************************************************************/ -EXTERN void nxtk_subwindowclip(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src, - FAR const struct nxgl_rect_s *bounds); +void nxtk_subwindowclip(FAR struct nxtk_framedwindow_s *fwnd, + FAR struct nxgl_rect_s *dest, + FAR const struct nxgl_rect_s *src, + FAR const struct nxgl_rect_s *bounds); /**************************************************************************** * Name: nxtk_containerclip @@ -154,7 +154,7 @@ EXTERN void nxtk_subwindowclip(FAR struct nxtk_framedwindow_s *fwnd, * * Input parameters: * fwnd - The framed window to be used - * dest - The locaton to put the result + * dest - The location to put the result * src - The src rectangle in relative container-window coordinates * bounds - The subwindow bounds in absolute screen coordinates. * @@ -163,21 +163,21 @@ EXTERN void nxtk_subwindowclip(FAR struct nxtk_framedwindow_s *fwnd, * ****************************************************************************/ -EXTERN void nxtk_containerclip(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src, - FAR const struct nxgl_rect_s *bounds); +void nxtk_containerclip(FAR struct nxtk_framedwindow_s *fwnd, + FAR struct nxgl_rect_s *dest, + FAR const struct nxgl_rect_s *src, + FAR const struct nxgl_rect_s *bounds); /**************************************************************************** * Name: nxtk_subwindowmove * * Description: - * Perform common clipping operations in preparatons for calling nx_move() + * Perform common clipping operations in preparation for calling nx_move() * * Input Parameters: * fwnd - The framed window within which the move is to be done. * This must have been previously created by nxtk_openwindow(). - * destrect - The loccation to receive the clipped rectangle relative + * destrect - The location to receive the clipped rectangle relative * to containing window * destoffset - The location to received the clipped offset. * srcrect - Describes the rectangular region relative to the client @@ -190,12 +190,12 @@ EXTERN void nxtk_containerclip(FAR struct nxtk_framedwindow_s *fwnd, * ****************************************************************************/ -EXTERN void nxtk_subwindowmove(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *destrect, - FAR struct nxgl_point_s *destoffset, - FAR const struct nxgl_rect_s *srcrect, - FAR const struct nxgl_point_s *srcoffset, - FAR const struct nxgl_rect_s *bounds); +void nxtk_subwindowmove(FAR struct nxtk_framedwindow_s *fwnd, + FAR struct nxgl_rect_s *destrect, + FAR struct nxgl_point_s *destoffset, + FAR const struct nxgl_rect_s *srcrect, + FAR const struct nxgl_point_s *srcoffset, + FAR const struct nxgl_rect_s *bounds); /**************************************************************************** * Name: nxtk_drawframe @@ -214,12 +214,12 @@ EXTERN void nxtk_subwindowmove(FAR struct nxtk_framedwindow_s *fwnd, * ****************************************************************************/ -EXTERN int nxtk_drawframe(FAR struct nxtk_framedwindow_s *fwnd, - FAR const struct nxgl_rect_s *bounds); +int nxtk_drawframe(FAR struct nxtk_framedwindow_s *fwnd, + FAR const struct nxgl_rect_s *bounds); #undef EXTERN #if defined(__cplusplus) } #endif -#endif /* __GRAPHICS_NXTK_NXTK_INTERNAL_H */ +#endif /* __LIBNX_NXTK_NXTK_INTERNAL_H */ diff --git a/graphics/nxtk/nxtk_lower.c b/libnx/nxtk/nxtk_lower.c similarity index 95% rename from graphics/nxtk/nxtk_lower.c rename to libnx/nxtk/nxtk_lower.c index e37e020fc0..de26ac509b 100644 --- a/graphics/nxtk/nxtk_lower.c +++ b/libnx/nxtk/nxtk_lower.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_lower.c + * libnx/nxtk/nxtk_lower.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -81,8 +80,8 @@ * bottom of the display. * * Input parameters: - * hfwnd - the window to be lowered. This must have been previously created - * by nxtk_openwindow(). + * hfwnd - the window to be lowered. This must have been previously + * created by nxtk_openwindow(). * * Returned value: * OK on success; ERROR on failure with errno set appropriately diff --git a/graphics/nxtk/nxtk_movetoolbar.c b/libnx/nxtk/nxtk_movetoolbar.c similarity index 96% rename from graphics/nxtk/nxtk_movetoolbar.c rename to libnx/nxtk/nxtk_movetoolbar.c index 9170394f1d..b5f05c0967 100644 --- a/graphics/nxtk/nxtk_movetoolbar.c +++ b/libnx/nxtk/nxtk_movetoolbar.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_movetoolbar.c + * libnx/nxtk/nxtk_movetoolbar.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -77,7 +76,8 @@ * Name: nxtk_movetoolbar * * Description: - * Move a rectangular region within the toolbar sub-window of a framed window + * Move a rectangular region within the toolbar sub-window of a framed + * window * * Input Parameters: * hfwnd - The sub-window containing the toolbar within which the move is @@ -102,7 +102,7 @@ int nxtk_movetoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, #ifdef CONFIG_DEBUG if (!hfwnd || !rect || !offset) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif diff --git a/graphics/nxtk/nxtk_movewindow.c b/libnx/nxtk/nxtk_movewindow.c similarity index 96% rename from graphics/nxtk/nxtk_movewindow.c rename to libnx/nxtk/nxtk_movewindow.c index 83d95b3a4e..f9bbbac41d 100644 --- a/graphics/nxtk/nxtk_movewindow.c +++ b/libnx/nxtk/nxtk_movewindow.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_movewindow.c + * libnx/nxtk/nxtk_movewindow.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -77,7 +76,8 @@ * Name: nxtk_movewindow * * Description: - * Move a rectangular region within the client sub-window of a framed window + * Move a rectangular region within the client sub-window of a framed + * window * * Input Parameters: * hfwnd - The client sub-window within which the move is to be done. @@ -101,7 +101,7 @@ int nxtk_movewindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, #ifdef CONFIG_DEBUG if (!hfwnd || !rect || !offset) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif diff --git a/graphics/nxtk/nxtk_opentoolbar.c b/libnx/nxtk/nxtk_opentoolbar.c similarity index 94% rename from graphics/nxtk/nxtk_opentoolbar.c rename to libnx/nxtk/nxtk_opentoolbar.c index e82dbed6fd..ffdf629013 100644 --- a/graphics/nxtk/nxtk_opentoolbar.c +++ b/libnx/nxtk/nxtk_opentoolbar.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_opentoolbar.c + * libnx/nxtk/nxtk_opentoolbar.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -80,10 +79,11 @@ * Create a tool bar at the top of the specified framed window * * Input Parameters: - * hfwnd - The handle returned by nxtk_openwindow + * hfwnd - The handle returned by nxtk_openwindow * height - The request height of the toolbar in pixels * cb - Callbacks used to process toolbar events - * arg - User provided value that will be returned with toolbar callbacks. + * arg - User provided value that will be returned with toolbar + * callbacks. * * Return: * OK on success; ERROR on failure with errno set appropriately @@ -99,7 +99,7 @@ int nxtk_opentoolbar(NXTKWINDOW hfwnd, nxgl_coord_t height, #ifdef CONFIG_DEBUG if (!hfwnd || !cb) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif @@ -118,10 +118,9 @@ int nxtk_opentoolbar(NXTKWINDOW hfwnd, nxgl_coord_t height, * redrawn because it has changed its vertical position and size. */ - nxfe_redrawreq(&fwnd->wnd, &fwnd->wnd.bounds); + nx_redrawreq(&fwnd->wnd, &fwnd->wnd.bounds); /* Return the initialized toolbar reference */ return OK; } - diff --git a/graphics/nxtk/nxtk_openwindow.c b/libnx/nxtk/nxtk_openwindow.c similarity index 92% rename from graphics/nxtk/nxtk_openwindow.c rename to libnx/nxtk/nxtk_openwindow.c index 0c77a68777..fc7ddd869d 100644 --- a/graphics/nxtk/nxtk_openwindow.c +++ b/libnx/nxtk/nxtk_openwindow.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_openwindow.c + * libnx/nxtk/nxtk_openwindow.c * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2012-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -44,9 +44,8 @@ #include #include -#include -#include "nxfe.h" +#include "nxcontext.h" #include "nxtk_internal.h" /**************************************************************************** @@ -124,17 +123,19 @@ NXTKWINDOW nxtk_openwindow(NXHANDLE handle, #ifdef CONFIG_DEBUG if (!handle || !cb) { - errno = EINVAL; + set_errno(EINVAL); return NULL; } #endif /* Pre-allocate the window structure */ - fwnd = (FAR struct nxtk_framedwindow_s *)kzalloc(sizeof(struct nxtk_framedwindow_s)); + fwnd = (FAR struct nxtk_framedwindow_s *) + lib_zalloc(sizeof(struct nxtk_framedwindow_s)); + if (!fwnd) { - errno = ENOMEM; + set_errno(ENOMEM); return NULL; } @@ -143,9 +144,9 @@ NXTKWINDOW nxtk_openwindow(NXHANDLE handle, fwnd->fwcb = cb; fwnd->fwarg = arg; - /* Then let nxfe_constructwindow do the rest */ + /* Then let nx_constructwindow do the rest */ - ret = nxfe_constructwindow(handle, &fwnd->wnd, &g_nxtkcb, NULL); + ret = nx_constructwindow(handle, &fwnd->wnd, &g_nxtkcb, NULL); if (ret < 0) { /* An error occurred, the window has been freed */ diff --git a/graphics/nxtk/nxtk_raise.c b/libnx/nxtk/nxtk_raise.c similarity index 95% rename from graphics/nxtk/nxtk_raise.c rename to libnx/nxtk/nxtk_raise.c index f20b258992..2b54f81cb6 100644 --- a/graphics/nxtk/nxtk_raise.c +++ b/libnx/nxtk/nxtk_raise.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_raise.c + * libnx/nxtk/nxtk_raise.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -81,8 +80,8 @@ * of the display. * * Input parameters: - * hfwnd - the window to be raised. This must have been previously created - * by nxtk_openwindow(). + * hfwnd - the window to be raised. This must have been previously + * created by nxtk_openwindow(). * * Returned value: * OK on success; ERROR on failure with errno set appropriately diff --git a/graphics/nxtk/nxtk_setposition.c b/libnx/nxtk/nxtk_setposition.c similarity index 97% rename from graphics/nxtk/nxtk_setposition.c rename to libnx/nxtk/nxtk_setposition.c index 2a2a60665b..f3ba118726 100644 --- a/graphics/nxtk/nxtk_setposition.c +++ b/libnx/nxtk/nxtk_setposition.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_setposition.c + * libnx/nxtk/nxtk_setposition.c * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2012-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** diff --git a/graphics/nxtk/nxtk_setsize.c b/libnx/nxtk/nxtk_setsize.c similarity index 96% rename from graphics/nxtk/nxtk_setsize.c rename to libnx/nxtk/nxtk_setsize.c index 332ea00b57..671aa80540 100644 --- a/graphics/nxtk/nxtk_setsize.c +++ b/libnx/nxtk/nxtk_setsize.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_setsize.c + * libnx/nxtk/nxtk_setsize.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -98,7 +97,7 @@ int nxtk_setsize(NXTKWINDOW hfwnd, FAR const struct nxgl_size_s *size) #ifdef CONFIG_DEBUG if (!hfwnd || !size) { - errno = EINVAL; + set_errno(EINVAL); return ERROR; } #endif diff --git a/graphics/nxtk/nxtk_setsubwindows.c b/libnx/nxtk/nxtk_setsubwindows.c similarity index 99% rename from graphics/nxtk/nxtk_setsubwindows.c rename to libnx/nxtk/nxtk_setsubwindows.c index 143909ea4c..e528f43e9a 100644 --- a/graphics/nxtk/nxtk_setsubwindows.c +++ b/libnx/nxtk/nxtk_setsubwindows.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxtk/nxtk_setsubwindows.c + * libnx/nxtk/nxtk_setsubwindows.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/graphics/nxtk/nxtk_subwindowclip.c b/libnx/nxtk/nxtk_subwindowclip.c similarity index 97% rename from graphics/nxtk/nxtk_subwindowclip.c rename to libnx/nxtk/nxtk_subwindowclip.c index 2dbefb6481..b2688a543d 100644 --- a/graphics/nxtk/nxtk_subwindowclip.c +++ b/libnx/nxtk/nxtk_subwindowclip.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_subwindowclip.c + * libnx/nxtk/nxtk_subwindowclip.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** diff --git a/graphics/nxtk/nxtk_subwindowmove.c b/libnx/nxtk/nxtk_subwindowmove.c similarity index 95% rename from graphics/nxtk/nxtk_subwindowmove.c rename to libnx/nxtk/nxtk_subwindowmove.c index 3c2bb7f371..6ae737b580 100644 --- a/graphics/nxtk/nxtk_subwindowmove.c +++ b/libnx/nxtk/nxtk_subwindowmove.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_subwindowmove.c + * libnx/nxtk/nxtk_subwindowmove.c * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -141,9 +140,10 @@ void nxtk_subwindowmove(FAR struct nxtk_framedwindow_s *fwnd, } - /* Then move the rectangle so that is relative to the containing window, not the - * client subwindow + /* Then move the rectangle so that is relative to the containing window, + * not the client subwindow */ - nxgl_rectoffset(destrect, &abssrc, -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); + nxgl_rectoffset(destrect, &abssrc, -fwnd->wnd.bounds.pt1.x, + -fwnd->wnd.bounds.pt1.y); } diff --git a/graphics/nxtk/nxtk_toolbarbounds.c b/libnx/nxtk/nxtk_toolbarbounds.c similarity index 97% rename from graphics/nxtk/nxtk_toolbarbounds.c rename to libnx/nxtk/nxtk_toolbarbounds.c index ee49cb5044..2f5991d70f 100644 --- a/graphics/nxtk/nxtk_toolbarbounds.c +++ b/libnx/nxtk/nxtk_toolbarbounds.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxtk/nxtk_toolbarbounds.c + * libnx/nxtk/nxtk_toolbarbounds.c * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2012-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -44,7 +44,6 @@ #include #include -#include "nxfe.h" #include "nxtk_internal.h" /**************************************************************************** @@ -104,4 +103,3 @@ int nxtk_toolbarbounds(NXTKWINDOW hfwnd, FAR struct nxgl_rect_s *bounds) -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); return OK; } -