MCPcopy Create free account
hub / github.com/Audio4Linux/JDSP4Linux / fillOut

Method fillOut

3rdparty/WAF/Animation/CircleFill/CircleFillAnimator.cpp:107–149  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105}
106
107void CircleFillAnimator::fillOut()
108{
109 //
110 // Прерываем выполнение, если клиент хочет повторить его
111 //
112 if (isAnimated() && isAnimatedBackward()) return;
113 setAnimatedBackward();
114
115 //
116 // Определим стартовые и финальные позиции для декораций
117 //
118 int startRadius = sqrt(widgetForFill()->height()*widgetForFill()->height() + widgetForFill()->width()*widgetForFill()->width());
119 int finalRadius = 0;
120
121 //
122 // Позиционируем декораторы
123 //
124 m_decorator->resize(widgetForFill()->size());
125 m_decorator->move(0, 0);
126 m_decorator->show();
127 m_decorator->raise();
128
129 //
130 // Анимируем виджет
131 //
132 if (m_animation->state() == QPropertyAnimation::Running) {
133 //
134 // ... если ещё не закончилась предыдущая анимация реверсируем её
135 //
136 m_animation->pause();
137 m_animation->setDirection(QPropertyAnimation::Backward);
138 m_animation->resume();
139 } else {
140 //
141 // ... если предыдущая анимация закончилась, запускаем новую анимацию
142 //
143 m_animation->setEasingCurve(QEasingCurve::OutQuart);
144 m_animation->setDirection(QPropertyAnimation::Forward);
145 m_animation->setStartValue(startRadius);
146 m_animation->setEndValue(finalRadius);
147 m_animation->start();
148 }
149}
150
151void CircleFillAnimator::hideDecorator()
152{

Callers

nothing calls this directly

Calls 7

resizeMethod · 0.80
moveMethod · 0.80
setEasingCurveMethod · 0.80
startMethod · 0.80
sqrtFunction · 0.50
sizeMethod · 0.45
raiseMethod · 0.45

Tested by

no test coverage detected