Beispiel #1
0
ENTRYPOINT void
free_unicrud (ModeInfo *mi)
{
  unicrud_configuration *bp = &bps[MI_SCREEN(mi)];
  if (!bp->glx_context) return;
  glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *bp->glx_context);
  if (bp->trackball) gltrackball_free (bp->trackball);
  if (bp->rot) free_rotator (bp->rot);
  if (bp->title_font) free_texture_font (bp->title_font);
  if (bp->char_font) free_texture_font (bp->char_font);
}
Beispiel #2
0
ENTRYPOINT void
free_splitflap (ModeInfo *mi)
{
  splitflap_configuration *bp = &bps[MI_SCREEN(mi)];
  int i;

  if (!bp->glx_context) return;
  glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *bp->glx_context);

  if (bp->flappers) free (bp->flappers);
  if (bp->tc) textclient_close (bp->tc);
  if (bp->trackball) gltrackball_free (bp->trackball);
  if (bp->rot) free_rotator (bp->rot);
  if (bp->rot2) free_rotator (bp->rot2);
  if (bp->font_data) free_texture_font (bp->font_data);
  if (bp->dlists) {
    for (i = 0; i < countof(all_objs); i++)
      if (glIsList(bp->dlists[i])) glDeleteLists(bp->dlists[i], 1);
    free (bp->dlists);
  }
  if (bp->texinfo) {
    for (i = 0; i < bp->texinfo_size; i++)
      if (bp->texinfo[i].texid) glDeleteTextures (1, &bp->texinfo[i].texid);
    free (bp->texinfo);
  }
}
Beispiel #3
0
ENTRYPOINT void release_wip24(ModeInfo *mi) {
    wip24_state* state = states + MI_SCREEN(mi);
    glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(state->glx_context));
    
    for (unsigned int i = 0; i < 4; i++)
        glDeleteTextures(1, &state->channels[i].texture);
    glDeleteFramebuffers(1, &state->framebuffer);
    glDeleteTextures(1, &state->fb_texture);
    glDeleteProgram(state->program);
    free_texture_font(state->font);
    glXDestroyContext(MI_DISPLAY(mi), *state->glx_context);
    free(state->glx_context);
}