void engine_clear_loading (Context* context, Engine* engine) { int i = 0; vertex_delete(engine->loading_bufs[0]->v); context->video[0] = vertex_buffer_delete( context->video[0] , engine->loading_bufs[0] ); for (; i < 9; i++) { if (i == 7 || i == 8) { vertex_delete(engine->loading_bufs[i+1]->v); } context->video[1] = vertex_buffer_delete( context->video[1] , engine->loading_bufs[i+1] ); } // Wait for the drawing thread to terminate before continuing. context->pthread_stop = 1; int err = pthread_join(context->pthread, NULL); if (err) { LOGE("Error terminating thread."); exit(EXIT_FAILURE); } }
// ---------------------------------------------------------------------------- void text_buffer_delete( text_buffer_t * self ) { vertex_buffer_delete( self->buffer ); glDeleteProgram( self->shader ); free( self ); }
Font::~Font() { texture_font_delete(m_font); texture_atlas_delete(m_atlas); vertex_buffer_delete(m_buffer); delete m_fontFile; }
void FontBufferCache::Clear() { for(VertexBufferMap::const_iterator i = m_vertexBufferMap.begin(), end = m_vertexBufferMap.end(); i != end; ++i) { vertex_buffer_delete(i->second); } m_vertexBufferMap.clear(); }
void shader_group_delete(shader_group_t* self) { sen_assert(self); vertex_buffer_delete(self->buff); free(self->name); free(self); }
// ---------------------------------------------------------------------------- void text_buffer_delete( text_buffer_t * self ) { vector_delete( self->lines ); font_manager_delete( self->manager ); vertex_buffer_delete( self->buffer ); glDeleteProgram( self->shader ); free( self ); }
FontRenderer::~FontRenderer() { if (m_pManager) { font_manager_delete(m_pManager); } if (m_pTextBuffer) { vertex_buffer_delete(m_pTextBuffer); } }
void title_transition (Context* context, int state) { if (context->title->profile_name != NULL) { free(context->title->profile_name); context->title->profile_name = NULL; } if (context->title->profile_line != NULL) { del_line(context->glyphs, context->title->profile_line); context->title->profile_line = NULL; } if (context->title->user_bufs != NULL) { int i = 0; for (; i < MAX_PROFILES; i++) { if (context->title->user_bufs[i] == NULL) { continue; } context->video[1] = vertex_buffer_delete( context->video[1] , context->title->user_bufs[i] ); } free(context->title->user_bufs); context->title->user_bufs = NULL; } context->title->state = state; clear_lines( context->glyphs , context->title->lines , TITLE_MAX_LINES ); switch (state) { case TITLE_STATE_MAIN: context->title->lines = init_title(context); break; case TITLE_STATE_LOAD_PROFILE: context->title->lines = init_load_profile(context); break; case TITLE_STATE_NEW_PROFILE: context->title->lines = init_new_profile(context); break; case TYRIAN_GAME_LEVEL: context->engine = engine_init_level(context); break; } }
void engine_swap_buffers (Engine* engine) { Context* context = (Context*) engine->context; Bitmap* bmp = (Bitmap*) malloc(sizeof(Bitmap)); context->video[0] = vertex_buffer_delete(context->video[0], engine->bg[0]); engine->bg[0] = engine->bg[1]; engine->bg[1] = engine_gen_tilemap( context , bmp , engine->tiles[0] , engine->max_h , engine->max_w ); engine->bg[1]->v->y = engine->bg[0]->v->y - engine->bg[1]->v->bitmap->h; }
void sen_sprite_delete(void *_self) { sprite_t *self = (sprite_t *)_self; int status; sen_assert(_self); // _logfi("-sprite %s", ((object_t*)self)->name); sen_textures_release(self->tex); sen_shaders_release(self->program); status = ((node_t*)self)->updated; if (status & SEN_NODE_UPDATE_INVALIDATE_BUFFER) { vertex_buffer_invalidate(self->quad); } vertex_buffer_delete(self->quad); sen_node_clean(self); free(self); }
void sen_render_reload() { blend_group_t* bg; khash_t(hmsp)* tgs; khint_t i,k,j; tex_group_t* tg; khash_t(hmsp)* sgs; shader_group_t* sg; _logfi("**** RELOADING RENDER *** "); for (k = kh_begin(g_bgs); k != kh_end(g_bgs); ++k) { if (!kh_exist(g_bgs,k)) continue; bg = kh_val(g_bgs, k); tgs = bg->tgs; for (i = kh_begin(tgs); i != kh_end(tgs); ++i) { if (!kh_exist(tgs,i)) continue; tg = kh_val(tgs, i); sgs = tg->sgs; for (j = kh_begin(sgs); j != kh_end(sgs); ++j) { if (!kh_exist(sgs,j)) continue; sg = kh_val(sgs, j); if (sg->buff) { vertex_buffer_delete( sg->buff ); sg->buff = NULL; } } } } _logfi("**** DONE *** "); }
void text_buffer_delete( text_buffer_t *self ) { vertex_buffer_delete(self->buffer); free (self); }