forked from enlightenment/efl
parent
98261e19e3
commit
e21838f9f2
|
@ -881,6 +881,7 @@ __evas_gl_text_paste(Evas_GL_Font *f, char *text,
|
||||||
|
|
||||||
if ((__evas_current_win != win) || (__evas_current_disp != disp))
|
if ((__evas_current_win != win) || (__evas_current_disp != disp))
|
||||||
{
|
{
|
||||||
|
printf("%p %x %p\n", disp, win, f->context);
|
||||||
glXMakeCurrent(disp, win, f->context);
|
glXMakeCurrent(disp, win, f->context);
|
||||||
__evas_current_disp = disp;
|
__evas_current_disp = disp;
|
||||||
__evas_current_win = win;
|
__evas_current_win = win;
|
||||||
|
@ -1005,11 +1006,6 @@ __evas_gl_text_font_render_textures(Evas_GL_Font *f)
|
||||||
r = 0;
|
r = 0;
|
||||||
|
|
||||||
data = malloc(256 * 256);
|
data = malloc(256 * 256);
|
||||||
glBindTexture(GL_TEXTURE_2D, f->textures[0]);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
for (j = 0, k = 0, i = 0; i < f->num_glyph; i++)
|
for (j = 0, k = 0, i = 0; i < f->num_glyph; i++)
|
||||||
{
|
{
|
||||||
TT_F26Dot6 xmin, ymin, xmax, ymax;
|
TT_F26Dot6 xmin, ymin, xmax, ymax;
|
||||||
|
@ -1062,28 +1058,18 @@ __evas_gl_text_font_render_textures(Evas_GL_Font *f)
|
||||||
}
|
}
|
||||||
|
|
||||||
k++;
|
k++;
|
||||||
|
/* last char done */
|
||||||
if (k == (cols * rows))
|
if (k == (cols * rows))
|
||||||
{
|
{
|
||||||
|
glBindTexture(GL_TEXTURE_2D, f->textures[j]);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA4, f->max_texture_size, f->max_texture_size, 0,
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA4, f->max_texture_size, f->max_texture_size, 0,
|
||||||
GL_ALPHA, GL_UNSIGNED_BYTE, data);
|
GL_ALPHA, GL_UNSIGNED_BYTE, data);
|
||||||
if (glGetError() == GL_OUT_OF_MEMORY)
|
|
||||||
{
|
|
||||||
__evas_gl_image_cache_empty(f->buffer.display);
|
|
||||||
__evas_gl_text_cache_empty(f->buffer.display);
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA4, f->max_texture_size, f->max_texture_size, 0,
|
|
||||||
GL_ALPHA, GL_UNSIGNED_BYTE, data);
|
|
||||||
}
|
|
||||||
j++;
|
j++;
|
||||||
if (j >= f->num_textures)
|
if (j >= f->num_textures) didlast = 1;
|
||||||
didlast = 1;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
glBindTexture(GL_TEXTURE_2D, f->textures[j]);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
}
|
|
||||||
k = 0;
|
k = 0;
|
||||||
r = 0;
|
r = 0;
|
||||||
c = 0;
|
c = 0;
|
||||||
|
@ -1100,15 +1086,14 @@ __evas_gl_text_font_render_textures(Evas_GL_Font *f)
|
||||||
}
|
}
|
||||||
if (!didlast)
|
if (!didlast)
|
||||||
{
|
{
|
||||||
|
glBindTexture(GL_TEXTURE_2D, f->textures[j]);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA4, f->max_texture_size, f->max_texture_size, 0,
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA4, f->max_texture_size, f->max_texture_size, 0,
|
||||||
GL_ALPHA, GL_UNSIGNED_BYTE, data);
|
GL_ALPHA, GL_UNSIGNED_BYTE, data);
|
||||||
if (glGetError() == GL_OUT_OF_MEMORY)
|
j++;
|
||||||
{
|
|
||||||
__evas_gl_image_cache_empty(f->buffer.display);
|
|
||||||
__evas_gl_text_cache_empty(f->buffer.display);
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA4, f->max_texture_size, f->max_texture_size, 0,
|
|
||||||
GL_ALPHA, GL_UNSIGNED_BYTE, data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (data)
|
if (data)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue