예제 #1
0
GraphicsContext3DPrivate::~GraphicsContext3DPrivate()
{
    if (!m_evasGL)
        return;

    if (m_evasGLSurface)
        evas_gl_surface_destroy(m_evasGL, m_evasGLSurface);

    if (m_evasGLContext)
        evas_gl_context_destroy(m_evasGL, m_evasGLContext);

    evas_gl_free(m_evasGL);
}
예제 #2
0
static void
win_delete_request_cb(void *data, Evas_Object *obj, void *event_info)
{
	appdata_s *ad = data;

	cairo_surface_destroy(ad->surface);
	cairo_destroy(ad->cairo);
	cairo_device_destroy(ad->cairo_device);

	evas_gl_surface_destroy(ad->evas_gl, ad->evas_gl_surface);
	evas_gl_context_destroy(ad->evas_gl, ad->evas_gl_context);
	evas_gl_config_free(ad->evas_gl_config);
	evas_gl_free(ad->evas_gl);

	ui_app_exit();
}
예제 #3
0
EAPI void
evas_gl_free(Evas_GL *evas_gl)
{
   MAGIC_CHECK(evas_gl, Evas_GL, MAGIC_EVAS_GL);
   return;
   MAGIC_CHECK_END();


   // Delete undeleted surfaces
   while (evas_gl->surfaces)
     evas_gl_surface_destroy(evas_gl, evas_gl->surfaces->data);

   // Delete undeleted contexts
   while (evas_gl->contexts)
     evas_gl_context_destroy(evas_gl, evas_gl->contexts->data);

   evas_gl->magic = 0;
   free(evas_gl);
}