forked from enlightenment/efl
parent
71d101387e
commit
d660812fe8
|
@ -12,6 +12,7 @@ if test X"$enable_shared" = Xyes; then
|
||||||
DLLDFLAGS=-export-dynamic
|
DLLDFLAGS=-export-dynamic
|
||||||
AC_SUBST(DLLDFLAGS)
|
AC_SUBST(DLLDFLAGS)
|
||||||
fi
|
fi
|
||||||
|
AM_WITH_DMALLOC
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
|
|
||||||
|
|
|
@ -328,6 +328,7 @@ char *evas_get_text_font(Evas e, Evas_Object o);
|
||||||
int evas_get_text_size(Evas e, Evas_Object o);
|
int evas_get_text_size(Evas e, Evas_Object o);
|
||||||
int evas_text_at_position(Evas e, Evas_Object o, double x, double y, int *char_x, int *char_y, int *char_w, int *char_h);
|
int evas_text_at_position(Evas e, Evas_Object o, double x, double y, int *char_x, int *char_y, int *char_w, int *char_h);
|
||||||
void evas_text_at(Evas e, Evas_Object o, int index, int *char_x, int *char_y, int *char_w, int *char_h);
|
void evas_text_at(Evas e, Evas_Object o, int index, int *char_x, int *char_y, int *char_w, int *char_h);
|
||||||
|
void evas_text_get_ascent_descent(Evas e, Evas_Object o, double *ascent, double *descent);
|
||||||
|
|
||||||
/* object query ops */
|
/* object query ops */
|
||||||
void evas_get_color(Evas e, Evas_Object o, int *r, int *g, int *b, int *a);
|
void evas_get_color(Evas e, Evas_Object o, int *r, int *g, int *b, int *a);
|
||||||
|
|
|
@ -1424,6 +1424,18 @@ __evas_gl_text_font_free(Evas_GL_Font *fn)
|
||||||
__evas_gl_text_cache_flush();
|
__evas_gl_text_cache_flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
__evas_gl_text_font_get_ascent(Evas_GL_Font *fn)
|
||||||
|
{
|
||||||
|
return fn->ascent;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
__evas_gl_text_font_get_descent(Evas_GL_Font *fn)
|
||||||
|
{
|
||||||
|
return fn->descent;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
__evas_gl_text_font_add_path(char *path)
|
__evas_gl_text_font_add_path(char *path)
|
||||||
{
|
{
|
||||||
|
|
|
@ -158,6 +158,8 @@ void __evas_gl_image_draw(Evas_GL_Image *im, Display *disp, Window w,
|
||||||
/********/
|
/********/
|
||||||
Evas_GL_Font *__evas_gl_text_font_new(Display *disp, char *font, int size);
|
Evas_GL_Font *__evas_gl_text_font_new(Display *disp, char *font, int size);
|
||||||
void __evas_gl_text_font_free(Evas_GL_Font *fn);
|
void __evas_gl_text_font_free(Evas_GL_Font *fn);
|
||||||
|
int __evas_gl_text_font_get_ascent(Evas_GL_Font *fn);
|
||||||
|
int __evas_gl_text_font_get_descent(Evas_GL_Font *fn);
|
||||||
void __evas_gl_text_font_add_path(char *path);
|
void __evas_gl_text_font_add_path(char *path);
|
||||||
void __evas_gl_text_font_del_path(char *path);
|
void __evas_gl_text_font_del_path(char *path);
|
||||||
char **__evas_gl_text_font_list_paths(int *count);
|
char **__evas_gl_text_font_list_paths(int *count);
|
||||||
|
|
|
@ -186,6 +186,20 @@ __evas_imlib_text_font_free(Evas_Imlib_Font *fn)
|
||||||
imlib_free_font();
|
imlib_free_font();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
__evas_imlib_text_font_get_ascent(Evas_Imlib_Font *fn)
|
||||||
|
{
|
||||||
|
imlib_context_set_font((Imlib_Font)fn);
|
||||||
|
return imlib_get_font_ascent();
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
__evas_imlib_text_font_get_descent(Evas_Imlib_Font *fn)
|
||||||
|
{
|
||||||
|
imlib_context_set_font((Imlib_Font)fn);
|
||||||
|
return imlib_get_font_descent();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
__evas_imlib_text_font_add_path(char *path)
|
__evas_imlib_text_font_add_path(char *path)
|
||||||
{
|
{
|
||||||
|
|
|
@ -60,6 +60,8 @@ void __evas_imlib_image_draw(Evas_Imlib_Image *im, Display *disp, W
|
||||||
/********/
|
/********/
|
||||||
Evas_Imlib_Font *__evas_imlib_text_font_new(Display *disp, char *font, int size);
|
Evas_Imlib_Font *__evas_imlib_text_font_new(Display *disp, char *font, int size);
|
||||||
void __evas_imlib_text_font_free(Evas_Imlib_Font *fn);
|
void __evas_imlib_text_font_free(Evas_Imlib_Font *fn);
|
||||||
|
int __evas_imlib_text_font_get_ascent(Evas_Imlib_Font *fn);
|
||||||
|
int __evas_imlib_text_font_get_descent(Evas_Imlib_Font *fn);
|
||||||
void __evas_imlib_text_font_add_path(char *path);
|
void __evas_imlib_text_font_add_path(char *path);
|
||||||
void __evas_imlib_text_font_del_path(char *path);
|
void __evas_imlib_text_font_del_path(char *path);
|
||||||
char **__evas_imlib_text_font_list_paths(int *count);
|
char **__evas_imlib_text_font_list_paths(int *count);
|
||||||
|
|
|
@ -249,6 +249,53 @@ evas_text_at(Evas e, Evas_Object o, int index,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
evas_text_get_ascent_descent(Evas e, Evas_Object o,
|
||||||
|
double *ascent, double *descent)
|
||||||
|
{
|
||||||
|
int a, d;
|
||||||
|
Evas_Object_Text oo;
|
||||||
|
|
||||||
|
oo = o;
|
||||||
|
a = 0; d = 0;
|
||||||
|
switch (e->current.render_method)
|
||||||
|
{
|
||||||
|
case RENDER_METHOD_ALPHA_SOFTWARE:
|
||||||
|
{
|
||||||
|
Evas_Imlib_Font *fn;
|
||||||
|
|
||||||
|
fn = __evas_imlib_text_font_new(e->current.display, oo->current.font, oo->current.size);
|
||||||
|
if (fn)
|
||||||
|
{
|
||||||
|
a = __evas_imlib_text_font_get_ascent(fn);
|
||||||
|
d = __evas_imlib_text_font_get_descent(fn);
|
||||||
|
__evas_imlib_text_font_free(fn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RENDER_METHOD_BASIC_HARDWARE:
|
||||||
|
break;
|
||||||
|
case RENDER_METHOD_3D_HARDWARE:
|
||||||
|
{
|
||||||
|
Evas_GL_Font *fn;
|
||||||
|
|
||||||
|
fn = __evas_gl_text_font_new(e->current.display, oo->current.font, oo->current.size);
|
||||||
|
if (fn)
|
||||||
|
{
|
||||||
|
a = __evas_gl_text_font_get_ascent(fn);
|
||||||
|
d = __evas_gl_text_font_get_descent(fn);
|
||||||
|
__evas_gl_text_font_free(fn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RENDER_METHOD_ALPHA_HARDWARE:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (ascent) *ascent = a;
|
||||||
|
if (descent) *descent = d;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
evas_set_text(Evas e, Evas_Object o, char *text)
|
evas_set_text(Evas e, Evas_Object o, char *text)
|
||||||
|
|
|
@ -73,7 +73,7 @@ main(int argc, char **argv)
|
||||||
Colormap cmap;
|
Colormap cmap;
|
||||||
Window win;
|
Window win;
|
||||||
int win_w, win_h;
|
int win_w, win_h;
|
||||||
int i, a, w, h;
|
int i, a, w, h, m;
|
||||||
Evas e;
|
Evas e;
|
||||||
Evas_Object o[128], o_rect, o_line, o_grad, o_fps, o_text;
|
Evas_Object o[128], o_rect, o_line, o_grad, o_fps, o_text;
|
||||||
Evas_Gradient grad;
|
Evas_Gradient grad;
|
||||||
|
@ -149,7 +149,7 @@ main(int argc, char **argv)
|
||||||
h /= 2;
|
h /= 2;
|
||||||
evas_show(e, o[1]);
|
evas_show(e, o[1]);
|
||||||
|
|
||||||
for (i = 2 ; i < 120; i++)
|
for (i = 2 ; i < 10; i++)
|
||||||
{
|
{
|
||||||
o[i] = evas_add_image_from_file(e, "img/mush.png");
|
o[i] = evas_add_image_from_file(e, "img/mush.png");
|
||||||
evas_show(e, o[i]);
|
evas_show(e, o[i]);
|
||||||
|
@ -160,6 +160,7 @@ main(int argc, char **argv)
|
||||||
evas_callback_add(e, o[i], CALLBACK_MOUSE_IN, mouse_in, NULL);
|
evas_callback_add(e, o[i], CALLBACK_MOUSE_IN, mouse_in, NULL);
|
||||||
evas_callback_add(e, o[i], CALLBACK_MOUSE_OUT, mouse_out, NULL);
|
evas_callback_add(e, o[i], CALLBACK_MOUSE_OUT, mouse_out, NULL);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
for (i = 120; i < 128; i++)
|
for (i = 120; i < 128; i++)
|
||||||
{
|
{
|
||||||
o[i] = evas_add_text(e, "notepad", 16, imgs[i & 0x7]);
|
o[i] = evas_add_text(e, "notepad", 16, imgs[i & 0x7]);
|
||||||
|
@ -222,7 +223,7 @@ main(int argc, char **argv)
|
||||||
evas_callback_add(e, o_text, CALLBACK_MOUSE_MOVE, mouse_move, NULL);
|
evas_callback_add(e, o_text, CALLBACK_MOUSE_MOVE, mouse_move, NULL);
|
||||||
evas_callback_add(e, o_text, CALLBACK_MOUSE_IN, mouse_in, NULL);
|
evas_callback_add(e, o_text, CALLBACK_MOUSE_IN, mouse_in, NULL);
|
||||||
evas_callback_add(e, o_text, CALLBACK_MOUSE_OUT, mouse_out, NULL);
|
evas_callback_add(e, o_text, CALLBACK_MOUSE_OUT, mouse_out, NULL);
|
||||||
|
*/
|
||||||
o_fps = evas_add_text(e, "morpheus", 16, "FPS...");
|
o_fps = evas_add_text(e, "morpheus", 16, "FPS...");
|
||||||
evas_set_color(e, o_fps, 255, 255, 255, 120);
|
evas_set_color(e, o_fps, 255, 255, 255, 120);
|
||||||
evas_move(e, o_fps, win_w, win_h);
|
evas_move(e, o_fps, win_w, win_h);
|
||||||
|
@ -236,6 +237,7 @@ main(int argc, char **argv)
|
||||||
a = 0;
|
a = 0;
|
||||||
down = 0;
|
down = 0;
|
||||||
t1 = get_time();
|
t1 = get_time();
|
||||||
|
m = 0;
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
double x, y;
|
double x, y;
|
||||||
|
@ -288,9 +290,10 @@ main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* while (XPending(d));*/
|
/* while (XPending(d));*/
|
||||||
for (i = 2; i < 128; i++)
|
for (i = 2; i < 10; i++)
|
||||||
{
|
{
|
||||||
int j, k;
|
int j, k;
|
||||||
|
double ww, hh;
|
||||||
|
|
||||||
if (!evas_get_data(e, o[i], "clicked"))
|
if (!evas_get_data(e, o[i], "clicked"))
|
||||||
{
|
{
|
||||||
|
@ -301,11 +304,16 @@ main(int argc, char **argv)
|
||||||
if (i < 100)
|
if (i < 100)
|
||||||
evas_set_image_file(e, o[i], imgs[(i) & 0x7]);
|
evas_set_image_file(e, o[i], imgs[(i) & 0x7]);
|
||||||
evas_move(e, o[i], x, y);
|
evas_move(e, o[i], x, y);
|
||||||
|
ww = ((1.2 + cos((double)(a + j + m) * 2 * 3.141592654 / 1000)) * 48);
|
||||||
|
hh = ww;
|
||||||
|
evas_resize(e, o[i], ww, hh);
|
||||||
|
evas_set_image_fill(e, o[i], 0, 0, ww, hh);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
evas_set_angle(e, o_grad, (double)a * 360 / 1000);
|
evas_set_angle(e, o_grad, (double)a * 360 / 1000);
|
||||||
evas_render(e);
|
evas_render(e);
|
||||||
a++;
|
a++;
|
||||||
|
m++;
|
||||||
if ((a % 25) == 0)
|
if ((a % 25) == 0)
|
||||||
{
|
{
|
||||||
char buf[64];
|
char buf[64];
|
||||||
|
|
Loading…
Reference in New Issue