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

Function PiuContentUseIdle

modules/piu/All/piuContent.c:654–681  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

652}
653
654PiuIdle PiuContentUseIdle(void* it)
655{
656 PiuContent* self = it;
657 if ((*self)->idleOffset)
658 return (PiuIdle)(((uint8_t *)*self) + (*self)->idleOffset);
659
660 size_t current = (*self)->recordSize;
661
662 size_t nameLength = (*self)->nameOffset ? (current - (*self)->nameOffset) : 0;
663 void *chunk = fxRenewChunk((*self)->the, *self, (xsIntegerValue)(current + sizeof(PiuIdleRecord)));
664 if (!chunk) {
665 chunk = fxNewChunk((*self)->the, (xsIntegerValue)(current + sizeof(PiuIdleRecord)));
666 c_memcpy(chunk, *self, current);
667 *self = chunk;
668 }
669 if ((*self)->nameOffset) {
670 (*self)->nameOffset += sizeof(PiuIdleRecord);
671 c_memcpy(((uint8_t *)chunk) + (*self)->nameOffset, ((uint8_t *)chunk) + current - nameLength, nameLength);
672 }
673 c_memset(((uint8_t *)chunk) + current - nameLength, 0, sizeof(PiuIdleRecord));
674
675 (*self)->recordSize = PiuRecordSize(current + sizeof(PiuIdleRecord));
676 (*self)->idleOffset = (uint32_t)(current - nameLength);
677
678 PiuIdle result = (PiuIdle)(((uint8_t *)*self) + (*self)->idleOffset);
679 result->interval = 1;
680 return result;
681}
682
683void PiuContent_create(xsMachine* the)
684{

Callers 15

PiuSVGImageBindFunction · 0.85
PiuSVGImageSyncFunction · 0.85
PiuApplicationIdleCheckFunction · 0.85
PiuContentIdleFunction · 0.85
PiuContentSetDurationFunction · 0.85
PiuContentSetFractionFunction · 0.85
PiuContentSetIntervalFunction · 0.85
PiuContentSetTimeFunction · 0.85
PiuContent_get_durationFunction · 0.85

Calls 2

fxRenewChunkFunction · 0.85
fxNewChunkFunction · 0.85

Tested by

no test coverage detected