diff --git a/ChangeLog b/ChangeLog index 75e8cbe7862..a8d5ffa68aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6331,4 +6331,5 @@ * Move graphics/nxfonts to libnx/nxfonts (2013-12-28). * Move graphics/nxtk to libnx/nxtk (2013-12-28). * syscalls: Need to add sem_timedwait() (2013-12-28) + * Move more files from graphics/nxmu to libnx/nxmu (2013-12-29). diff --git a/Documentation/NXGraphicsSubsystem.html b/Documentation/NXGraphicsSubsystem.html index 74460715449..7d9c2d64e9c 100644 --- a/Documentation/NXGraphicsSubsystem.html +++ b/Documentation/NXGraphicsSubsystem.html @@ -3170,7 +3170,7 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height, It contains most of the important window management logic: clipping, window controls, window drawing, etc. -
graphics/nxsu +
graphics/nxsu1
This is the NX single user front end. When combined with the generic back-end (nxbe), it implements a single threaded, single user windowing system. @@ -3179,11 +3179,6 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height, The single user front-end is selected when CONFIG_NX_MULTIUSER is not defined in the NuttX configuration file. -
- NOTE: There is no nxsu sub-directory in nuttx/libnx. - That is because this separation of interfaces is only required in the kernel build mode and only the multi-user interfaces can be used with the kernel build. -
-
graphics/nxmu and libnx/nxmu
This is the NX multi user front end. When combined with the generic back-end (nxbe), it implements a @@ -3213,6 +3208,10 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
The NxConsole driver is built on top of NX and works with either the single-user or multi-user NX version. See include/nuttx/nx/nxconsole.h. +

+ 1There is no nxsu sub-directory in nuttx/libnx. + That is because this separation of interfaces is only required in the kernel build mode and only the multi-user interfaces can be used with the kernel build. +

