#include "SDL_internal.h"
#ifdef HAVE_LIBTHAI_H
#include "SDL_libthai.h"
#ifdef SDL_LIBTHAI_DYNAMIC
SDL_ELF_NOTE_DLOPEN(
"Thai",
"Thai language support",
SDL_ELF_NOTE_DLOPEN_PRIORITY_SUGGESTED,
SDL_LIBTHAI_DYNAMIC
)
#endif
SDL_LibThai *SDL_LibThai_Create(void)
{
SDL_LibThai *th;
th = (SDL_LibThai *)SDL_malloc(sizeof(SDL_LibThai));
if (!th) {
return NULL;
}
#ifdef SDL_LIBTHAI_DYNAMIC
#define SDL_LIBTHAI_LOAD_SYM(a, x, n, t) x = ((t)SDL_LoadFunction(a->lib, n)); if (!x) { SDL_UnloadObject(a->lib); SDL_free(a); return NULL; }
th->lib = SDL_LoadObject(SDL_LIBTHAI_DYNAMIC);
if (!th->lib) {
SDL_free(th);
return NULL;
}
SDL_LIBTHAI_LOAD_SYM(th, th->make_cells, "th_make_cells", SDL_LibThaiMakeCells);
#else
th->make_cells = th_make_cells;
#endif
return th;
}
void SDL_LibThai_Destroy(SDL_LibThai *th)
{
if (!th) {
return;
}
#ifdef SDL_LIBTHAI_DYNAMIC
SDL_UnloadObject(th->lib);
#endif
SDL_free(th);
}
#endif