diff options
author | Sebastian Geerken <devnull@localhost> | 2014-10-23 22:36:11 +0200 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2014-10-23 22:36:11 +0200 |
commit | 607814bdead6d72fb6825a5502e625a216114a1c (patch) | |
tree | 0e3cfd012c1d9d3000a77e8ccaaecdd754938705 /dw/stackingcontextmgr.cc | |
parent | 80898e60379898a69a09fa2bbfec02ae95c28ffd (diff) |
Changed signature of Widget::draw and friends.
Diffstat (limited to 'dw/stackingcontextmgr.cc')
-rw-r--r-- | dw/stackingcontextmgr.cc | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/dw/stackingcontextmgr.cc b/dw/stackingcontextmgr.cc index 70b4dd75..08fb0e82 100644 --- a/dw/stackingcontextmgr.cc +++ b/dw/stackingcontextmgr.cc @@ -60,36 +60,36 @@ void StackingContextMgr::addChildSCWidget (Widget *widget) DBG_OBJ_ARRSET_PTR ("childSCWidgets", childSCWidgets->size() - 1, widget); } -Widget *StackingContextMgr::drawBottom (View *view, Rectangle *area, - StackingIteratorStack *iteratorStack, - int *zIndexOffset, int *index) +void StackingContextMgr::drawBottom (View *view, Rectangle *area, + StackingIteratorStack *iteratorStack, + Widget **interruptedWidget, + int *zIndexOffset, int *index) { DBG_OBJ_ENTER ("draw", 0, "drawBottom", "(%d, %d, %d * %d), [%d], [%d]", area->x, area->y, area->width, area->height, *zIndexOffset, *index); - Widget *retWidget = - draw (view, area, iteratorStack, index, INT_MIN, -1, zIndexOffset); + draw (view, area, iteratorStack, interruptedWidget, index, INT_MIN, -1, + zIndexOffset); DBG_OBJ_LEAVE (); - return retWidget; } -Widget *StackingContextMgr::drawTop (View *view, Rectangle *area, - StackingIteratorStack *iteratorStack, - int *zIndexOffset, int *index) +void StackingContextMgr::drawTop (View *view, Rectangle *area, + StackingIteratorStack *iteratorStack, + Widget **interruptedWidget, + int *zIndexOffset, int *index) { DBG_OBJ_ENTER ("draw", 0, "drawTop", "(%d, %d, %d * %d), [%d], [%d]", area->x, area->y, area->width, area->height, *zIndexOffset, *index); - Widget *retWidget = - draw (view, area, iteratorStack, index, 0, INT_MAX, zIndexOffset); + draw (view, area, iteratorStack, interruptedWidget, index, 0, INT_MAX, + zIndexOffset); DBG_OBJ_LEAVE (); - return retWidget; } -Widget *StackingContextMgr::draw (View *view, Rectangle *area, - StackingIteratorStack *iteratorStack, - int *zIndexOffset, int startZIndex, - int endZIndex, int *index) +void StackingContextMgr::draw (View *view, Rectangle *area, + StackingIteratorStack *iteratorStack, + Widget **interruptedWidget, int *zIndexOffset, + int startZIndex, int endZIndex, int *index) { DBG_OBJ_ENTER ("draw", 0, "draw", "(%d, %d, %d * %d), [%d], %d, %d, [%d]", area->x, area->y, area->width, area->height, @@ -98,28 +98,29 @@ Widget *StackingContextMgr::draw (View *view, Rectangle *area, DBG_OBJ_MSGF ("draw", 1, "initially: index = %d (of %d)", *index, childSCWidgets->size ()); - Widget *retWidget = NULL; int startZIndexEff = max (minZIndex, startZIndex), endZIndexEff = min (maxZIndex, endZIndex); - while (retWidget == NULL && *zIndexOffset + startZIndexEff <= endZIndexEff) { + while (*interruptedWidget == NULL && + *zIndexOffset + startZIndexEff <= endZIndexEff) { DBG_OBJ_MSGF ("draw", 1, "drawing zIndex = %d + %d", *zIndexOffset, startZIndexEff); DBG_OBJ_MSG_START (); - while (retWidget == NULL && *index < childSCWidgets->size ()) { + while (*interruptedWidget == NULL && *index < childSCWidgets->size ()) { Widget *child = childSCWidgets->get (*index); DBG_OBJ_MSGF ("draw", 2, "widget %p has zIndex = %d", child, child->getStyle()->zIndex); Rectangle childArea; if (child->getStyle()->zIndex == *zIndexOffset + startZIndexEff && child->intersects (area, &childArea)) - retWidget = child->drawTotal (view, &childArea, iteratorStack); + child->drawTotal (view, &childArea, iteratorStack, + interruptedWidget); - if (retWidget == NULL) + if (*interruptedWidget == NULL) (*index)++; } - if (retWidget == NULL) + if (*interruptedWidget == NULL) (*zIndexOffset)++; DBG_OBJ_MSG_END (); @@ -127,9 +128,8 @@ Widget *StackingContextMgr::draw (View *view, Rectangle *area, DBG_OBJ_MSGF ("draw", 1, "finally: index = %d (of %d)", *index, childSCWidgets->size ()); - DBG_OBJ_MSGF ("draw", 1, "=> %p", retWidget); + DBG_OBJ_MSGF ("draw", 1, "=> %p", *interruptedWidget); DBG_OBJ_LEAVE (); - return retWidget; } Widget *StackingContextMgr::getTopWidgetAtPoint (int x, int y) |