diff options
Diffstat (limited to 'NxWidgets/libnxwidgets/include')
-rw-r--r-- | NxWidgets/libnxwidgets/include/cnxwidget.hxx | 190 | ||||
-rw-r--r-- | NxWidgets/libnxwidgets/include/crectcache.hxx | 222 | ||||
-rw-r--r-- | NxWidgets/libnxwidgets/include/cwidgetcontrol.hxx | 8 | ||||
-rw-r--r-- | NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx | 16 | ||||
-rw-r--r-- | NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx | 12 |
5 files changed, 1 insertions, 447 deletions
diff --git a/NxWidgets/libnxwidgets/include/cnxwidget.hxx b/NxWidgets/libnxwidgets/include/cnxwidget.hxx index ab44b9d42..d29830c0a 100644 --- a/NxWidgets/libnxwidgets/include/cnxwidget.hxx +++ b/NxWidgets/libnxwidgets/include/cnxwidget.hxx @@ -111,7 +111,6 @@ namespace NXWidgets class CWidgetControl; class CGraphicsPort; class CNxFont; - class CRectCache; class CWidgetEventHandlerList; /** @@ -206,9 +205,8 @@ namespace NXWidgets CNxWidget *m_focusedChild; /**< Pointer to the child widget that has focus. */ TNxArray<CNxWidget*> m_children; /**< List of child widgets. */ - // Visible regions + // Borders - CRectCache *m_rectCache; /**< List of the widget's visible regions. */ WidgetBorderSize m_borderSize; /**< Size of the widget borders. */ /** @@ -238,18 +236,6 @@ namespace NXWidgets virtual void drawBorder(CGraphicsPort* port) { } /** - * Checks if the supplied coordinates collide with a portion of this widget - * that is not obscured by its siblings, but that may be obscured by - * its children. - * - * @param x X coordinate of the click. - * @param y Y coordinate of the click. - * @return True if a collision occurred; false if not. - */ - - bool checkCollisionWithForegroundRects(nxgl_coord_t x, nxgl_coord_t y) const; - - /** * Draw all visible regions of this widget's children. */ @@ -266,34 +252,6 @@ namespace NXWidgets void closeChild(CNxWidget *widget); /** - * Redraws all regions of child widgets that fall within the invalidRects - * regions. - * - * @param invalidRects List of invalid regions that need to be redrawn. - * @param sender Pointer to the widget that initiated the redraw. - */ - - void redrawDirtyChildren(TNxArray<CRect>* invalidRects, CNxWidget *sender); - - /** - * Get the index of the next visible widget higher up the z-order. - * - * @param startIndex The starting index. - * @return The index of the next highest visible widget. - */ - - const int getHigherVisibleWidget(const int startIndex) const; - - /** - * Get the index of the next visible widget lower down the z-order. - * - * @param startIndex The starting index. - * @return The index of the next lowest visible widget. - */ - - const int getLowerVisibleWidget(const int startIndex) const; - - /** * Notify this widget that it is being dragged, and set its drag point. * * @param x The x coordinate of the drag position relative to this widget. @@ -749,24 +707,6 @@ namespace NXWidgets void getRect(CRect &rect) const; /** - * Clips the supplied rect to the boundaries defined by this widget and - * this widget's parents. - * - * @param rect Reference to a rect to populate with data. - */ - - void getRectClippedToHierarchy(CRect &rect) const; - - /** - * Gets a pointer to the vector of all of the visible regions of this widget, - * including any covered by children. - * - * @return A pointer to a vector of all visible regions. - */ - - TNxArray<CRect> *getForegroundRegions(void); - - /** * Gets a pointer to the widget's font. * * @return A pointer to the widget's font. @@ -1062,13 +1002,6 @@ namespace NXWidgets void redraw(void); /** - * Erases the visible regions of the widget by redrawing the widgets - * behind it. - */ - - void erase(void); - - /** * Enables the widget. * * @return True if the widget was enabled. @@ -1247,42 +1180,6 @@ namespace NXWidgets nxgl_coord_t width, nxgl_coord_t height); /** - * Raises the widget to the top of its parent's widget stack. - * - * @return True if the raise was successful. - */ - - bool raiseToTop(void); - - /** - * Lowers the widget to the bottom of its parent's widget stack. - * - * @return True if the lower was successful. - */ - - bool lowerToBottom(void); - - /** - * Raises the supplied widget to the top of this widget's child stack. - * The supplied widget pointer must be a child of this widget. - * - * @param widget A pointer to the child widget to raise. - * @return True if the raise was successful. - */ - - bool raiseWidgetToTop(CNxWidget *widget); - - /** - * Lowers the supplied widget to the bottom of this widget's child stack. - * The supplied widget pointer must be a child of this widget. - * - * @param widget A pointer to the child widget to lower. - * @return True if the lower was successful. - */ - - bool lowerWidgetToBottom(CNxWidget *widget); - - /** * Moves the supplied child widget to the deletion queue. * For framework use only. * @@ -1334,16 +1231,6 @@ namespace NXWidgets bool checkCollision(CNxWidget *widget) const; /** - * Invalidate the visible region cache for all widgets below the supplied - * widget in this widget's child stack. This will cause those widgets to - * - * recalculate their visible regions next time they try to draw themselves. - * @param widget A pointer to a child widget. - */ - - void invalidateLowerWidgetsVisibleRectCache(CNxWidget *widget); - - /** * Adds a widget to this widget's child stack. The widget is added to the * top of the stack. Note that the widget can only be added if it is not * already a child of another widget. @@ -1378,61 +1265,6 @@ namespace NXWidgets } /** - * Rebuild the list of this widget's visible regions - */ - - void cacheVisibleRects(void) const; - - /** - * Mark this widget's visible region cache as invalid, and do the same - * to its child widgets. - */ - - void invalidateVisibleRectCache(void); - - /** - * Erase a child widget by drawing the widgets behind it. - * - * @param widget The child widget to erase. - */ - - void eraseWidget(CNxWidget *widget); - - /** - * Redraw any visible regions of this widget that have become corrupted. - * - * @param invalidRects A list of corrupt regions. - * @param sender A pointer to the widget that corrupted the regions. - */ - - void redrawDirty(TNxArray<CRect>* invalidRects, CNxWidget *sender); - - /** - * Clips a rectangular region to the dimensions of this widget and its ancestors. - * - * @param rect The region that needs to be clipped. - */ - - void clipRectToHierarchy(CRect &rect) const; - - /** - * Swaps the depth of the supplied child widget. - * - * @param widget A pointer to the child widget that needs to swap depths. - * @return True if the swap was successful. - */ - - virtual bool swapWidgetDepth(CNxWidget *widget); - - /** - * Swap the depth of this widget. - * - * @return True if the swap was successful. - */ - - bool swapDepth(void); - - /** * Delete this widget. This should never be called in user code; widget * deletion is handled internally. */ @@ -1481,15 +1313,6 @@ namespace NXWidgets } /** - * Get the index of the specified child widget. - * - * @param widget The widget to get the index of. - * @return The index of the widget. -1 if the widget is not found. - */ - - const int getWidgetIndex(const CNxWidget *widget) const; - - /** * Get the child widget at the specified index. * * @param index Index of the child to retrieve. @@ -1510,17 +1333,6 @@ namespace NXWidgets } /** - * Get a pointer to the cache of visible rects. - * - * @return A pointer to the cache of visible rects. - */ - - inline CRectCache *getCRectCache(void) const - { - return m_rectCache; - } - - /** * Sets the border size. The border cannot be drawn over in the * drawContents() method. * diff --git a/NxWidgets/libnxwidgets/include/crectcache.hxx b/NxWidgets/libnxwidgets/include/crectcache.hxx deleted file mode 100644 index f38c2313b..000000000 --- a/NxWidgets/libnxwidgets/include/crectcache.hxx +++ /dev/null @@ -1,222 +0,0 @@ -/****************************************************************************
- * NxWidgets/libnxwidgets/include/crectcache.hxx
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * 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.
- *
- ****************************************************************************
- *
- * Portions of this package derive from Woopsi (http://woopsi.org/) and
- * portions are original efforts. It is difficult to determine at this
- * point what parts are original efforts and which parts derive from Woopsi.
- * However, in any event, the work of Antony Dzeryn will be acknowledged
- * in most NxWidget files. Thanks Antony!
- *
- * Copyright (c) 2007-2011, Antony Dzeryn
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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.
- * * Neither the names "Woopsi", "Simian Zombie" 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 Antony Dzeryn ``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 Antony Dzeryn 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_CRECTCACHE_HXX
-#define __INCLUDE_CRECTCACHE_HXX
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include <nuttx/nx/nxglib.h>
-
-#include "cnxwidget.hxx"
-#include "cwidgetstyle.hxx"
-#include "tnxarray.hxx"
-
-/****************************************************************************
- * Pre-Processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Implementation Classes
- ****************************************************************************/
-
-#if defined(__cplusplus)
-
-namespace NXWidgets
-{
- /**
- * Maintains a list of foreground (ie. above children) and background (with
- * child overlapped-rects removed) rectangles representing the visible portions
- * of a widget.
- */
-
- class CRectCache
- {
- private:
- TNxArray<CRect> m_foregroundRegions; /**< List of the widget's visible regions */
- TNxArray<CRect> m_backgroundRegions; /**< List of the widget's visible regions with child rects removed */
- const CNxWidget *m_widget; /**< Owning widget */
- bool m_foregroundInvalid; /**< True if the foreground cache needs refreshing */
- bool m_backgroundInvalid; /**< True if the background cache needs refreshing */
-
- /**
- * Cache the foreground regions.
- */
-
- void cacheForegroundRegions(void);
-
- /**
- * Cache the background regions.
- */
-
- void cacheBackgroundRegions(void);
-
- public:
-
- /**
- * Constructor.
- *
- * @param widget Widget that contains the rect cache.
- */
-
- CRectCache(const CNxWidget *widget);
-
- /**
- * Destructor.
- */
-
- inline ~CRectCache() { }
-
- /**
- * Rebuild the cache if it is invalid.
- */
-
- void cache(void);
-
- /**
- * Invalidates the cache.
- */
-
- inline void invalidate(void)
- {
- m_foregroundInvalid = true;
- m_backgroundInvalid = true;
- };
-
- /**
- * Return the list of background regions. These are regions that are not overlapped by
- * child widgets.
- *
- * @return The list of background regions.
- */
-
- inline TNxArray<CRect> *getBackgroundRegions(void)
- {
- return &m_backgroundRegions;
- }
-
- /**
- * Return the list of foreground regions. These are regions that represent the entire
- * visible surface of the widget - that is, any regions not overlapped by ancestors or
- * sublings of the widget - including any regions that are actually overlapped by
- * child widgets.
- *
- * @return The list of foreground regions.
- */
-
- inline TNxArray<CRect> *getForegroundRegions(void)
- {
- return &m_foregroundRegions;
- }
-
- /**
- * Works out which rectangles in the invalidRects list overlap this
- * widget, then cuts the rectangles into smaller pieces. The overlapping
- * pieces are pushed into validRects, and the non-overlapping pieces are
- * pushed back into the invalidRects vector.
- *
- * @param invalidRects A vector of regions that need to be tested
- * for collisions against this widget; they represent regions that need
- * to be redrawn.
- * @param validRects A vector of regions that represents areas of the
- * display that do not need to be redrawn.
- * @param sender Pointer to the widget that initiated the split.
- */
-
- void splitRectangles(TNxArray<CRect> *invalidRects,
- TNxArray<CRect> *validRects,
- FAR const CNxWidget *sender) const;
-
- /**
- * Move any rectangles from the visibleRects list that overlap this widget
- * into the invisibleRects list. Used during visible region calculations.
- *
- * @param visibleRects A vector of regions that are not overlapped.
- * @param invisibleRects A vector of regions that are overlapped.
- * @param widget The widget that requested the lists.
- * @see splitRectangles()
- */
-
- void removeOverlappedRects(TNxArray<CRect> *visibleRects,
- TNxArray<CRect> *invisibleRects,
- FAR const CNxWidget* widget) const;
- };
-}
-
-#endif // __cplusplus
-
-#endif // __INCLUDE_CRECTCACHE_HXX
-
diff --git a/NxWidgets/libnxwidgets/include/cwidgetcontrol.hxx b/NxWidgets/libnxwidgets/include/cwidgetcontrol.hxx index db7cb06b6..aedec610e 100644 --- a/NxWidgets/libnxwidgets/include/cwidgetcontrol.hxx +++ b/NxWidgets/libnxwidgets/include/cwidgetcontrol.hxx @@ -392,14 +392,6 @@ namespace NXWidgets bool swapWidgetDepth(CNxWidget *widget); /** - * Redraws any dirty regions within the supplied region. - * - * @param rect The region to redraw - */ - - void eraseRect(CRect rect); - - /** * Add another widget to be managed by this control instance * * @param widget The widget to be controlled. diff --git a/NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx b/NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx index d9f39ddf9..d176d8822 100644 --- a/NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx +++ b/NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx @@ -276,22 +276,6 @@ namespace NXWidgets */ virtual void handleActionEvent(const CWidgetEventArgs &e) { } - - /** - * Handle a widget move forward event. - * - * @param e The event data. - */ - - virtual void handleMoveForwardEvent(const CWidgetEventArgs &e) { } - - /** - * Handle a widget move backward event. - * - * @param e The event data. - */ - - virtual void handleMoveBackwardEvent(const CWidgetEventArgs &e) { } }; } diff --git a/NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx b/NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx index ae9e17847..8c9ef6738 100644 --- a/NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx +++ b/NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx @@ -248,18 +248,6 @@ namespace NXWidgets void raiseDropEvent(nxgl_coord_t x, nxgl_coord_t y); /** - * Raise a move forward event to the event handler. - */ - - void raiseMoveForwardEvent(void); - - /** - * Raise a move backward event to the event handler. - */ - - void raiseMoveBackwardEvent(void); - - /** * Raise a key press event to the event handler. * * @param key The character code of the key that caused the event. |