diff options
Diffstat (limited to 'dw/table.cc')
-rw-r--r-- | dw/table.cc | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/dw/table.cc b/dw/table.cc index 656084a4..c65f2d75 100644 --- a/dw/table.cc +++ b/dw/table.cc @@ -356,16 +356,14 @@ bool Table::isBlockLevel () return true; } -core::Widget *Table::drawLevel (core::View *view, core::Rectangle *area, - core::StackingIteratorStack *iteratorStack, - int majorLevel) +void Table::drawLevel (core::View *view, core::Rectangle *area, + core::StackingIteratorStack *iteratorStack, + Widget **interruptedWidget, int majorLevel) { DBG_OBJ_ENTER ("draw", 0, "Table/drawLevel", "(%d, %d, %d * %d), %s", area->x, area->y, area->width, area->height, OOFStackingIterator::majorLevelText (majorLevel)); - Widget *retWidget = NULL; - #if 0 // This old code belongs perhaps to the background. Check when reactivated. int offx = getStyle()->boxOffsetX () + getStyle()->hBorderSpacing; @@ -390,32 +388,31 @@ core::Widget *Table::drawLevel (core::View *view, core::Rectangle *area, OOFStackingIterator *osi = (OOFStackingIterator*)iteratorStack->getTop (); - while (retWidget == NULL && osi->index < children->size ()) { + while (*interruptedWidget == NULL && osi->index < children->size ()) { if (childDefined (osi->index)) { Widget *child = children->get(osi->index)->cell.widget; core::Rectangle childArea; if (!core::StackingContextMgr::handledByStackingContextMgr (child) && child->intersects (area, &childArea)) - retWidget = - child->drawTotal (view, &childArea, iteratorStack); + child->drawTotal (view, &childArea, iteratorStack, + interruptedWidget); } - if (retWidget == NULL) + if (*interruptedWidget == NULL) osi->index++; } } break; default: - retWidget = - OOFAwareWidget::drawLevel (view, area, iteratorStack, majorLevel); + OOFAwareWidget::drawLevel (view, area, iteratorStack, interruptedWidget, + majorLevel); break; } - DBG_OBJ_MSGF ("draw", 1, "=> %p", retWidget); + DBG_OBJ_MSGF ("draw", 1, "=> %p", *interruptedWidget); DBG_OBJ_LEAVE (); - return retWidget; } void Table::removeChild (Widget *child) |