diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-11-29 14:59:02 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-11-29 14:59:02 +0000 |
commit | c445c58bb8cf0c392059ed898b0e987b0e85e666 (patch) | |
tree | 3a0f4c0808511bbdfb5c288d44ec996b05e01140 /nuttx/graphics/nxmu | |
parent | 94ade9753269d0a0ba330a4bdb3ec1e5cffe99ac (diff) | |
download | px4-nuttx-c445c58bb8cf0c392059ed898b0e987b0e85e666.tar.gz px4-nuttx-c445c58bb8cf0c392059ed898b0e987b0e85e666.tar.bz2 px4-nuttx-c445c58bb8cf0c392059ed898b0e987b0e85e666.zip |
Add APIs to get access to background
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1343 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/graphics/nxmu')
-rw-r--r-- | nuttx/graphics/nxmu/Make.defs | 8 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nx_releasebkgd.c | 113 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nx_requestbkgd.c | 141 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nxfe.h | 56 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nxmu_openwindow.c | 8 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nxmu_releasebkgd.c | 110 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nxmu_requestbkgd.c | 122 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nxmu_server.c | 13 |
8 files changed, 566 insertions, 5 deletions
diff --git a/nuttx/graphics/nxmu/Make.defs b/nuttx/graphics/nxmu/Make.defs index 29fc13d64..dc9b6bae6 100644 --- a/nuttx/graphics/nxmu/Make.defs +++ b/nuttx/graphics/nxmu/Make.defs @@ -38,7 +38,9 @@ NXAPI_CSRCS = nx_bitmap.c nx_closewindow.c nx_connect.c nx_disconnect.c \ nx_eventhandler.c nx_fill.c nx_filltrapezoid.c \ nx_getposition.c nx_kbdchin.c nx_kbdin.c nx_lower.c \ nx_mousein.c nx_move.c nx_openwindow.c nx_raise.c \ - nx_setsize.c nx_setbgcolor.c nx_setposition.c -NXMU_CSRCS = nxmu_server.c nxmu_openwindow.c nxmu_reportposition.c nxmu_kbdin.c \ - nxmu_mouse.c nxmu_redrawreq.c nxmu_semtake.c + nx_releasebkgd.c nx_requestbkgd.c nx_setsize.c \ + nx_setbgcolor.c nx_setposition.c +NXMU_CSRCS = nxmu_kbdin.c nxmu_mouse.c nxmu_openwindow.c nxmu_redrawreq.c \ + nxmu_releasebkgd.c nxmu_requestbkgd.c nxmu_reportposition.c \ + nxmu_semtake.c nxmu_server.c NX_CSRCS = $(NXAPI_CSRCS) $(NXMU_CSRCS) diff --git a/nuttx/graphics/nxmu/nx_releasebkgd.c b/nuttx/graphics/nxmu/nx_releasebkgd.c new file mode 100644 index 000000000..3e73ed6b8 --- /dev/null +++ b/nuttx/graphics/nxmu/nx_releasebkgd.c @@ -0,0 +1,113 @@ +/**************************************************************************** + * graphics/nxsu/nx_releasebkgd.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * + * 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 <nuttx/config.h> + +#include <sys/types.h> +#include <errno.h> +#include <debug.h> + +#include <nuttx/nx.h> +#include "nxfe.h" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Private Types + ****************************************************************************/ + +/**************************************************************************** + * Private Data + ****************************************************************************/ + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: nx_releasebkgd + * + * Description: + * Release the background window previously acquired using nx_openbgwindow + * and return control of the background to NX. + * + * Input Parameters: + * hwnd - The handle returned (indirectly) by nx_requestbkgd + * + * Return: + * OK on success; ERROR on failure with errno set appropriately + * + ****************************************************************************/ + +int nx_releasebkgd(NXWINDOW hwnd) +{ + FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; + struct nxsvrmsg_releasebkgd_s outmsg; + int ret; + +#ifdef CONFIG_DEBUG + if (!wnd) + { + errno = EINVAL; + return ERROR; + } +#endif + + /* Request access to the background window from the server */ + + outmsg.msgid = NX_SVRMSG_RELEASEBKGD; + ret = mq_send(wnd->conn->cwrmq, &outmsg, sizeof(struct nxsvrmsg_releasebkgd_s), NX_SVRMSG_PRIO); + if (ret < 0) + { + gdbg("mq_send failed: %d\n", errno); + return ERROR; + } + return OK; +} + diff --git a/nuttx/graphics/nxmu/nx_requestbkgd.c b/nuttx/graphics/nxmu/nx_requestbkgd.c new file mode 100644 index 000000000..06f21f5dd --- /dev/null +++ b/nuttx/graphics/nxmu/nx_requestbkgd.c @@ -0,0 +1,141 @@ +/**************************************************************************** + * graphics/nxmu/nx_requestbkgd.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * + * 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 <nuttx/config.h> + +#include <sys/types.h> +#include <errno.h> +#include <debug.h> + +#include <nuttx/nx.h> +#include "nxfe.h" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Private Types + ****************************************************************************/ + +/**************************************************************************** + * Private Data + ****************************************************************************/ + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: nx_requestbkgd + * + * Description: + * NX normally controls a separate window called the background window. + * It repaints the window as necessary using only a solid color fill. The + * background window always represents the entire screen and is always + * below other windows. It is useful for an application to control the + * 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 + * 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 + * background, or live video, etc. + * + * This API only requests the handle of the background window. That + * handle will be returned asynchronously in a subsequent position and + * redraw callbacks. + * + * + * Cautions: + * - The following should never be called using the background window. + * They are guaranteed to cause severe crashes: + * + * nx_setposition, nx_setsize, nx_raise, nx_lower. + * + * - Neither nx_opengbwindow or nx_closebgwindow should be called more than + * once. Multiple instances of the background window are not supported. + * + * Input Parameters: + * handle - The handle returned by nx_connect + * cb - Callbacks to use for processing background window events + * + * Return: + * OK: Success; ERROR of failure with errno set appropriately. + * + ****************************************************************************/ + +int nx_requestbkgd(NXHANDLE handle, FAR const struct nx_callback_s *cb) +{ + FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; + struct nxsvrmsg_requestbkgd_s outmsg; + int ret; + +#ifdef CONFIG_DEBUG + if (!conn || !cb) + { + errno = EINVAL; + return ERROR; + } +#endif + + /* Request access to the background window from the server */ + + outmsg.msgid = NX_SVRMSG_REQUESTBKGD; + outmsg.conn = conn; + outmsg.cb = cb; + + ret = mq_send(conn->cwrmq, &outmsg, sizeof(struct nxsvrmsg_requestbkgd_s), NX_SVRMSG_PRIO); + if (ret < 0) + { + gdbg("mq_send failed: %d\n", errno); + return ERROR; + } + return OK; +} + diff --git a/nuttx/graphics/nxmu/nxfe.h b/nuttx/graphics/nxmu/nxfe.h index 65aa8cfec..88ea87830 100644 --- a/nuttx/graphics/nxmu/nxfe.h +++ b/nuttx/graphics/nxmu/nxfe.h @@ -154,6 +154,8 @@ enum nxmsg_e NX_SVRMSG_DISCONNECT, /* Tear down connection with terminating client */ NX_SVRMSG_OPENWINDOW, /* Create a new window */ NX_SVRMSG_CLOSEWINDOW, /* Close an existing window */ + NX_SVRMSG_REQUESTBKGD, /* Open the background window */ + NX_SVRMSG_RELEASEBKGD, /* Release the background window */ NX_SVRMSG_SETPOSITION, /* Window position has changed */ NX_SVRMSG_SETSIZE, /* Window size has changed */ NX_SVRMSG_GETPOSITION, /* Get the current window position and size */ @@ -265,6 +267,22 @@ struct nxsvrmsg_closewindow_s FAR struct nxbe_window_s *wnd; /* The window to be closed */ }; +/* This message requests the server to create a new window */ + +struct nxsvrmsg_requestbkgd_s +{ + uint32 msgid; /* NX_SVRMSG_REQUESTBKGD */ + FAR struct nxfe_conn_s *conn; /* The specific connection sending the message */ + FAR const struct nx_callback_s *cb; /* Event handling callbacks */ +}; + +/* This message informs the server that client wishes to close a window */ + +struct nxsvrmsg_releasebkgd_s +{ + uint32 msgid; /* NX_SVRMSG_RELEASEBKGD */ +}; + /* This message informs the server that the size or position of the window has changed */ struct nxsvrmsg_setposition_s @@ -439,6 +457,44 @@ EXTERN void nxmu_openwindow(FAR struct nxfe_conn_s *conn, FAR const struct nx_callback_s *cb); /**************************************************************************** + * Name: nxmu_requestbkgd + * + * Description: + * Perform the server-side operation for the nx_requestbkgd operation: + * Give the client control of the background window connection and receipt + * of all background window callbacks. + * + * conn - The client containing connection information [IN] + * be - The server state structure [IN] + * cb - Callbacks used to process window events + * + * Return: + * None + * + ****************************************************************************/ + +EXTERN void nxmu_requestbkgd(FAR struct nxfe_conn_s *conn, + FAR struct nxbe_state_s *be, + FAR const struct nx_callback_s *cb); + +/**************************************************************************** + * Name: nxmu_releasebkgd + * + * Description: + * Release the background window previously acquired using nxmu_openbgwindow + * and return control of the background to NX. + * + * Input Parameters: + * fe - The front-end state structure + * + * Return: + * None + * + ****************************************************************************/ + +EXTERN void nxmu_releasebkgd(FAR struct nxfe_state_s *fe); + +/**************************************************************************** * Name: nxfe_reportposition * * Descripton: diff --git a/nuttx/graphics/nxmu/nxmu_openwindow.c b/nuttx/graphics/nxmu/nxmu_openwindow.c index 159651793..13a69d466 100644 --- a/nuttx/graphics/nxmu/nxmu_openwindow.c +++ b/nuttx/graphics/nxmu/nxmu_openwindow.c @@ -77,7 +77,7 @@ * conn - The client containing connection information [IN] * be - The server state structure [IN] * wnd - The pre-allocated window structure to be ininitilized [IN/OUT] - * cb - Callbacks used to process window events + * cb - Callbacks used to process window events * * Return: * None @@ -108,7 +108,11 @@ void nxmu_openwindow(FAR struct nxfe_conn_s *conn, be->topwnd->above = wnd; be->topwnd = wnd; - /* Provide the initial mouse settings */ + /* Report the initial size/position of the window to the client */ + + nxfe_reportposition((NXWINDOW)wnd); + + /* Provide the initial mouse settings to the client */ #ifdef CONFIG_NX_MOUSE nxmu_mousereport(wnd); diff --git a/nuttx/graphics/nxmu/nxmu_releasebkgd.c b/nuttx/graphics/nxmu/nxmu_releasebkgd.c new file mode 100644 index 000000000..131a4d5bc --- /dev/null +++ b/nuttx/graphics/nxmu/nxmu_releasebkgd.c @@ -0,0 +1,110 @@ +/**************************************************************************** + * graphics/nxsu/nxmu_releasebkgd.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * + * 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 <nuttx/config.h> + +#include <sys/types.h> +#include <errno.h> +#include <debug.h> + +#include <nuttx/nx.h> +#include "nxfe.h" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Private Types + ****************************************************************************/ + +/**************************************************************************** + * Private Data + ****************************************************************************/ + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: nxmu_releasebkgd + * + * Description: + * Release the background window previously acquired using nxmu_openbgwindow + * and return control of the background to NX. + * + * Input Parameters: + * fe - The front-end state structure + * + * Return: + * None + * + ****************************************************************************/ + +void nxmu_releasebkgd(FAR struct nxfe_state_s *fe) +{ + FAR struct nxbe_state_s *be = &fe->be; + +#ifdef CONFIG_DEBUG + if (!fe) + { + return; + } +#endif + + /* Destroy the client window callbacks* and restore the server + * connection. + */ + + be->bkgd.cb = NULL; + be->bkgd.conn = &fe->conn; + + /* Redraw the background window */ + + nxfe_redrawreq(&be->bkgd, &be->bkgd.bounds); +} + diff --git a/nuttx/graphics/nxmu/nxmu_requestbkgd.c b/nuttx/graphics/nxmu/nxmu_requestbkgd.c new file mode 100644 index 000000000..962cb01ac --- /dev/null +++ b/nuttx/graphics/nxmu/nxmu_requestbkgd.c @@ -0,0 +1,122 @@ +/**************************************************************************** + * graphics/nxmu/nxmu_requestbkgd.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * + * 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 <nuttx/config.h> + +#include <sys/types.h> +#include <errno.h> +#include <debug.h> + +#include <nuttx/nx.h> +#include "nxfe.h" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Private Types + ****************************************************************************/ + +/**************************************************************************** + * Private Data + ****************************************************************************/ + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: nxmu_requestbkgd + * + * Description: + * Perform the server-side operation for the nx_requestbkgd operation: + * Give the client control of the background window connection and receipt + * of all background window callbacks. + * + * conn - The client containing connection information [IN] + * be - The server state structure [IN] + * cb - Callbacks used to process window events + * + * Return: + * None + * + ****************************************************************************/ + +void nxmu_requestbkgd(FAR struct nxfe_conn_s *conn, + FAR struct nxbe_state_s *be, + FAR const struct nx_callback_s *cb) +{ +#ifdef CONFIG_DEBUG + if (!conn || !be || !cb) + { + errno = EINVAL; + } +#endif + + /* Set the client's callback vtable and and replace the server + * connection with the clients connection. + */ + + be->bkgd.cb = cb; + be->bkgd.conn = conn; + + /* Report the size/position of the background window to the client */ + + nxfe_reportposition((NXWINDOW)&be->bkgd); + + /* Redraw the background window */ + + nxfe_redrawreq(&be->bkgd, &be->bkgd.bounds); + + /* Provide the mouse settings */ + +#ifdef CONFIG_NX_MOUSE + nxsu_mousereport(be->bkgd); +#endif +} + diff --git a/nuttx/graphics/nxmu/nxmu_server.c b/nuttx/graphics/nxmu/nxmu_server.c index 9d778a185..270285be2 100644 --- a/nuttx/graphics/nxmu/nxmu_server.c +++ b/nuttx/graphics/nxmu/nxmu_server.c @@ -389,6 +389,19 @@ int nx_runinstance(FAR const char *mqname, FAR struct fb_vtable_s *fb) } break; + case NX_SVRMSG_REQUESTBKGD: /* Give access to the background window */ + { + FAR struct nxsvrmsg_requestbkgd_s *rqbgmsg = (FAR struct nxsvrmsg_requestbkgd_s *)buffer; + nxmu_requestbkgd(rqbgmsg->conn, &fe.be, rqbgmsg->cb); + } + break; + + case NX_SVRMSG_RELEASEBKGD: /* End access to the background window */ + { + nxmu_releasebkgd(&fe); + } + break; + case NX_SVRMSG_SETPOSITION: /* Change window position */ { FAR struct nxsvrmsg_setposition_s *setposmsg = (FAR struct nxsvrmsg_setposition_s *)buffer; |