Home | History | Annotate | Download | only in rendering

Lines Matching full:child

54             RenderBox* child = box->firstChildBox();
55 while (child) {
56 if (child->style()->boxOrdinalGroup() > lastOrdinal)
57 lastOrdinal = child->style()->boxOrdinalGroup();
58 child = child->nextSiblingBox();
123 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBox()) {
125 if (child->isPositioned() || child->style()->visibility() == COLLAPSE)
131 Length ml = child->style()->marginLeft();
132 Length mr = child->style()->marginRight();
140 m_minPrefWidth += child->minPrefWidth() + margin;
141 m_maxPrefWidth += child->maxPrefWidth() + margin;
147 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBox()) {
149 if (child->isPositioned() || child->style()->visibility() == COLLAPSE)
155 Length ml = child->style()->marginLeft();
156 Length mr = child->style()->marginRight();
163 int w = child->minPrefWidth() + margin;
166 w = child->maxPrefWidth() + margin;
289 for (RenderBox* child = iterator.first(); child; child = iterator.next())
290 addOverflowFromChild(child);
311 RenderBox* child = iterator.first();
312 while (child) {
313 // Check to see if this child flexes.
314 if (!child->isPositioned() && child->style()->boxFlex() > 0.0f) {
317 child->setOverrideSize(-1);
319 child->setChildNeedsLayout(true, false);
321 unsigned int flexGroup = child->style()->boxFlexGroup();
329 child = iterator.next();
350 RenderBox* child;
366 child = iterator.first();
367 while (child) {
369 if (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent())))
370 child->setChildNeedsLayout(true, false);
372 if (child->isPositioned()) {
373 child = iterator.next();
377 // Compute the child's vertical margins.
378 child->calcVerticalMargins();
381 child->layoutIfNeeded();
385 int ascent = child->firstLineBoxBaseline();
387 ascent = child->height() + child->marginBottom();
388 ascent += child->marginTop();
389 int descent = (child->marginTop() + child->height() + child->marginBottom()) - ascent;
401 setHeight(max(height(), yPos + child->marginTop() + child->height() + child->marginBottom()));
403 child = iterator.next();
420 child = iterator.first();
421 while (child) {
422 if (child->isPositioned()) {
423 child->containingBlock()->insertPositionedObject(child);
424 if (child->style()->hasStaticX()) {
426 child->layer()->setStaticX(xPos);
427 else child->layer()->setStaticX(width() - xPos);
429 if (child->style()->hasStaticY()) {
430 RenderLayer* childLayer = child->layer();
432 child->layer()->setStaticY(yPos);
433 child->setChildNeedsLayout(true, false);
436 child = iterator.next();
440 // We need to see if this child's height has changed, since we make block elements
443 int oldChildHeight = child->height();
444 child->calcHeight();
445 if (oldChildHeight != child->height())
446 child->setChildNeedsLayout(true, false);
447 child->layoutIfNeeded();
449 // We can place the child now, using our value of box-align.
450 xPos += child->marginLeft();
454 childY += child->marginTop() + max(0, (contentHeight() - (child->height() + child->marginTop() + child->marginBottom()))/2);
457 int ascent = child->firstLineBoxBaseline();
459 child->height() + child->marginBottom();
460 ascent += child->marginTop();
461 childY += child->marginTop() + (maxAscent - ascent);
465 childY += contentHeight() - child->marginBottom() - child->height();
468 childY += child->marginTop();
472 placeChild(child, xPos, childY);
474 xPos += child->width() + child->marginRight();
476 child = iterator.next();
505 child = iterator.first();
506 while (child) {
507 if (allowedChildFlex(child, expanding, i))
508 totalFlex += child->style()->boxFlex();
509 child = iterator.next();
511 child = iterator.first();
513 while (child) {
514 int allowedFlex = allowedChildFlex(child, expanding, i);
516 int projectedFlex = (allowedFlex == INT_MAX) ? allowedFlex : (int)(allowedFlex * (totalFlex / child->style()->boxFlex()));
519 child = iterator.next();
530 child = iterator.first();
531 while (child && spaceAvailableThisPass && totalFlex) {
532 if (allowedChildFlex(child, expanding, i)) {
533 int spaceAdd = (int)(spaceAvailableThisPass * (child->style()->boxFlex()/totalFlex));
535 child->setOverrideSize(child->overrideWidth() + spaceAdd);
544 totalFlex -= child->style()->boxFlex();
546 child = iterator.next();
550 child = iterator.first();
552 while (child && groupRemainingSpace) {
553 if (allowedChildFlex(child, expanding, i)) {
554 child->setOverrideSize(child->overrideWidth() + spaceAdd);
560 child = iterator.next();
583 child = iterator.first();
584 while (child) {
585 if (child->isPositioned()) {
586 child = iterator.next();
590 child = iterator.next();
598 child = iterator.first();
599 while (child) {
600 if (child->isPositioned()) {
601 child = iterator.next();
607 child = iterator.next();
615 placeChild(child, child->x()+offset, child->y());
616 child = iterator.next();
624 child = iterator.first();
625 while (child) {
626 if (child->isPositioned()) {
627 child = iterator.next();
630 placeChild(child, child->x()+offset, child->y());
631 child = iterator.next();
660 RenderBox* child;
667 child = iterator.first();
668 while (child) {
669 if (!child->isPositioned()) {
670 if (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent())) ||
671 (child->style()->height().isAuto() && child->isBlockFlow() && !child->needsLayout())) {
672 child->setChildNeedsLayout(true, false);
675 if (child->isRenderBlock()) {
676 toRenderBlock(child)->markPositionedObjectsForLayout();
677 toRenderBlock(child)->clearTruncation();
680 child->layoutIfNeeded();
681 if (child->style()->height().isAuto() && child->isBlockFlow())
682 maxLineCount = max(maxLineCount, toRenderBlock(child)->lineCount());
684 child = iterator.next();
692 for (child = iterator.first(); child; child = iterator.next()) {
693 if (child->isPositioned() || !child->style()->height().isAuto() || !child->isBlockFlow())
696 RenderBlock* blockChild = toRenderBlock(child);
702 if (newHeight == child->height())
705 child->setChildNeedsLayout(true, false);
706 child->setOverrideSize(newHeight);
708 child->layoutIfNeeded();
710 child->setOverrideSize(-1);
730 // Get ellipsis width, and if the last child is an anchor, it will go after the ellipsis, so add in a space and the anchor width too
777 child = iterator.first();
778 while (child) {
780 if (!haveLineClamp && (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent()))))
781 child->setChildNeedsLayout(true, false);
783 if (child->isPositioned()) {
784 child->containingBlock()->insertPositionedObject(child);
785 if (child->style()->hasStaticX()) {
787 child->layer()->setStaticX(borderLeft()+paddingLeft());
789 child->layer()->setStaticX(borderRight()+paddingRight());
791 if (child->style()->hasStaticY()) {
792 RenderLayer* childLayer = child->layer();
794 child->layer()->setStaticY(height());
795 child->setChildNeedsLayout(true, false);
798 child = iterator.next();
802 // Compute the child's vertical margins.
803 child->calcVerticalMargins();
805 // Add in the child's marginTop to our height.
806 setHeight(height() + child->marginTop());
809 child->layoutIfNeeded();
811 // We can place the child now, using our value of box-align.
816 childX += child->marginLeft() + max(0, (contentWidth() - (child->width() + child->marginLeft() + child->marginRight()))/2);
820 childX += child->marginLeft();
822 childX += contentWidth() - child->marginRight() - child->width();
826 childX += child->marginLeft();
828 childX += contentWidth() - child->marginRight() - child->width();
832 // Place the child.
833 placeChild(child, childX, height());
834 setHeight(height() + child->height() + child->marginBottom());
836 child = iterator.next();
882 child = iterator.first();
883 while (child) {
884 if (allowedChildFlex(child, expanding, i))
885 totalFlex += child->style()->boxFlex();
886 child = iterator.next();
888 child = iterator.first();
890 while (child) {
891 int allowedFlex = allowedChildFlex(child, expanding, i);
893 int projectedFlex = (allowedFlex == INT_MAX) ? allowedFlex : (int)(allowedFlex * (totalFlex / child->style()->boxFlex()));
896 child = iterator.next();
907 child = iterator.first();
908 while (child && spaceAvailableThisPass && totalFlex) {
909 if (allowedChildFlex(child, expanding, i)) {
910 int spaceAdd = (int)(spaceAvailableThisPass * (child->style()->boxFlex()/totalFlex));
912 child->setOverrideSize(child->overrideHeight() + spaceAdd);
921 totalFlex -= child->style()->boxFlex();
923 child = iterator.next();
927 child = iterator.first();
929 while (child && groupRemainingSpace) {
930 if (allowedChildFlex(child, expanding, i)) {
931 child->setOverrideSize(child->overrideHeight() + spaceAdd);
937 child = iterator.next();
957 child = iterator.first();
958 while (child) {
959 if (child->isPositioned()) {
960 child = iterator.next();
964 child = iterator.next();
972 child = iterator.first();
973 while (child) {
974 if (child->isPositioned()) {
975 child = iterator.next();
981 child = iterator.next();
988 placeChild(child, child->x(), child->y()+offset);
989 child = iterator.next();
997 child = iterator.first();
998 while (child) {
999 if (child->isPositioned()) {
1000 child = iterator.next();
1003 placeChild(child, child->x(), child->y()+offset);
1004 child = iterator.next();
1015 void RenderFlexibleBox::placeChild(RenderBox* child, int x, int y)
1017 IntRect oldRect(child->x(), child->y() , child->width(), child->height());
1019 // Place the child.
1020 child->setLocation(x, y);
1022 // If the child moved, we have to repaint it as well as any floating/positioned
1024 // repaint ourselves (and the child) anyway.
1025 if (!selfNeedsLayout() && child->checkForRepaintDuringLayout())
1026 child->repaintDuringLayoutIfMoved(oldRect);
1029 int RenderFlexibleBox::allowedChildFlex(RenderBox* child, bool expanding, unsigned int group)
1031 if (child->isPositioned() || child->style()->boxFlex() == 0.0f || child->style()->boxFlexGroup() != group)
1038 int w = child->overrideWidth() - (child->borderLeft() + child->borderRight() + child->paddingLeft() + child->paddingRight());
1039 if (!child->style()->maxWidth().isUndefined() &&
1040 child->style()->maxWidth().isFixed())
1041 maxW = child->style()->maxWidth().value();
1042 else if (child->style()->maxWidth().type() == Intrinsic)
1043 maxW = child->maxPrefWidth();
1044 else if (child->style()->maxWidth().type() == MinIntrinsic)
1045 maxW = child->minPrefWidth();
1052 int h = child->overrideHeight() - (child->borderTop() + child->borderBottom() + child->paddingTop() + child->paddingBottom());
1053 if (!child->style()->maxHeight().isUndefined() &&
1054 child->style()->maxHeight().isFixed())
1055 maxH = child->style()->maxHeight().value();
1064 int minW = child->minPrefWidth();
1065 int w = child->overrideWidth() - (child->borderLeft() + child->borderRight() + child->paddingLeft() + child->paddingRight());
1066 if (child->style()->minWidth().isFixed())
1067 minW = child->style()->minWidth().value();
1068 else if (child->style()->minWidth().type() == Intrinsic)
1069 minW = child->maxPrefWidth();
1070 else if (child->style()->minWidth().type() == MinIntrinsic)
1071 minW = child->minPrefWidth();
1076 if (child->style()->minHeight().isFixed()) {
1077 int minH = child->style()->minHeight().value();
1078 int h = child->overrideHeight() - (child->borderLeft() + child->borderRight() + child->paddingLeft() + child->paddingRight());