void SHPaint_dtor(SHPaint *p) { SH_DEINITOBJ(SHStopArray, p->instops); SH_DEINITOBJ(SHStopArray, p->stops); if (glIsTexture(p->texture)) glDeleteTextures(1, &p->texture); }
void VGContext_dtor(VGContext *c) { int i; SH_DEINITOBJ(SHRectArray, c->scissor); SH_DEINITOBJ(SHFloatArray, c->strokeDashPattern); /* Destroy resources */ for (i=0; i<c->paths.size; ++i) SH_DELETEOBJ(SHPath, c->paths.items[i]); for (i=0; i<c->paints.size; ++i) SH_DELETEOBJ(SHPaint, c->paints.items[i]); for (i=0; i<c->images.size; ++i) SH_DELETEOBJ(SHImage, c->images.items[i]); }