void timerCallback() override { stopTimer(); Array<Component*> alreadyDone; for (int i = TopLevelWindow::getNumTopLevelWindows(); --i >= 0;) if (Component* c = TopLevelWindow::getTopLevelWindow(i)) repaintAndResizeAllComps (c, alreadyDone); Desktop& desktop = Desktop::getInstance(); for (int i = desktop.getNumComponents(); --i >= 0;) if (Component* c = desktop.getComponent(i)) repaintAndResizeAllComps (c, alreadyDone); }
void timerCallback() override { stopTimer(); for (int i = TopLevelWindow::getNumTopLevelWindows(); --i >= 0;) if (Component* c = TopLevelWindow::getTopLevelWindow(i)) repaintAndResizeAllComps (c); }
static void repaintAndResizeAllComps (Component::SafePointer<Component> c) { if (c->isVisible()) { c->repaint(); c->resized(); for (int i = c->getNumChildComponents(); --i >= 0;) if (c != nullptr) if (Component* child = c->getChildComponent(i)) repaintAndResizeAllComps (child); } }
static void repaintAndResizeAllComps (Component::SafePointer<Component> c, Array<Component*>& alreadyDone) { if (c->isVisible() && ! alreadyDone.contains (c)) { c->repaint(); c->resized(); for (int i = c->getNumChildComponents(); --i >= 0;) { if (Component* child = c->getChildComponent(i)) { repaintAndResizeAllComps (child, alreadyDone); alreadyDone.add (child); } if (c == nullptr) break; } } }