MCPcopy Create free account
hub / github.com/axmolengine/axmol / visit

Method visit

extensions/GUI/src/GUI/ScrollView/ScrollView.cpp:641–699  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

639}
640
641void ScrollView::visit(Renderer* renderer, const Mat4& parentTransform, uint32_t parentFlags)
642{
643 // quick return if not visible
644 if (!isVisible())
645 {
646 return;
647 }
648
649 uint32_t flags = processParentFlags(parentTransform, parentFlags);
650
651 // IMPORTANT:
652 // To ease the migration to v3.0, we still support the Mat4 stack,
653 // but it is deprecated and your code should not rely on it
654 Director* director = Director::getInstance();
655 AXASSERT(nullptr != director, "Director is null when setting matrix stack");
656 director->pushMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);
657 director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW, _modelViewTransform);
658
659 this->beforeDraw();
660 bool visibleByCamera = isVisitableByVisitingCamera();
661
662 if (!_children.empty())
663 {
664 int i = 0;
665
666 // draw children zOrder < 0
667 for (; i < _children.size(); i++)
668 {
669 Node* child = _children.at(i);
670 if (child->getLocalZOrder() < 0)
671 {
672 child->visit(renderer, _modelViewTransform, flags);
673 }
674 else
675 {
676 break;
677 }
678 }
679
680 // this draw
681 if (visibleByCamera)
682 this->draw(renderer, _modelViewTransform, flags);
683
684 // draw children zOrder >= 0
685 for (; i < _children.size(); i++)
686 {
687 Node* child = _children.at(i);
688 child->visit(renderer, _modelViewTransform, flags);
689 }
690 }
691 else if (visibleByCamera)
692 {
693 this->draw(renderer, _modelViewTransform, flags);
694 }
695
696 this->afterDraw();
697
698 director->popMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);

Callers 1

Calls 11

beforeDrawMethod · 0.95
afterDrawMethod · 0.95
getInstanceFunction · 0.85
pushMatrixMethod · 0.80
loadMatrixMethod · 0.80
popMatrixMethod · 0.80
isVisibleFunction · 0.50
emptyMethod · 0.45
sizeMethod · 0.45
atMethod · 0.45
drawMethod · 0.45

Tested by

no test coverage detected