diff --git a/graphics/nxmu/Make.defs b/graphics/nxmu/Make.defs index 41a660ba1ac..2f443c20f92 100644 --- a/graphics/nxmu/Make.defs +++ b/graphics/nxmu/Make.defs @@ -35,7 +35,6 @@ NX_ASRCS = -NX_CSRCS = nx_eventhandler.c nx_eventnotify.c NX_CSRCS += nxmu_kbdin.c nxmu_mouse.c nxmu_openwindow.c nxmu_redrawreq.c NX_CSRCS += nxmu_releasebkgd.c nxmu_requestbkgd.c nxmu_reportposition.c NX_CSRCS += nxmu_sendclient.c nxmu_sendclientwindow.c nxmu_server.c diff --git a/graphics/nxsu/nx_constructwindow.c b/graphics/nxsu/nx_constructwindow.c index 0703ab64440..6a05951816a 100644 --- a/graphics/nxsu/nx_constructwindow.c +++ b/graphics/nxsu/nx_constructwindow.c @@ -83,10 +83,10 @@ * inheritance: The caller's window structure may include extensions that * are not visible to NX. * - * NOTE: hwnd 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. + * NOTE: hwnd must have been allocated using a user-space allocator that + * permits user access to the window. 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 diff --git a/graphics/nxsu/nx_openwindow.c b/graphics/nxsu/nx_openwindow.c index 773210853a2..b1e63293731 100644 --- a/graphics/nxsu/nx_openwindow.c +++ b/graphics/nxsu/nx_openwindow.c @@ -80,7 +80,7 @@ * * Input Parameters: * handle - The handle returned by nx_connect - * cb - Callbacks used to process windo events + * cb - Callbacks used to process window events * arg - User provided value that will be returned with NX callbacks. * * Return: diff --git a/include/nuttx/nx/nx.h b/include/nuttx/nx/nx.h index b8eed920445..e1357a3425a 100644 --- a/include/nuttx/nx/nx.h +++ b/include/nuttx/nx/nx.h @@ -99,7 +99,7 @@ struct nx_callback_s /************************************************************************** * Name: redraw * - * Descripton: + * Description: * NX requests that the client re-draw the portion of the window within * with rectangle. * @@ -122,7 +122,7 @@ struct nx_callback_s /************************************************************************** * Name: position * - * Descripton: + * Description: * The size or position of the window has changed (or the window was * just created with zero size. * @@ -149,7 +149,7 @@ struct nx_callback_s /************************************************************************** * Name: mousein * - * Descripton: + * Description: * New mouse data is available for the window. * * Input Parameters: @@ -172,7 +172,7 @@ struct nx_callback_s /************************************************************************** * Name: kbdin * - * Descripton: + * Description: * New keyboard/keypad data is available for the window * * Input Parameters: @@ -194,7 +194,7 @@ struct nx_callback_s /************************************************************************** * Name: blocked * - * Descripton: + * Description: * This callback is the response from nx_block (or nxtk_block). Those * blocking interfaces are used to assure that no further messages are * directed to the window. Receipt of the blocked callback signifies @@ -332,7 +332,7 @@ NXHANDLE nx_open(FAR NX_DRIVERTYPE *dev); * * Description: * Disconnect a client from the NX server and/or free resources reserved - * by nx_connect/nx_connectinstance. nx_disconnect is muliti-user equivalent + * by nx_connect/nx_connectinstance. nx_disconnect is multi-user equivalent * of nx_close. * * Multiple user mode only! @@ -382,7 +382,7 @@ void nx_close(NXHANDLE handle); * caution in the looping to assure that it does not eat up all of * the CPU bandwidth calling nx_eventhandler repeatedly. nx_eventnotify * may be called to get a signal event whenever a new incoming server - * event is avaiable. + * event is available. * * Input Parameters: * handle - the handle returned by nx_connect @@ -511,7 +511,7 @@ int nx_block(NXWINDOW hwnd, FAR void *arg); * background window in the following conditions: * * - If you want to implement a windowless solution. The single screen - * can be used to creat a truly simple graphic environment. In this + * can be used to create a truly simple graphic environment. In this * case, you should probably also de-select CONFIG_NX_MULTIUSER as well. * - When you want more on the background than a solid color. For * example, if you want an image in the background, or animations in the @@ -930,10 +930,10 @@ void nx_redrawreq(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect); * 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. + * NOTE: hwnd must have been allocated using a user-space allocator that + * permits user access to the window. 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 diff --git a/libnx/nxmu/Make.defs b/libnx/nxmu/Make.defs index ebf9c4f65f2..ac99b7cb163 100644 --- a/libnx/nxmu/Make.defs +++ b/libnx/nxmu/Make.defs @@ -41,7 +41,7 @@ ifeq ($(CONFIG_NX),y) ifeq ($(CONFIG_NX_MULTIUSER),y) CSRCS += nxmu_sendserver.c nx_connect.c nx_disconnect.c -CSRCS += nxmu_semtake.c nx_block.c +CSRCS += nx_eventhandler.c nx_eventnotify.c 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 diff --git a/graphics/nxmu/nx_eventhandler.c b/libnx/nxmu/nx_eventhandler.c similarity index 97% rename from graphics/nxmu/nx_eventhandler.c rename to libnx/nxmu/nx_eventhandler.c index 815f9f583ba..26d7f9deea7 100644 --- a/graphics/nxmu/nx_eventhandler.c +++ b/libnx/nxmu/nx_eventhandler.c @@ -1,5 +1,5 @@ /**************************************************************************** - * graphics/nxmu/nx_eventhandler.c + * libnx/nxmu/nx_eventhandler.c * * Copyright (C) 2008-2009, 2011-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -46,10 +46,11 @@ #include #include -#include #include +#include +#include -#include "nxfe.h" +#include "nxcontext.h" /**************************************************************************** * Pre-Processor Definitions @@ -98,7 +99,7 @@ static inline void nx_disconnected(FAR struct nxfe_conn_s *conn) /* And free the client structure */ - kfree(conn); + lib_free(conn); } /**************************************************************************** @@ -117,7 +118,7 @@ static inline void nx_disconnected(FAR struct nxfe_conn_s *conn) * caution in the looping to assure that it does not eat up all of * the CPU bandwidth calling nx_eventhandler repeatedly. nx_eventnotify * may be called to get a signal event whenever a new incoming server - * event is avaiable. + * event is available. * * Input Parameters: * handle - the handle returned by nx_connect @@ -185,7 +186,7 @@ int nx_eventhandler(NXHANDLE handle) case NX_CLIMSG_DISCONNECTED: nx_disconnected(conn); - errno = EHOSTDOWN; + set_errno(EHOSTDOWN); return ERROR; case NX_CLIMSG_REDRAW: @@ -259,4 +260,3 @@ int nx_eventhandler(NXHANDLE handle) return OK; } - diff --git a/graphics/nxmu/nx_eventnotify.c b/libnx/nxmu/nx_eventnotify.c similarity index 97% rename from graphics/nxmu/nx_eventnotify.c rename to libnx/nxmu/nx_eventnotify.c index 556c9fa93b7..37f2b1591e3 100644 --- a/graphics/nxmu/nx_eventnotify.c +++ b/libnx/nxmu/nx_eventnotify.c @@ -1,7 +1,7 @@ /**************************************************************************** - * graphics/nxmu/nx_eventnotify.c + * libnx/nxmu/nx_eventnotify.c * - * Copyright (C) 2008-2009, 2011 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 @@ -46,7 +46,7 @@ #include #include -#include "nxfe.h" +#include #ifndef CONFIG_DISABLE_SIGNALS