#define LOG_SUBSYSTEM "text_gltex"
struct atlas {
- struct kmscon_dlist list;
+ struct shl_dlist list;
GLuint tex;
unsigned int height;
unsigned int max_tex_size;
bool supports_rowlen;
- struct kmscon_dlist atlases;
+ struct shl_dlist atlases;
GLfloat advance_x;
GLfloat advance_y;
const char *ext;
memset(gt, 0, sizeof(*gt));
- kmscon_dlist_init(>->atlases);
+ shl_dlist_init(>->atlases);
ret = kmscon_hashtable_new(>->glyphs, kmscon_direct_hash,
kmscon_direct_equal, NULL,
{
struct gltex *gt = txt->data;
int ret;
- struct kmscon_dlist *iter;
+ struct shl_dlist *iter;
struct atlas *atlas;
bool gl = true;
kmscon_hashtable_free(gt->glyphs);
- while (!kmscon_dlist_empty(>->atlases)) {
+ while (!shl_dlist_empty(>->atlases)) {
iter = gt->atlases.next;
- kmscon_dlist_unlink(iter);
- atlas = kmscon_dlist_entry(iter, struct atlas, list);
+ shl_dlist_unlink(iter);
+ atlas = shl_dlist_entry(iter, struct atlas, list);
free(atlas->cache_pos);
free(atlas->cache_texpos);
GLenum err;
/* check whether the last added atlas has still room for one glyph */
- if (!kmscon_dlist_empty(>->atlases)) {
- atlas = kmscon_dlist_entry(gt->atlases.next, struct atlas,
+ if (!shl_dlist_empty(>->atlases)) {
+ atlas = shl_dlist_entry(gt->atlases.next, struct atlas,
list);
if (atlas->fill < atlas->count)
return atlas;
atlas->advance_htex = 1.0 / atlas->width * FONT_WIDTH(txt);
atlas->advance_vtex = 1.0 / atlas->height * FONT_HEIGHT(txt);
- kmscon_dlist_link(>->atlases, &atlas->list);
+ shl_dlist_link(>->atlases, &atlas->list);
return atlas;
err_mem:
{
struct gltex *gt = txt->data;
struct atlas *atlas;
- struct kmscon_dlist *iter;
+ struct shl_dlist *iter;
unsigned int sw, sh;
int ret;
if (ret)
return ret;
- kmscon_dlist_for_each(iter, >->atlases) {
- atlas = kmscon_dlist_entry(iter, struct atlas, list);
+ shl_dlist_for_each(iter, >->atlases) {
+ atlas = shl_dlist_entry(iter, struct atlas, list);
atlas->cache_num = 0;
}
{
struct gltex *gt = txt->data;
struct atlas *atlas;
- struct kmscon_dlist *iter;
+ struct shl_dlist *iter;
float mat[16];
gl_clear_error();
glActiveTexture(GL_TEXTURE0);
glUniform1i(gt->uni_atlas, 0);
- kmscon_dlist_for_each(iter, >->atlases) {
- atlas = kmscon_dlist_entry(iter, struct atlas, list);
+ shl_dlist_for_each(iter, >->atlases) {
+ atlas = shl_dlist_entry(iter, struct atlas, list);
if (!atlas->cache_num)
continue;