/**
 * \brief Frees the framebuffer.
 * \param self Framebuffer.
 */
void liren_framebuffer32_free (
    LIRenFramebuffer32* self)
{
    lialg_ptrdic_remove (self->render->framebuffers, self);
    glDeleteFramebuffers (1, &self->render_framebuffer);
    glDeleteFramebuffers (2, self->postproc_framebuffers);
    glDeleteTextures (2, self->render_textures);
    glDeleteTextures (3, self->postproc_textures);
    lisys_free (self);
}
Пример #2
0
/**
 * \brief Frees the widget.
 * \param self Widget.
 */
void liwdg_widget_free (LIWdgWidget* self)
{
	int x;
	int y;

	while (self->children != NULL)
		private_call_detach_manual (self, self->children);
	for (y = 0 ; y < self->height ; y++)
	for (x = 0 ; x < self->width ; x++)
		private_call_detach (self, x, y);
	liwdg_widget_canvas_clear (self);
	liwdg_widget_detach (self);
	lisys_free (self->cols);
	lisys_free (self->rows);
	lisys_free (self->cells);
	lialg_ptrdic_remove (self->manager->widgets.all, self);
	liren_render_overlay_free (self->manager->render, self->overlay);
	lisys_free (self);
}