MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / PiuApplicationIdleCheck

Function PiuApplicationIdleCheck

modules/piu/All/piuApplication.c:153–190  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

151}
152
153void PiuApplicationIdleCheck(PiuApplication* self)
154{
155 PiuInterval idle = 0;
156 xsIntegerValue count = (*self)->touchLinkCount;
157 xsIntegerValue index;
158
159 if ((*self)->deferChain) {
160 idle = 1;
161 goto bail;
162 }
163 for (index = 0; index < count; index++) {
164 PiuTouchLink* link = (*self)->touchLinks[index];
165 PiuContent* content = (*link)->content;
166 if (content) {
167 idle = 1;
168 goto bail;
169 }
170 }
171 if ((*self)->idleChain) {
172 PiuIdleLink* link = (*self)->idleChain;
173 PiuTick ticks = PiuViewTicks((*self)->view);
174 while (link) {
175 PiuIdle linkIdle = PiuContentUseIdle(link);
176 PiuInterval interval = linkIdle->ticks + linkIdle->interval - ticks;
177 if (interval <= 0) {
178 idle = 1;
179 goto bail;
180 }
181 else if (idle == 0)
182 idle = interval;
183 else if (idle > interval)
184 idle = interval;
185 link = linkIdle->idleLink;
186 }
187 }
188bail:
189 PiuViewIdleCheck((*self)->view, idle);
190}
191
192void PiuApplicationIdleContents(PiuApplication* self)
193{

Callers 10

PiuViewRescheduleFunction · 0.85
PiuView_onIdleFunction · 0.85
PiuView_onTouchBeganFunction · 0.85
PiuView_onTouchEndedFunction · 0.85
PiuView_onIdleFunction · 0.85
PiuView_onMessageFunction · 0.85
PiuView_onTouchBeganFunction · 0.85
PiuView_onTouchEndedFunction · 0.85
PiuViewRescheduleFunction · 0.85
PiuViewRescheduleFunction · 0.85

Calls 3

PiuContentUseIdleFunction · 0.85
PiuViewTicksFunction · 0.50
PiuViewIdleCheckFunction · 0.50

Tested by

no test coverage detected