From 284cd6923b521898c0927992fab77593ad797b4a Mon Sep 17 00:00:00 2001 From: patacongo Date: Mon, 30 Apr 2012 01:21:26 +0000 Subject: NxWM update git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4677 42af7a65-404d-4744-a932-0658087f49c3 --- NxWidgets/nxwm/Makefile | 2 +- NxWidgets/nxwm/include/capplicationwindow.hxx | 2 +- NxWidgets/nxwm/include/cbackgroundimage.hxx | 88 +++++ NxWidgets/nxwm/include/cnxbackimage.hxx | 88 ----- NxWidgets/nxwm/include/cnxconsole.hxx | 12 +- NxWidgets/nxwm/include/cnxstart.hxx | 135 ------- NxWidgets/nxwm/include/cnxtaskbar.hxx | 246 ------------ NxWidgets/nxwm/include/cstartwindow.hxx | 143 +++++++ NxWidgets/nxwm/include/ctaskbar.hxx | 238 +++++++++++ NxWidgets/nxwm/include/iapplication.hxx | 109 ++++++ NxWidgets/nxwm/include/inxapplication.hxx | 108 ----- NxWidgets/nxwm/include/nxwmconfig.hxx | 12 +- NxWidgets/nxwm/src/capplicationwindow.cxx | 2 +- NxWidgets/nxwm/src/cnxconsole.cxx | 11 +- NxWidgets/nxwm/src/cnxtaskbar.cxx | 545 -------------------------- NxWidgets/nxwm/src/ctaskbar.cxx | 519 ++++++++++++++++++++++++ NxWidgets/nxwm/src/glyph_minimize.cxx | 6 +- NxWidgets/nxwm/src/glyph_nsh.cxx | 7 +- NxWidgets/nxwm/src/glyph_start.cxx | 7 +- NxWidgets/nxwm/src/glyph_stop.cxx | 7 +- 20 files changed, 1133 insertions(+), 1154 deletions(-) create mode 100644 NxWidgets/nxwm/include/cbackgroundimage.hxx delete mode 100644 NxWidgets/nxwm/include/cnxbackimage.hxx delete mode 100644 NxWidgets/nxwm/include/cnxstart.hxx delete mode 100644 NxWidgets/nxwm/include/cnxtaskbar.hxx create mode 100644 NxWidgets/nxwm/include/cstartwindow.hxx create mode 100644 NxWidgets/nxwm/include/ctaskbar.hxx create mode 100644 NxWidgets/nxwm/include/iapplication.hxx delete mode 100644 NxWidgets/nxwm/include/inxapplication.hxx delete mode 100644 NxWidgets/nxwm/src/cnxtaskbar.cxx create mode 100644 NxWidgets/nxwm/src/ctaskbar.cxx (limited to 'NxWidgets') diff --git a/NxWidgets/nxwm/Makefile b/NxWidgets/nxwm/Makefile index 5197d03d6..0dea92d62 100644 --- a/NxWidgets/nxwm/Makefile +++ b/NxWidgets/nxwm/Makefile @@ -42,7 +42,7 @@ NXWIDGETDIR := $(NXWMDIR)/../libnxwidgets ASRCS = CSRCS = # Window Manager -CXXSRCS = capplicationwindow.cxx cnxconsole.cxx cnxtaskbar.cxx +CXXSRCS = capplicationwindow.cxx cnxconsole.cxx ctaskbar.cxx # Images CXXSRCS += glyph_minimize.cxx glyph_nsh.cxx glyph_start.cxx glyph_stop.cxx diff --git a/NxWidgets/nxwm/include/capplicationwindow.hxx b/NxWidgets/nxwm/include/capplicationwindow.hxx index 984f03b46..805df4184 100644 --- a/NxWidgets/nxwm/include/capplicationwindow.hxx +++ b/NxWidgets/nxwm/include/capplicationwindow.hxx @@ -55,7 +55,7 @@ ****************************************************************************/ /**************************************************************************** - * Abstract Base Classes + * Implementation Classes ****************************************************************************/ #if defined(__cplusplus) diff --git a/NxWidgets/nxwm/include/cbackgroundimage.hxx b/NxWidgets/nxwm/include/cbackgroundimage.hxx new file mode 100644 index 000000000..89ca469cd --- /dev/null +++ b/NxWidgets/nxwm/include/cbackgroundimage.hxx @@ -0,0 +1,88 @@ +/**************************************************************************** + * NxWidgets/nxwm/include/cnxbackimage.hxx + * + * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors + * me 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. + * + ****************************************************************************/ + +#ifndef __NXWM_INCLUDE_CBACKGROUNDIMAGE_HXX +#define __NXWM_INCLUDE_CBACKGROUNDIMAGE_HXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include "nxconfig.hxx" + +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Implementation Class Definition + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NxWM +{ + /** + * This class describes the NX windo manager's background image. + */ + + class CBackgroundImage : public NXWidgets::CImage + { + private: + NXWidgets::CWidgetControl *m_widgetControl; // The controlling widget for the window + + public: + /** + * CBackgroundImage Constructor + */ + + CBackgroundImage(void); + + /** + * CBackgroundImage Destructor + */ + + ~CBackgroundImage(void); + }; +} + +#endif // __cplusplus +#endif // __NXWM_INCLUDE_CBACKGROUNDIMAGE_HXX diff --git a/NxWidgets/nxwm/include/cnxbackimage.hxx b/NxWidgets/nxwm/include/cnxbackimage.hxx deleted file mode 100644 index cc56e6519..000000000 --- a/NxWidgets/nxwm/include/cnxbackimage.hxx +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** - * NxWidgets/nxwm/include/cnxbackimage.hxx - * - * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors - * me 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. - * - ****************************************************************************/ - -#ifndef __NXWM_INCLUDE_CNXBACKIMAGE_HXX -#define __NXWM_INCLUDE_CNXBACKIMAGE_HXX - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include "nxconfig.hxx" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Implementation Class Definition - ****************************************************************************/ - -#if defined(__cplusplus) - -namespace NxWM -{ - /** - * This class describes the NX windo manager's background image. - */ - - class CNxBackImage : public NXWidgets::CImage - { - private: - NXWidgets::CWidgetControl *m_widgetControl; // The controlling widget for the window - - public: - /** - * CNxBackImage Constructor - */ - - CNxBackImage(void); - - /** - * CNxBackImage Destructor - */ - - ~CNxBackImage(void); - }; -} - -#endif // __cplusplus -#endif // __NXWM_INCLUDE_CNXBACKIMAGE_HXX diff --git a/NxWidgets/nxwm/include/cnxconsole.hxx b/NxWidgets/nxwm/include/cnxconsole.hxx index 891ac8884..4009eb8b9 100644 --- a/NxWidgets/nxwm/include/cnxconsole.hxx +++ b/NxWidgets/nxwm/include/cnxconsole.hxx @@ -42,9 +42,7 @@ #include -#include "crlepalettebitmap.hxx" -#include "inxwindow.hxx" -#include "cnxapplication.hxx" +#include "iapplication.hxx" /**************************************************************************** * Pre-Processor Definitions @@ -62,7 +60,7 @@ namespace NxWM * This class implements the NxConsole application. */ - class CNxConsole : public CNxApplication + class CNxConsole : public IApplication { protected: /** @@ -83,12 +81,12 @@ namespace NxWM /** * Get the icon associated with the application * - * @return An instance if INxBitmap that may be used to rend the - * application's icon. This is an new INxBitmap instance that must + * @return An instance if IBitmap that may be used to rend the + * application's icon. This is an new IBitmap instance that must * be deleted by the caller when it is no long needed. */ - NXWidgets::INxBitmap *getIcon(void); + NXWidgets::IBitmap *getIcon(void); }; } #endif // __cplusplus diff --git a/NxWidgets/nxwm/include/cnxstart.hxx b/NxWidgets/nxwm/include/cnxstart.hxx deleted file mode 100644 index fbfb9c54b..000000000 --- a/NxWidgets/nxwm/include/cnxstart.hxx +++ /dev/null @@ -1,135 +0,0 @@ -/**************************************************************************** - * NxWidgets/nxwm/include/cnxstart.hxx - * - * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors - * me 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. - * - ****************************************************************************/ - -#ifndef __INCLUDE_CNXSTART_NXX -#define __INCLUDE_CNXSTART_NXX - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include "cnxapplication.hxx" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Abstract Base Classes - ****************************************************************************/ - -#if defined(__cplusplus) - -namespace NxWM -{ - class CNxTaskbar; - class CApplicationWindow; - - class CNxStart : public INxApplication - { - protected: - CNxTaskbar *m_taskbar; /**< Reference to the "parent" taskbar */ - - /** - * CNxStart Constructor - */ - - ~CNxStart(void); - - public: - - /** - * CNxStart Constructor - * - * @param taskbar. A pointer to the parent task bar instance - * @param window. The window to be used by this application. - */ - - CNxStart(CNxTaskbar *taskbar, CApplicationWindow *window); - - /** - * Each implementation of INxApplication must provide a method to recover - * the contained CApplicationWindow instance. - */ - - CApplicationWindow *getWindow(void) const; - - /** - * Get the icon associated with the application - * - * @return An instance if INxBitmap that may be used to rend the - * application's icon. This is an new INxBitmap instance that must - * be deleted by the caller when it is no long needed. - */ - - NXWidgets::INxBitmap *getIcon(void); - - /** - * Get the name string associated with the application - * - * @return A copy if CNxString that contains the name of the application. - */ - - NXWidgets::CNxString getName(void); - - /** - * Start the application. - */ - - run(void); - - /** - * Stop the application. - */ - - stop(void); - - /** - * Add the application to the start window - * - * @param application. The new application to add to the start window - * @return true on success - */ - - bool addApplication(INxApplication *application); - - }; -} - -#endif // __cplusplus - -#endif // __INCLUDE_CNXSTART_NXX diff --git a/NxWidgets/nxwm/include/cnxtaskbar.hxx b/NxWidgets/nxwm/include/cnxtaskbar.hxx deleted file mode 100644 index 3809e17ff..000000000 --- a/NxWidgets/nxwm/include/cnxtaskbar.hxx +++ /dev/null @@ -1,246 +0,0 @@ -/**************************************************************************** - * NxWidgets/nxwm/include/cnxtaskbar.hxx - * - * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors - * me 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. - * - ****************************************************************************/ - -#ifndef __NXWM_INCLUDE_CNXTASKBAR_HXX -#define __NXWM_INCLUDE_CNXTASKBAR_HXX - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include "nxconfig.hxx" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Implementation Class Definition - ****************************************************************************/ - -#if defined(__cplusplus) - -namespace NxWM -{ - /** - * This class describes the NX window manager's task bar - */ - - class CNxTaskBar : public NXWidgets::CNxServer, private NXWidgets::CWidgetEventHandler - { - private: - NXWidgets:INxWindow *m_taskbar; /**< The toolbar window */ - NXWidgets:INxWindow *m_background; /**< The background window */ - INxApplication *m_start; /**< The start window */ - - /** - * Connect to the server - */ - - bool connect(void); - - /** - * Disconnect from the server - */ - - void disconnect(void); - - /** - * Create a raw window. - * - * 1) Create a dumb CWigetControl instance - * 2) Pass the dumb CWidgetControl instance to the window constructor - * that inherits from INxWindow. This will "smarten" the CWidgetControl - * instance with some window knowlede - * 3) Call the open() method on the window to display the window. - * 4) After that, the fully smartened CWidgetControl instance can - * be used to generate additional widgets by passing it to the - * widget constructor - */ - - NXWidgets::CNxWindow *openRawWindow(void); - - /** - * Create a framed application window - * - * This may be used to provide the window parater to the INxApplication constructor - * - * @return A partially initialized application window instance. - */ - - NXWidgets::CNxTkWindow *openFramedWindow(void); - - /** - * Set size and position of a window in the application area. - * - * @param window. The window to be resized and repositioned - */ - - void setApplicationGeometry(NXWidgets::INxWindow *window); - - /** - * Create the toolbar window. - * - * @return true on success - */ - - bool createToolbarWindow(void); - - /** - * Create the background window. - * - * @return true on success - */ - - bool createBackgroundWindow(void); - - - /** - * Handle a mouse button click event. - * - * @param e The event data. - */ - - void handleClickEvent(const CWidgetEventArgs &e); - - /** - * CNxTaskBar Destructor - */ - - ~CNxTaskBar(void); - - public: - /** - * CNxTaskBar Constructor - * - * @param hWnd - NX server handle - */ - - CNxTaskBar(void); - - /** - * Add the application to the start window. The window manager start-up - * sequence is: - * - * 1. Create the CNxTaskBar instance, - * 2. Call addApplication repeatedly to add applications to the start window - * 3. Call startWindowManager to start the display - * - * @param application. The new application to add to the start window - * @return true on success - */ - - bool addApplication(INxApplication *application); - - /** - * Start the window manager and present the initial displays. The window - * manager start-up sequence is: - * - * 1. Create the CNxTaskBar instance, - * 2. Call addApplication repeatedly to add applications to the start window - * 3. Call startWindowManager to start the display - * - * startWindowManager will present the taskar and the background image. The - * initial taskbar will contain only the start window icon. - * - * @param application. The new application to add to the start window - * @return true on success - */ - - bool startWindowManager(start); - - /** - * Create an application window. Creating a new applicatino in the start - * window requires three steps: - * - * 1. Call openApplicationWindow to create a window for the application, - * 2. Instantiate the application, providing the window to the application's - * constructor, - * 3. Then call addApplication to add the application to the start window. - * - * When the application is selected from the start window: - * - * 4. Call startApplication start the application and bring its window to - * the top. - */ - - CApplicationWindow *openApplicationWindow(void); - - /** - * Start an application and add its icon to the taskbar. The applications's - * window is brought to the top. Creating a new applicatino in the start - * window requires three steps: - * - * 1. Call openApplicationWindow to create a window for the application, - * 2. Instantiate the application, providing the window to the application's - * constructor, - * 3. Then call addApplication to add the application to the start window. - * - * When the application is selected from the start window: - * - * 4. Call startApplication start the application and bring its window to - * the top. - * - * @param application. The new application to add to the task bar - * @return true on success - */ - - bool startApplication(INxApplication *application); - - /** - * Hide an application by moving its window to the bottom. - * - * @param application. The new application to add to the task bar - * @return true on success - */ - - bool hideApplication(INxApplication *application); - - /** - * Destroy an application. Move its window to the bottom and remove its - * icon from the task bar. - * - * @param application. The new application to remove from the task bar - * @return true on success - */ - - bool stopApplication(INxApplication *application); - }; -} - -#endif // __cplusplus -#endif // __NXWM_INCLUDE_CNXTASKBAR_HXX diff --git a/NxWidgets/nxwm/include/cstartwindow.hxx b/NxWidgets/nxwm/include/cstartwindow.hxx new file mode 100644 index 000000000..c47b85d83 --- /dev/null +++ b/NxWidgets/nxwm/include/cstartwindow.hxx @@ -0,0 +1,143 @@ +/**************************************************************************** + * NxWidgets/nxwm/include/cnxstart.hxx + * + * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors + * me 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. + * + ****************************************************************************/ + +#ifndef __INCLUDE_CSTARTWINDOW_NXX +#define __INCLUDE_CSTARTWINDOW_NXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include "iapplication.hxx" +#include "tnxarray.hxx" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Abstract Base Classes + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NxWM +{ + class CTaskbar; + class CApplicationWindow; + + class CStartWindow : public IApplication + { + protected: + CTaskbar *m_taskbar; /**< Reference to the "parent" taskbar */ + TNxArray m_applications; /**< List of apps in the start window */ + + /** + * CStartWindow Constructor + */ + + ~CStartWindow(void); + + public: + + /** + * CStartWindow Constructor + * + * @param taskbar. A pointer to the parent task bar instance + * @param window. The window to be used by this application. + */ + + CStartWindow(CTaskbar *taskbar, CApplicationWindow *window); + + /** + * Each implementation of IApplication must provide a method to recover + * the contained CApplicationWindow instance. + */ + + CApplicationWindow *getWindow(void) const; + + /** + * Get the icon associated with the application + * + * @return An instance if IBitmap that may be used to rend the + * application's icon. This is an new IBitmap instance that must + * be deleted by the caller when it is no long needed. + */ + + NXWidgets::IBitmap *getIcon(void); + + /** + * Get the name string associated with the application + * + * @return A copy if CNxString that contains the name of the application. + */ + + NXWidgets::CNxString getName(void); + + /** + * Start the application. + */ + + run(void); + + /** + * Stop the application. + */ + + stop(void); + + /** + * Add the application to the start window. The general sequence for + * setting up the start window is: + * + * 1. Call CTaskBar::openApplicationWindow to create a window for the start window, + * 2. Call CStartMenu::addApplication numerous times to install applications + * in the start window. + * 3. Call CTaskBar::startApplication (initially minimized) to start the start + * window application. + * + * @param application. The new application to add to the start window + * @return true on success + */ + + bool addApplication(IApplication *application); + }; +} + +#endif // __cplusplus + +#endif // __INCLUDE_CSTARTWINDOW_NXX diff --git a/NxWidgets/nxwm/include/ctaskbar.hxx b/NxWidgets/nxwm/include/ctaskbar.hxx new file mode 100644 index 000000000..0c420a0e2 --- /dev/null +++ b/NxWidgets/nxwm/include/ctaskbar.hxx @@ -0,0 +1,238 @@ +/**************************************************************************** + * NxWidgets/nxwm/include/cnxtaskbar.hxx + * + * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors + * me 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. + * + ****************************************************************************/ + +#ifndef __NXWM_INCLUDE_CTASKBAR_HXX +#define __NXWM_INCLUDE_CTASKBAR_HXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include "nxconfig.hxx" +#include "tnxarray.hxx" +#include "inxwindow.hxx" +#include "cnxserver.hxx" +#include "cwidgeteventhandler.hxx" +#include "cwidgeteventargs.hxx" + +#include "iapplication.hxx" + +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Implementation Class Definition + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NxWM +{ + /** + * This class describes the NX window manager's task bar + */ + + class CTaskbar : public NXWidgets::CNxServer, private NXWidgets::CWidgetEventHandler + { + private: + NXWidgets::INxWindow *m_taskbar; /**< The toolbar window */ + NXWidgets::INxWindow *m_background; /**< The background window */ + TNxArray m_applications; /**< List of apps in the task bar */ + + /** + * Connect to the server + */ + + bool connect(void); + + /** + * Disconnect from the server + */ + + void disconnect(void); + + /** + * Create a raw window. + * + * 1) Create a dumb CWigetControl instance + * 2) Pass the dumb CWidgetControl instance to the window constructor + * that inherits from INxWindow. This will "smarten" the CWidgetControl + * instance with some window knowlede + * 3) Call the open() method on the window to display the window. + * 4) After that, the fully smartened CWidgetControl instance can + * be used to generate additional widgets by passing it to the + * widget constructor + */ + + NXWidgets::CNxWindow *openRawWindow(void); + + /** + * Create a framed application window + * + * This may be used to provide the window parater to the IApplication constructor + * + * @return A partially initialized application window instance. + */ + + NXWidgets::CNxTkWindow *openFramedWindow(void); + + /** + * Set size and position of a window in the application area. + * + * @param window. The window to be resized and repositioned + */ + + void setApplicationGeometry(NXWidgets::INxWindow *window); + + /** + * Create the toolbar window. + * + * @return true on success + */ + + bool createToolbarWindow(void); + + /** + * Create the background window. + * + * @return true on success + */ + + bool createBackgroundWindow(void); + + + /** + * Handle a mouse button click event. + * + * @param e The event data. + */ + + void handleClickEvent(const NXWidgets::CWidgetEventArgs &e); + + /** + * CTaskbar Destructor + */ + + ~CTaskbar(void); + + public: + /** + * CTaskbar Constructor + * + * @param hWnd - NX server handle + */ + + CTaskbar(void); + + /** + * Start the window manager and present the initial displays. The window + * manager start-up sequence is: + * + * 1. Create the CTaskbar instance, + * 2. Call CTaskBar::startApplication repeatedly to add applications to the task bar + * 3. Call CTaskBar::startWindowManager to start the display with applications in place + * + * startWindowManager will present the taskar and the background image. The + * initial taskbar will contain only the start window icon. + */ + + bool startWindowManager(void); + + /** + * Create an application window. Creating a new application in the start + * window requires three steps: + * + * 1. Call CTaskBar::openApplicationWindow to create a window for the application, + * 2. Instantiate the application, providing the window to the application's + * constructor, + * 3. Then call CStartWindow::addApplication to add the application to the + * start window. + * + * When the application is selected from the start window: + * + * 4. Call CTaskBar::startApplication start the application and bring its window to + * the top. + */ + + CApplicationWindow *openApplicationWindow(void); + + /** + * Start an application and add its icon to the taskbar. The applications's + * window is brought to the top. Creating a new application in the start + * window requires three steps: + * + * 1. Call CTaskBar::openApplicationWindow to create a window for the application, + * 2. Instantiate the application, providing the window to the application's + * constructor, + * 3. Then call CStartWindow::addApplication to add the application to the start window. + * + * When the application is selected from the start window: + * + * 4. Call CTaskBar::startApplication start the application and bring its window to + * the top. + * + * @param app. The new application to add to the task bar + * @param minimized. The new application starts in the minimized state + * @return true on success + */ + + bool startApplication(IApplication *app, bool minimized); + + /** + * Hide an application by moving its window to the bottom. + * + * @param application. The new application to add to the task bar + * @return true on success + */ + + bool hideApplication(IApplication *application); + + /** + * Destroy an application. Move its window to the bottom and remove its + * icon from the task bar. + * + * @param application. The new application to remove from the task bar + * @return true on success + */ + + bool stopApplication(IApplication *application); + }; +} + +#endif // __cplusplus +#endif // __NXWM_INCLUDE_CTASKBAR_HXX diff --git a/NxWidgets/nxwm/include/iapplication.hxx b/NxWidgets/nxwm/include/iapplication.hxx new file mode 100644 index 000000000..1056e18c0 --- /dev/null +++ b/NxWidgets/nxwm/include/iapplication.hxx @@ -0,0 +1,109 @@ +/**************************************************************************** + * NxWidgets/nxwm/include/iapplication.hxx + * + * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors + * me 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. + * + ****************************************************************************/ + +#ifndef __INCLUDE_IAPPLICATION_NXX +#define __INCLUDE_IAPPLICATION_NXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include "cnxstring.hxx" +#include "ibitmap.hxx" +#include "capplicationwindow.hxx" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Abstract Base Classes + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NxWM +{ + /** + * IApplication provides the abstract base class for each NxWM application. + */ + + class IApplication + { + public: + /** + * Each implementation of IApplication must provide a method to recover + * the contained CApplicationWindow instance. + */ + + virtual CApplicationWindow *getWindow(void) const = 0; + + /** + * Get the icon associated with the application + * + * @return An instance if IBitmap that may be used to rend the + * application's icon. This is an new IBitmap instance that must + * be deleted by the caller when it is no long needed. + */ + + virtual NXWidgets::IBitmap *getIcon(void) = 0; + + /** + * Get the name string associated with the application + * + * @return A copy if CNxString that contains the name of the application. + */ + + virtual NXWidgets::CNxString getName(void) = 0; + + /** + * Start the application. + */ + + virtual void run(void) = 0; + + /** + * Stop the application. + */ + + virtual void stop(void) = 0; + }; +} + +#endif // __cplusplus + +#endif // __INCLUDE_IAPPLICATION_NXX diff --git a/NxWidgets/nxwm/include/inxapplication.hxx b/NxWidgets/nxwm/include/inxapplication.hxx deleted file mode 100644 index 70d4ac104..000000000 --- a/NxWidgets/nxwm/include/inxapplication.hxx +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * NxWidgets/nxwm/include/inxapplication.hxx - * - * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors - * me 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. - * - ****************************************************************************/ - -#ifndef __INCLUDE_INXAPPLICATION_NXX -#define __INCLUDE_INXAPPLICATION_NXX - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Abstract Base Classes - ****************************************************************************/ - -#if defined(__cplusplus) - -namespace NxWM -{ - class CApplicationWindow; - class NxWidget::CNxString; - - /** - * INxApplication provides the abstract base class for each NxWM application. - */ - - class INxApplication - { - public: - /** - * Each implementation of INxApplication must provide a method to recover - * the contained CApplicationWindow instance. - */ - - virtual CApplicationWindow *getWindow(void) const = 0; - - /** - * Get the icon associated with the application - * - * @return An instance if INxBitmap that may be used to rend the - * application's icon. This is an new INxBitmap instance that must - * be deleted by the caller when it is no long needed. - */ - - virtual NXWidgets::INxBitmap *getIcon(void) = 0; - - /** - * Get the name string associated with the application - * - * @return A copy if CNxString that contains the name of the application. - */ - - virtual NXWidgets::CNxString getName(void) = 0; - - /** - * Start the application. - */ - - virtual run(void) = 0; - - /** - * Stop the application. - */ - - virtual stop(void) = 0; - }; -} - -#endif // __cplusplus - -#endif // __INCLUDE_INXAPPLICATION_NXX diff --git a/NxWidgets/nxwm/include/nxwmconfig.hxx b/NxWidgets/nxwm/include/nxwmconfig.hxx index dc6c2acf2..178cc37a2 100644 --- a/NxWidgets/nxwm/include/nxwmconfig.hxx +++ b/NxWidgets/nxwm/include/nxwmconfig.hxx @@ -71,7 +71,7 @@ */ #ifndef CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR -# define CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR +# define CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR MKRGB(160,160,160) #endif /** @@ -79,7 +79,7 @@ */ #ifndef CONFIG_NXWM_DEFAULT_SELECTEDBACKGROUNDCOLOR -# define CONFIG_NXWM_DEFAULT_SELECTEDBACKGROUNDCOLOR CONFIG_NXWM_DEFAULT_SELECTEDBACKGROUNDCOLOR +# define CONFIG_NXWM_DEFAULT_SELECTEDBACKGROUNDCOLOR MKRGB(120,192,192) #endif /** @@ -127,18 +127,18 @@ #if defined(CONFIG_NXWM_TASKBAR_TOP) # if defined(CONFIG_NXWM_TASKBAR_BOTTOM) || defined (CONFIG_NXWM_TASKBAR_LEFT) || defined (CONFIG_NXWM_TASKBAR_RIGHT) -# warning "Multiple task positions specified" +# warning "Multiple task bar positions specified" # endif #elif defined(CONFIG_NXWM_TASKBAR_BOTTOM) # if defined (CONFIG_NXWM_TASKBAR_LEFT) || defined (CONFIG_NXWM_TASKBAR_RIGHT) -# warning "Multiple task positions specified" +# warning "Multiple task bar positions specified" # endif #elif defined(CONFIG_NXWM_TASKBAR_LEFT) # if defined defined (CONFIG_NXWM_TASKBAR_RIGHT) -# warning "Multiple task positions specified" +# warning "Multiple task bar positions specified" # endif #elif !defined(CONFIG_NXWM_TASKBAR_RIGHT) -# warning "No task positions specified" +# warning "No task bar position specified" # define CONFIG_NXWM_TASKBAR_TOP 1 #endif diff --git a/NxWidgets/nxwm/src/capplicationwindow.cxx b/NxWidgets/nxwm/src/capplicationwindow.cxx index a753cec3e..8fd578c1a 100644 --- a/NxWidgets/nxwm/src/capplicationwindow.cxx +++ b/NxWidgets/nxwm/src/capplicationwindow.cxx @@ -1,5 +1,5 @@ /******************************************************************************************** - * NxWidgets/nxwm/src/cnxtaskbar.cxx + * NxWidgets/nxwm/src/capplicationwindow.cxx * * Copyright (C) 2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/NxWidgets/nxwm/src/cnxconsole.cxx b/NxWidgets/nxwm/src/cnxconsole.cxx index d4e4b15c6..a127a8a5a 100644 --- a/NxWidgets/nxwm/src/cnxconsole.cxx +++ b/NxWidgets/nxwm/src/cnxconsole.cxx @@ -41,6 +41,7 @@ #include "nxwmconfig.hxx" #include "cnxconsole.hxx" +#include "nxwmglyphs.hxx" /******************************************************************************************** * Pre-Processor Definitions @@ -50,6 +51,8 @@ * CNxConsole Method Implementations ********************************************************************************************/ +using namespace NxWM; + /** * CNxConsole constructor * @@ -63,14 +66,14 @@ CNxConsole::CNxConsole(NXWidgets::INxWindow *window) /** * Get the icon associated with the application * - * @return An instance if INxBitmap that may be used to rend the - * application's icon. This is an new INxBitmap instance that must + * @return An instance if IBitmap that may be used to rend the + * application's icon. This is an new IBitmap instance that must * be deleted by the caller when it is no long needed. */ -NXWidgets::INxBitmap *CNxConsole::getIcon(void) +NXWidgets::IBitmap *CNxConsole::getIcon(void) { NXWidgets::CRlePaletteBitmap *bitmap = new NXWidgets::CRlePaletteBitmap(&g_nshBitmap); - return static_cast(bitmap); + return static_cast(bitmap); } diff --git a/NxWidgets/nxwm/src/cnxtaskbar.cxx b/NxWidgets/nxwm/src/cnxtaskbar.cxx deleted file mode 100644 index 6b93bc793..000000000 --- a/NxWidgets/nxwm/src/cnxtaskbar.cxx +++ /dev/null @@ -1,545 +0,0 @@ -/******************************************************************************************** - * NxWidgets/nxwm/src/cnxtaskbar.cxx - * - * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors - * me 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 "nxwmconfig.hxx" -#include "cnxconsole.hxx" - -/******************************************************************************************** - * Pre-Processor Definitions - ********************************************************************************************/ - -/******************************************************************************************** - * CNxConsole Method Implementations - ********************************************************************************************/ - -using namespace NxWM; - -/** - * CNxTaskBar Constructor - * - * @param hWnd - NX server handle - */ - -CNxTaskBar::CNxTaskBar(void) -{ - m_taskbar = (INxWindow *)NULL; - m_background = (INxWindow *)NULL; - m_start = (INxWindow *)NULL; -} - -/** - * CNxTaskBar Destructor - */ - -CNxTaskBar::~CNxTaskBar(void) -{ - disconnect(); -} -/** - * Add the application to the start window. The window manager start-up - * sequence is: - * - * 1. Create the CNxTaskBar instance, - * 2. Call addApplication repeatedly to add applications to the start window - * 3. Call startWindowManager to start the display - * - * @param application. The new application to add to the start window - * @return true on success - */ - -bool CNxTaskBar::addApplication(INxApplication *application) -{ -} - -/** - * Start the window manager and present the initial displays. The window - * manager start-up sequence is: - * - * 1. Create the CNxTaskBar instance, - * 2. Call addApplication repeatedly to add applications to the start window - * 3. Call startWindowManager to start the display - * - * startWindowManager will present the taskar and the background image. The - * initial taskbar will contain only the start window icon. - * - * @param application. The new application to add to the start window - * @return true on success - */ - -bool CNxTaskBar::startWindowManager(start); - -/** - * Create an application window. Creating a new applicatino in the start - * window requires three steps: - * - * 1. Call openApplicationWindow to create a window for the application, - * 2. Instantiate the application, providing the window to the application's - * constructor, - * 3. Then call addApplication to add the application to the start window. - * - * When the application is selected from the start window: - * - * 4. Call startApplication start the application and bring its window to - * the top. - */ - -CApplicationWindow *CNxTaskBar::openApplicationWindow(void); - -/** - * Start an application and add its icon to the taskbar. The applications's - * window is brought to the top. Creating a new applicatino in the start - * window requires three steps: - * - * 1. Call openApplicationWindow to create a window for the application, - * 2. Instantiate the application, providing the window to the application's - * constructor, - * 3. Then call addApplication to add the application to the start window. - * - * When the application is selected from the start window: - * - * 4. Call startApplication start the application and bring its window to - * the top. - * - * @param application. The new application to add to the task bar - * @return true on success - */ - -bool CNxTaskBar::startApplication(INxApplication *application) -{ -} - -/** - * Hide an application by moving its window to the bottom. - * - * @param application. The new application to add to the task bar - * @return true on success - */ - -bool CNxTaskBar::hideApplication(INxApplication *application) -{ -} - -/** - * Destroy an application. Move its window to the bottom and remove its - * icon from the task bar. - * - * @param application. The new application to remove from the task bar - * @return true on success - */ - -bool CNxTaskBar::stopApplication(INxApplication *application) -{ -} - -/** - * Connect to the server - */ - -bool CNxTaskBar::connect(void) -{ - // Connect to the server - - bool nxConnected = CNxServer::connect(); - if (nxConnected) - { - // Set the background color - - if (!setBackgroundColor(CONFIG_CNXWM_BGCOLOR)) - { - message("CNxwm::connect: setBackgroundColor failed\n"); - } - } - - return nxConnected; -} - -/** - * Disconnect from the server - */ - -void CNxTaskBar::disconnect(void) -{ - // Delete all applications -#warning "Missing logic - - // Close the windows - - NXWidgets::CWidgetControl *control; - if (m_taskbar) - { - // Delete the contained widget control. We are responsible for it - // because we created it - - control = m_taskbar->getWidgetControl(); - if (control) - { - delete control; - } - - // Then delete the toolbar - - delete m_taskbar; - } - - if (m_background) - { - // Delete the contained widget control. We are responsible for it - // because we created it - - control = m_background->getWidgetControl(); - if (control) - { - delete control; - } - - // Then delete the background - - delete m_background; - } - - if (m_start) - { - // Delete the contained widget control. We are responsible for it - // because we created it - - control = m_start->getWidgetControl(); - if (control) - { - delete control; - } - - // Then delete the start window - - delete m_start; - } - - // And disconnect from the server - - CNxServer::disconnect(); -} - -/** - * Create a raw window. - * - * 1) Create a dumb CWigetControl instance - * 2) Pass the dumb CWidgetControl instance to the window constructor - * that inherits from INxWindow. This will "smarten" the CWidgetControl - * instance with some window knowlede - * 3) Call the open() method on the window to display the window. - * 4) After that, the fully smartened CWidgetControl instance can - * be used to generate additional widgets by passing it to the - * widget constructor - */ - -NXWidgets::CNxWindow *CNxTaskBar::openRawWindow(void) -{ - // Initialize the widget control using the default style - - NXWidgets::CWidgetControl *widgetControl = new CWidgetControl((CWidgetStyle *)NULL); - - // Get an (uninitialized) instance of the background window as a class - // that derives from INxWindow. - - NXWidgets::CNxWindow window = createRawWindow(widgetControl); - if (!window) - { - message("CNxwm::createGraphics: Failed to create background window\n"); - delete widgetControl; - return false; - } - - // Open (and initialize) the window - - bool success = window->open(); - if (!success) - { - message("CNxwm::createGraphics: Failed to open background window\n"); - delete window; - window = (NXWidgets::INxWindow *)0; - return false; - } - - return window; -} - -/** - * Create a framed application window - * - * This may be used to provide the window parater to the INxApplication constructor - * - * @return A partially initialized application window instance. - */ - -NXWidgets::CNxTkWindow *CNxTaskBar::openFramedWindow(void) -{ - // Initialize the widget control using the default style - - NXWidgets::CWidgetControl *widgetControl = new CWidgetControl((CWidgetStyle *)NULL); - - // Get an (uninitialized) instance of the background window as a class - // that derives from INxWindow. - - NXWidgets:CNxTkWindow window = createRawWindow(widgetControl); - if (!window) - { - message("CNxwm::createGraphics: Failed to create background window\n"); - delete widgetControl; - return false; - } - - // Open (and initialize) the window - - bool success = window->open(); - if (!success) - { - message("CNxwm::createGraphics: Failed to open background window\n"); - delete window; - window = (NXWidgets::INxWindow *)0; - return false; - } - - return window; -} - -/** - * Set size and position of a window in the application area. - * - * @param window. The window to be resized and repositioned - * - * @return true on success - */ - -bool CNxTaskBar::setApplicationGeometry(NXWidgets::INxWindow *window) -{ - // Get the widget control from the toolbar window. The physical window geometry - // should be the same for all windows. - - NXWidgets::CWidgetControl *control = m_taskbar->getWidgetControl(); - - // Now position and size the application. This will depend on the position and - // orientation of the toolbar. - - nxgl_point_t pos; - nxgl_size_t size; - -#if defined(CONFIG_NXWM_TASKBAR_TOP) - pos.x = 0; - pos.y = CONFIG_NXWM_TASKBAR_WIDTH; - - size.w = rect.getWidth(); - size.h = rect.getWidth() - CONFIG_NXWM_TASKBAR_WIDTH; -#elif defined(CONFIG_NXWM_TASKBAR_BOTTOM) - pos.x = 0; - pos.y = 0; - - size.w = rect.getWidth(); - size.h = rect.getWidth() - CONFIG_NXWM_TASKBAR_WIDTH; -#elif defined(CONFIG_NXWM_TASKBAR_LEFT) - pos.x = CONFIG_NXWM_TASKBAR_WIDTH; - pos.y = 0; - - size.w = rect.getWidth() - CONFIG_NXWM_TASKBAR_WIDTH; - size.h = rect.getHeight(); -#else - pos.x = 0; - pos.y = 0; - - size.w = rect.getWidth() - CONFIG_NXWM_TASKBAR_WIDTH; - size.h = rect.getHeight(); -#endif - - /* Set the size and position the window. - * - * @param pPos The new position of the window. - * @return True on success, false on failure. - */ - - window->setPosition(&pos); - window->setSize(&size); -} - -/** - * Create the toolbar window. - * - * @return true on success - */ - -bool CNxTaskBar::createToolbarWindow(void) -{ - // Create a raw window to present the toolbar - - m_taskbar = openRawWindow(); - if (!m_taskbar) - { - message("CNxwm::createGraphics: Failed to create CBgWindow instance\n"); - return false; - } - - // Get the contained widget control - - NXWidgets::CWidgetControl *control = m_taskbar->getWidgetControl(); - - // Get the size of the window from the widget control - - CRect rect = control->getWindowBoundingBox(); - - // Now position and size the toolbar. This will depend on the position and - // orientation of the toolbar. - - nxgl_point_t pos; - nxgl_size_t size; - -#if defined(CONFIG_NXWM_TASKBAR_TOP) - pos.x = 0; - pos.y = 0; - - size.w = rect.getWidth(); - size.h = CONFIG_NXWM_TASKBAR_WIDTH; -#elif defined(CONFIG_NXWM_TASKBAR_BOTTOM) - pos.x = 0; - pos.y = rect.getHeight() - CONFIG_NXWM_TASKBAR_WIDTH; - - size.w = rect.getWidth(); - size.h = CONFIG_NXWM_TASKBAR_WIDTH; -#elif defined(CONFIG_NXWM_TASKBAR_LEFT) - pos.x = 0; - pos.y = 0; - - size.w = CONFIG_NXWM_TASKBAR_WIDTH; - size.h = rect.getHeight(); -#else - pos.x = rect.getWidgth() - CONFIG_NXWM_TASKBAR_WIDTH; - pos.y = 0; - - size.w = CONFIG_NXWM_TASKBAR_WIDTH; - size.h = rect.getHeight(); -#endif - - /* Set the size and position the window. - * - * @param pPos The new position of the window. - * @return True on success, false on failure. - */ - - m_taskbar->setPosition(&pos); - m_taskbar->setSize(&size); - - /* And raise the window to the top of the display */ - - m_taskbar->raise(void); - - // Add the start menu's icon to the toolbar -#warning "Missing logic" - return true; -} - -/** - * Create the background window. - * - * @return true on success - */ - -bool CNxTaskBar::createBackgroundWindow(void) -{ - // Create a raw window to present the background image - - m_background = openRawWindow(); - if (!m_background) - { - message("CNxwm::createGraphics: Failed to create background window\n"); - return false; - } - - // Set the geometry to fit in the application window space - - setApplicationGeometry(static_cast(m_background)); - - /* And lower the background window to the bottom of the display */ - - m_background->lower(void); - - return true; -} - -/** - * Create the start window. - * - * @return true on success - */ - -bool CNxTaskBar::createStartWindow(void) -{ - // Create a raw window to present the background image - - m_start = openFramedWindow(); - if (!m_start) - { - message("CNxwm::createGraphics: Failed to create start window\n"); - return false; - } - - // Set the geometry to fit in the application window space - - setApplicationGeometry(static_cast(m_start)); - - /* And lower the background window to the top of the display */ - - m_start->raise(void); - - // Now create the start up application -#warning "Missing logic" - - // m_start - return true; -} - -/** - * Handle a mouse button click event. - * - * @param e The event data. - */ - -void CNxApplicationWindow::handleClickEvent(const NXWidgets::CWidgetEventArgs &e) -{ -#warning "Missing logic" -} - - diff --git a/NxWidgets/nxwm/src/ctaskbar.cxx b/NxWidgets/nxwm/src/ctaskbar.cxx new file mode 100644 index 000000000..407396ee5 --- /dev/null +++ b/NxWidgets/nxwm/src/ctaskbar.cxx @@ -0,0 +1,519 @@ +/******************************************************************************************** + * NxWidgets/nxwm/src/ctaskbar.cxx + * + * Copyright (C) 2012 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, NxWidgets, nor the names of its contributors + * me 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 "crect.hxx" +#include "cwidgetcontrol.hxx" +#include "cnxtkwindow.hxx" + +#include "nxwmconfig.hxx" +#include "ctaskbar.hxx" + +/******************************************************************************************** + * Pre-Processor Definitions + ********************************************************************************************/ + +/******************************************************************************************** + * CNxConsole Method Implementations + ********************************************************************************************/ + +using namespace NxWM; + +/** + * CTaskbar Constructor + * + * @param hWnd - NX server handle + */ + +CTaskbar::CTaskbar(void) +{ + m_taskbar = (NXWidgets::INxWindow *)0; + m_background = (NXWidgets::INxWindow *)0; +} + +/** + * CTaskbar Destructor + */ + +CTaskbar::~CTaskbar(void) +{ + disconnect(); +} + +/** + * Start the window manager and present the initial displays. The window + * manager start-up sequence is: + * + * 1. Create the CTaskbar instance, + * 2. Call startApplication repeatedly to add applications to the task bar + * 3. Call startWindowManager to start the display with applications in place + * + * startWindowManager will present the taskar and the background image. The + * initial taskbar will contain only the start window icon. + * + * @param application. The new application to add to the start window + * @return true on success + */ + +bool CTaskbar::startWindowManager(void) +{ +#warning "Missing logic" + return false; +} + +/** + * Create an application window. Creating a new application in the start + * window requires three steps: + * + * 1. Call openApplicationWindow to create a window for the application, + * 2. Instantiate the application, providing the window to the application's + * constructor, + * 3. Then call addApplication to add the application to the start window. + * + * When the application is selected from the start window: + * + * 4. Call startApplication start the application and bring its window to + * the top. + */ + +CApplicationWindow *CTaskbar::openApplicationWindow(void) +{ +#warning "Missing logic" + return (CApplicationWindow *)0; +} + +/** + * Start an application and add its icon to the taskbar. The applications's + * window is brought to the top. Creating a new applicatino in the start + * window requires three steps: + * + * 1. Create the CTaskbar instance, + * 2. Call startApplication repeatedly to add applications to the task bar + * 3. Call startWindowManager to start the display with applications in place + * + * When the application is selected from the start window: + * + * 4. Call startApplication start the application and bring its window to + * the top. + * + * @param app. The new application to add to the task bar + * @param minimized. The new application starts in the minimized state + * @return true on success + */ + +bool CTaskbar::startApplication(IApplication *app, bool minimized) +{ +#warning "Missing logic" + return false; +} + +/** + * Hide an application by moving its window to the bottom. + * + * @param application. The new application to add to the task bar + * @return true on success + */ + +bool CTaskbar::hideApplication(IApplication *application) +{ + // Every application provides a method to obtain its applicatin window + + CApplicationWindow *appWindow = application->getWindow(); + + // Each application window provides a method to get the underlying NX window + + NXWidgets::CNxTkWindow *window = appWindow->getWindow(); + + // Lower the window + + window->lower(); + + // Grey out the image in task bar +#warning "Missing logic" + return true; +} + +/** + * Destroy an application. Move its window to the bottom and remove its + * icon from the task bar. + * + * @param application. The new application to remove from the task bar + * @return true on success + */ + +bool CTaskbar::stopApplication(IApplication *application) +{ +#warning "Missing logic" + return false; +} + +/** + * Connect to the server + */ + +bool CTaskbar::connect(void) +{ + // Connect to the server + + bool nxConnected = CNxServer::connect(); + if (nxConnected) + { + // Set the background color + + if (!setBackgroundColor(CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR)) + { + // Failed + } + } + + return nxConnected; +} + +/** + * Disconnect from the server + */ + +void CTaskbar::disconnect(void) +{ + // Stop all applications and remove them from the task bar. Clearly, there + // are some ordering issues here... On an orderly system shutdown, disconnection + // should really occur priority to deleting instances + + while (!m_applications.empty()) + { + IApplication *app = m_applications.at(0); + stopApplication(app); + } + + // Close the windows + + NXWidgets::CWidgetControl *control; + if (m_taskbar) + { + // Delete the contained widget control. We are responsible for it + // because we created it + + control = m_taskbar->getWidgetControl(); + if (control) + { + delete control; + } + + // Then delete the toolbar + + delete m_taskbar; + } + + if (m_background) + { + // Delete the contained widget control. We are responsible for it + // because we created it + + control = m_background->getWidgetControl(); + if (control) + { + delete control; + } + + // Then delete the background + + delete m_background; + } + + // And disconnect from the server + + CNxServer::disconnect(); +} + +/** + * Create a raw window. + * + * 1) Create a dumb CWigetControl instance + * 2) Pass the dumb CWidgetControl instance to the window constructor + * that inherits from INxWindow. This will "smarten" the CWidgetControl + * instance with some window knowlede + * 3) Call the open() method on the window to display the window. + * 4) After that, the fully smartened CWidgetControl instance can + * be used to generate additional widgets by passing it to the + * widget constructor + */ + +NXWidgets::CNxWindow *CTaskbar::openRawWindow(void) +{ + // Initialize the widget control using the default style + + NXWidgets::CWidgetControl *widgetControl = new NXWidgets::CWidgetControl((NXWidgets::CWidgetStyle *)NULL); + + // Get an (uninitialized) instance of the background window as a class + // that derives from INxWindow. + + NXWidgets::CNxWindow *window = createRawWindow(widgetControl); + if (!window) + { + delete widgetControl; + return false; + } + + // Open (and initialize) the window + + bool success = window->open(); + if (!success) + { + delete window; + window = (NXWidgets::CNxWindow *)0; + return false; + } + + return window; +} + +/** + * Create a framed application window + * + * This may be used to provide the window parater to the IApplication constructor + * + * @return A partially initialized application window instance. + */ + +NXWidgets::CNxTkWindow *CTaskbar::openFramedWindow(void) +{ + // Initialize the widget control using the default style + + NXWidgets::CWidgetControl *widgetControl = new NXWidgets::CWidgetControl((NXWidgets::CWidgetStyle *)NULL); + + // Get an (uninitialized) instance of the background window as a class + // that derives from INxWindow. + + NXWidgets::CNxTkWindow *window = createFramedWindow(widgetControl); + if (!window) + { + delete widgetControl; + return false; + } + + // Open (and initialize) the window + + bool success = window->open(); + if (!success) + { + delete window; + window = (NXWidgets::CNxTkWindow *)0; + return false; + } + + return window; +} + +/** + * Set size and position of a window in the application area. + * + * @param window. The window to be resized and repositioned + * + * @return true on success + */ + +void CTaskbar::setApplicationGeometry(NXWidgets::INxWindow *window) +{ + // Get the widget control from the toolbar window. The physical window geometry + // should be the same for all windows. + + NXWidgets::CWidgetControl *control = m_taskbar->getWidgetControl(); + + // Get the size of the window from the widget control + + NXWidgets::CRect rect = control->getWindowBoundingBox(); + + // Now position and size the application. This will depend on the position and + // orientation of the toolbar. + + struct nxgl_point_s pos; + struct nxgl_size_s size; + +#if defined(CONFIG_NXWM_TASKBAR_TOP) + pos.x = 0; + pos.y = CONFIG_NXWM_TASKBAR_WIDTH; + + size.w = rect.getWidth(); + size.h = rect.getWidth() - CONFIG_NXWM_TASKBAR_WIDTH; +#elif defined(CONFIG_NXWM_TASKBAR_BOTTOM) + pos.x = 0; + pos.y = 0; + + size.w = rect.getWidth(); + size.h = rect.getWidth() - CONFIG_NXWM_TASKBAR_WIDTH; +#elif defined(CONFIG_NXWM_TASKBAR_LEFT) + pos.x = CONFIG_NXWM_TASKBAR_WIDTH; + pos.y = 0; + + size.w = rect.getWidth() - CONFIG_NXWM_TASKBAR_WIDTH; + size.h = rect.getHeight(); +#else + pos.x = 0; + pos.y = 0; + + size.w = rect.getWidth() - CONFIG_NXWM_TASKBAR_WIDTH; + size.h = rect.getHeight(); +#endif + + /* Set the size and position the window. + * + * @param pPos The new position of the window. + * @return True on success, false on failure. + */ + + window->setPosition(&pos); + window->setSize(&size); +} + +/** + * Create the toolbar window. + * + * @return true on success + */ + +bool CTaskbar::createToolbarWindow(void) +{ + // Create a raw window to present the toolbar + + m_taskbar = openRawWindow(); + if (!m_taskbar) + { + return false; + } + + // Get the contained widget control + + NXWidgets::CWidgetControl *control = m_taskbar->getWidgetControl(); + + // Get the size of the window from the widget control + + NXWidgets::CRect rect = control->getWindowBoundingBox(); + + // Now position and size the toolbar. This will depend on the position and + // orientation of the toolbar. + + struct nxgl_point_s pos; + struct nxgl_size_s size; + +#if defined(CONFIG_NXWM_TASKBAR_TOP) + pos.x = 0; + pos.y = 0; + + size.w = rect.getWidth(); + size.h = CONFIG_NXWM_TASKBAR_WIDTH; +#elif defined(CONFIG_NXWM_TASKBAR_BOTTOM) + pos.x = 0; + pos.y = rect.getHeight() - CONFIG_NXWM_TASKBAR_WIDTH; + + size.w = rect.getWidth(); + size.h = CONFIG_NXWM_TASKBAR_WIDTH; +#elif defined(CONFIG_NXWM_TASKBAR_LEFT) + pos.x = 0; + pos.y = 0; + + size.w = CONFIG_NXWM_TASKBAR_WIDTH; + size.h = rect.getHeight(); +#else + pos.x = rect.getWidgth() - CONFIG_NXWM_TASKBAR_WIDTH; + pos.y = 0; + + size.w = CONFIG_NXWM_TASKBAR_WIDTH; + size.h = rect.getHeight(); +#endif + + /* Set the size and position the window. + * + * @param pPos The new position of the window. + * @return True on success, false on failure. + */ + + m_taskbar->setPosition(&pos); + m_taskbar->setSize(&size); + + /* And raise the window to the top of the display */ + + m_taskbar->raise(); + + // Add the start menu's icon to the toolbar +#warning "Missing logic" + return true; +} + +/** + * Create the background window. + * + * @return true on success + */ + +bool CTaskbar::createBackgroundWindow(void) +{ + // Create a raw window to present the background image + + m_background = openRawWindow(); + if (!m_background) + { + return false; + } + + // Set the geometry to fit in the application window space + + setApplicationGeometry(static_cast(m_background)); + + /* And lower the background window to the bottom of the display */ + + m_background->lower(); + + return true; +} + +/** + * Handle a mouse button click event. + * + * @param e The event data. + */ + +void CTaskbar::handleClickEvent(const NXWidgets::CWidgetEventArgs &e) +{ +#warning "Missing logic" +} + + diff --git a/NxWidgets/nxwm/src/glyph_minimize.cxx b/NxWidgets/nxwm/src/glyph_minimize.cxx index 25521ee35..8c4228279 100644 --- a/NxWidgets/nxwm/src/glyph_minimize.cxx +++ b/NxWidgets/nxwm/src/glyph_minimize.cxx @@ -49,7 +49,7 @@ #include "nxconfig.hxx" #include "crlepalettebitmap.hxx" -#include "glyphs.hxx" +#include "nxwmglyphs.hxx" /******************************************************************************************** * Pre-Processor Definitions @@ -121,7 +121,7 @@ static const nxgl_mxpixel_t g_minimizeLut[BITMAP_NLUTCODES] = # error "Unsupport pixel format" #endif -static const struct SRlePaletteBitmapEntry g_minimizeRleEntries[] = +static const struct NXWidgets::SRlePaletteBitmapEntry g_minimizeRleEntries[] = { { 25, 0}, /* Row 0 */ { 25, 0}, /* Row 1 */ @@ -170,7 +170,7 @@ static const struct SRlePaletteBitmapEntry g_minimizeRleEntries[] = * Public Bitmap Structure Defintions ********************************************************************************************/ -const struct SRlePaletteBitmap NXWidgets::g_minimizeBitmap = +const struct NXWidgets::SRlePaletteBitmap g_minimizeBitmap = { CONFIG_NXWIDGETS_BPP, // bpp - Bits per pixel CONFIG_NXWIDGETS_FMT, // fmt - Color format diff --git a/NxWidgets/nxwm/src/glyph_nsh.cxx b/NxWidgets/nxwm/src/glyph_nsh.cxx index 54a91b581..8e9b0746d 100755 --- a/NxWidgets/nxwm/src/glyph_nsh.cxx +++ b/NxWidgets/nxwm/src/glyph_nsh.cxx @@ -49,7 +49,8 @@ #include "nxconfig.hxx" #include "crlepalettebitmap.hxx" -#include "glyphs.hxx" + +#include "nxwmglyphs.hxx" /******************************************************************************************** * Pre-Processor Definitions @@ -125,7 +126,7 @@ static const nxgl_mxpixel_t g_nshLut[BITMAP_NLUTCODES] = # error "Unsupport pixel format" #endif -static const struct SRlePaletteBitmapEntry g_nshRleEntries[] = +static const struct NXWidgets::SRlePaletteBitmapEntry g_nshRleEntries[] = { { 11, 0}, { 1, 1}, { 1, 2}, { 1, 1}, { 11, 0}, /* Row 0 */ { 11, 0}, { 3, 3}, { 11, 0}, /* Row 1 */ @@ -195,7 +196,7 @@ static const struct SRlePaletteBitmapEntry g_nshRleEntries[] = * Public Bitmap Structure Defintions ********************************************************************************************/ -const struct SRlePaletteBitmap NXWidgets::g_nshBitmap = +const struct NXWidgets::SRlePaletteBitmap g_nshBitmap = { CONFIG_NXWIDGETS_BPP, // bpp - Bits per pixel CONFIG_NXWIDGETS_FMT, // fmt - Color format diff --git a/NxWidgets/nxwm/src/glyph_start.cxx b/NxWidgets/nxwm/src/glyph_start.cxx index 95a22e611..a81d6b19f 100755 --- a/NxWidgets/nxwm/src/glyph_start.cxx +++ b/NxWidgets/nxwm/src/glyph_start.cxx @@ -49,7 +49,8 @@ #include "nxconfig.hxx" #include "crlepalettebitmap.hxx" -#include "glyphs.hxx" + +#include "nxwmglyphs.hxx" /******************************************************************************************** * Pre-Processor Definitions @@ -125,7 +126,7 @@ static const nxgl_mxpixel_t g_startLut[BITMAP_NLUTCODES] = # error "Unsupport pixel format" #endif -static const struct SRlePaletteBitmapEntry g_startRleEntries[] = +static const struct NXWidgets::SRlePaletteBitmapEntry g_startRleEntries[] = { { 7, 0}, { 1, 1}, { 3, 2}, { 1, 3}, { 4, 2}, { 1, 4}, { 1, 5}, { 7, 0}, /* Row 0 */ { 5, 0}, { 1, 6}, { 2, 7}, { 1, 8}, { 1, 9}, { 2, 1}, { 1, 10}, { 2, 9}, /* Row 1 */ @@ -196,7 +197,7 @@ static const struct SRlePaletteBitmapEntry g_startRleEntries[] = * Public Bitmap Structure Defintions ********************************************************************************************/ -const struct SRlePaletteBitmap NXWidgets::g_startBitmap = +const struct NXWidgets::SRlePaletteBitmap g_startBitmap = { CONFIG_NXWIDGETS_BPP, // bpp - Bits per pixel CONFIG_NXWIDGETS_FMT, // fmt - Color format diff --git a/NxWidgets/nxwm/src/glyph_stop.cxx b/NxWidgets/nxwm/src/glyph_stop.cxx index 3e1568b98..5c4c5477e 100755 --- a/NxWidgets/nxwm/src/glyph_stop.cxx +++ b/NxWidgets/nxwm/src/glyph_stop.cxx @@ -49,7 +49,8 @@ #include "nxconfig.hxx" #include "crlepalettebitmap.hxx" -#include "glyphs.hxx" + +#include "nxwmglyphs.hxx" /******************************************************************************************** * Pre-Processor Definitions @@ -136,7 +137,7 @@ static const nxgl_mxpixel_t g_stopLut[BITMAP_NLUTCODES] = # error "Unsupport pixel format" #endif -static const struct SRlePaletteBitmapEntry g_stopRleEntries[] = +static const struct NXWidgets::SRlePaletteBitmapEntry g_stopRleEntries[] = { { 25, 0}, /* Row 0 */ { 25, 0}, /* Row 1 */ @@ -208,7 +209,7 @@ static const struct SRlePaletteBitmapEntry g_stopRleEntries[] = * Public Bitmap Structure Defintions ********************************************************************************************/ -const struct SRlePaletteBitmap NXWidgets::g_stopBitmap = +const struct NXWidgets::SRlePaletteBitmap g_stopBitmap = { CONFIG_NXWIDGETS_BPP, // bpp - Bits per pixel CONFIG_NXWIDGETS_FMT, // fmt - Color format -- cgit v1.2.3