const char *bidi_delimiters;
Evas_Object_Text_Item *items;
- void *engine_data;
+ Evas_Font_Set *font;
char changed : 1;
};
if ((it->text_pos <= pos) &&
(pos < (it->text_pos + it->text_props.text_len)))
{
- return ENFN->font_char_coords_get(ENDT, o->engine_data,
+ return ENFN->font_char_coords_get(ENDT, o->font,
&it->text_props, pos - it->text_pos, x, y, w, h);
}
}
if ((x <= cx) && (cx < x + it->adv))
{
return it->text_pos + ENFN->font_last_up_to_pos(ENDT,
- o->engine_data,
+ o->font,
&it->text_props,
cx - x,
cy);
if ((it->x <= cx) && (cx < it->x + it->adv))
{
return it->text_pos + ENFN->font_last_up_to_pos(ENDT,
- o->engine_data,
+ o->font,
&it->text_props,
cx - it->x,
cy);
if ((it->x <= cx) && (cx < it->x + it->adv))
{
return it->text_pos + ENFN->font_char_at_coords_get(ENDT,
- o->engine_data,
+ o->font,
&it->text_props,
cx,
cy,
}
#ifdef EVAS_FRAME_QUEUING
- if (o->engine_data)
- evas_common_pipe_op_text_flush(o->engine_data);
+ if (o->font)
+ evas_common_pipe_op_text_flush(o->font);
#endif
/* DO IT */
- if (o->engine_data)
+ if (o->font)
{
- evas_font_free(obj->layer->evas, o->engine_data);
- o->engine_data = NULL;
+ evas_font_free(obj->layer->evas, o->font);
+ o->font = NULL;
}
if (!same_font)
{
o->prev.font = NULL;
}
o->cur.size = size;
- o->engine_data = evas_font_load(obj->layer->evas, o->cur.font, o->cur.source,
+ o->font = evas_font_load(obj->layer->evas, o->cur.font, o->cur.source,
(int)(((double)o->cur.size) * obj->cur.scale));
- if (o->engine_data)
+ if (o->font)
{
- o->ascent = ENFN->font_ascent_get(ENDT, o->engine_data);
- o->descent = ENFN->font_descent_get(ENDT, o->engine_data);
- o->max_ascent = ENFN->font_max_ascent_get(ENDT, o->engine_data);
- o->max_descent = ENFN->font_max_descent_get(ENDT, o->engine_data);
+ o->ascent = ENFN->font_ascent_get(ENDT, o->font);
+ o->descent = ENFN->font_descent_get(ENDT, o->font);
+ o->max_ascent = ENFN->font_max_ascent_get(ENDT, o->font);
+ o->max_descent = ENFN->font_max_descent_get(ENDT, o->font);
}
else
{
*/
static Evas_Object_Text_Item *
_evas_object_text_item_new(Evas_Object *obj, Evas_Object_Text *o,
- void *fi, const Eina_Unicode *str, Evas_Script_Type script,
+ Evas_Font_Instance *fi, const Eina_Unicode *str, Evas_Script_Type script,
size_t pos, size_t visual_pos, size_t len)
{
Evas_Object_Text_Item *it;
it->text_pos);
evas_common_text_props_script_set(&it->text_props, script);
- if (o->engine_data)
+ if (o->font)
{
ENFN->font_text_props_info_create(ENDT,
fi, str + pos, &it->text_props,
o->bidi_par_props, it->text_pos, len);
ENFN->font_string_size_get(ENDT,
- o->engine_data,
+ o->font,
&it->text_props,
&it->w, &it->h);
- it->adv = ENFN->font_h_advance_get(ENDT, o->engine_data,
+ it->adv = ENFN->font_h_advance_get(ENDT, o->font,
&it->text_props);
}
o->items = (Evas_Object_Text_Item *)
while (len > 0)
{
- void *script_fi = NULL;
+ Evas_Font_Instance *script_fi = NULL;
int script_len = len, tmp_cut;
Evas_Script_Type script;
tmp_cut = evas_common_language_script_end_of_run_get(
while (script_len > 0)
{
- void *cur_fi;
+ Evas_Font_Instance *cur_fi;
int run_len = script_len;
- if (o->engine_data)
+ if (o->font)
{
run_len = ENFN->font_run_end_get(ENDT,
- o->engine_data, &script_fi, &cur_fi,
+ o->font, &script_fi, &cur_fi,
script, text + pos, script_len);
}
#ifdef BIDI_SUPPORT
MAGIC_CHECK(o, Evas_Object_Text, MAGIC_OBJ_TEXT);
return 0;
MAGIC_CHECK_END();
- if (!o->engine_data) return 0;
+ if (!o->font) return 0;
if (!o->items) return 0;
- return ENFN->font_inset_get(ENDT, o->engine_data, &o->items->text_props);
+ return ENFN->font_inset_get(ENDT, o->font, &o->items->text_props);
}
EAPI Evas_Coord
MAGIC_CHECK(o, Evas_Object_Text, MAGIC_OBJ_TEXT);
return 0;
MAGIC_CHECK_END();
- if (!o->engine_data) return 0;
+ if (!o->font) return 0;
if (!o->items) return 0;
return _evas_object_text_horiz_advance_get(obj, o);
}
MAGIC_CHECK(o, Evas_Object_Text, MAGIC_OBJ_TEXT);
return 0;
MAGIC_CHECK_END();
- if (!o->engine_data) return 0;
+ if (!o->font) return 0;
if (!o->items) return o->ascent + o->descent;
return _evas_object_text_vert_advance_get(obj, o);
}
MAGIC_CHECK(o, Evas_Object_Text, MAGIC_OBJ_TEXT);
return EINA_FALSE;
MAGIC_CHECK_END();
- if (!o->engine_data) return EINA_FALSE;
+ if (!o->font) return EINA_FALSE;
if (!o->items || (pos < 0)) return EINA_FALSE;
ret = _evas_object_text_char_coords_get(obj, o, (size_t) pos,
&x, &y, &w, &h);
MAGIC_CHECK(o, Evas_Object_Text, MAGIC_OBJ_TEXT);
return -1;
MAGIC_CHECK_END();
- if (!o->engine_data) return -1;
+ if (!o->font) return -1;
if (!o->items) return -1;
return _evas_object_text_last_up_to_pos(obj, o, x, y - o->max_ascent);
}
MAGIC_CHECK(o, Evas_Object_Text, MAGIC_OBJ_TEXT);
return -1;
MAGIC_CHECK_END();
- if (!o->engine_data) return -1;
+ if (!o->font) return -1;
if (!o->items) return -1;
ret = _evas_object_text_char_at_coords(obj, o, x, y - o->max_ascent,
&rx, &ry, &rw, &rh);
if (o->cur.utf8_text) eina_stringshare_del(o->cur.utf8_text);
if (o->cur.font) eina_stringshare_del(o->cur.font);
if (o->cur.source) eina_stringshare_del(o->cur.source);
- if (o->engine_data) evas_font_free(obj->layer->evas, o->engine_data);
+ if (o->font) evas_font_free(obj->layer->evas, o->font);
#ifdef BIDI_SUPPORT
evas_bidi_paragraph_props_unref(o->bidi_par_props);
#endif
(((int)object->sub.col.a) * (amul)) / 255);
#define DRAW_TEXT(ox, oy) \
- if ((o->engine_data) && (it->text_props.len > 0)) \
+ if ((o->font) && (it->text_props.len > 0)) \
ENFN->font_draw(output, \
context, \
surface, \
- o->engine_data, \
+ o->font, \
obj->cur.geometry.x + x + sl + ox + it->x, \
obj->cur.geometry.y + y + st + oy + \
(int) \
o = (Evas_Object_Text *)(obj->object_data);
if (!o) return NULL;
- return o->engine_data;
+ return o->font;
}
static int
int is, was;
o = (Evas_Object_Text *)(obj->object_data);
- if (!o->engine_data) return;
+ if (!o->font) return;
#ifdef EVAS_FRAME_QUEUING
- evas_common_pipe_op_text_flush(o->engine_data);
+ evas_common_pipe_op_text_flush(o->font);
#endif
- evas_font_load_hinting_set(obj->layer->evas, o->engine_data,
+ evas_font_load_hinting_set(obj->layer->evas, o->font,
obj->layer->evas->hinting);
was = evas_object_is_in_output_rect(obj,
obj->layer->evas->pointer.x,
if (text) free(text);
- if ((o->engine_data) && (o->items))
+ if ((o->font) && (o->items))
{
int w, h;
int l = 0, r = 0, t = 0, b = 0;
const char *name;
const char *source;
const char *fallbacks;
- void *font;
+ Evas_Font_Set *font;
int size;
} font;
struct {
while (str)
{
- void *script_fi = NULL;
+ Evas_Font_Instance *script_fi = NULL;
int script_len, tmp_cut;
Evas_Script_Type script;
while (script_len > 0)
{
- void *cur_fi;
+ Evas_Font_Instance *cur_fi;
int run_len = script_len;
ti = _layout_text_item_new(c, fmt);
ti->parent.text_node = n;
{
Evas_Object_Textblock_Text_Item *ellip_ti;
Evas_Script_Type script;
- void *script_fi = NULL, *cur_fi;
+ Evas_Font_Instance *script_fi = NULL, *cur_fi;
size_t len = 1; /* The length of _ellip_str */
ellip_ti = _layout_text_item_new(c,
eina_list_data_get(eina_list_last(c->format_stack)));
script, _ellip_str, len);
c->ENFN->font_text_props_info_create(c->ENDT,
- ellip_ti->parent.format->font.font,
- _ellip_str, &ellip_ti->text_props,
- c->par->bidi_props,
- ellip_ti->parent.text_pos, len);
+ cur_fi, _ellip_str, &ellip_ti->text_props,
+ c->par->bidi_props, ellip_ti->parent.text_pos, len);
}
_text_item_update_sizes(c, ellip_ti);
* @return line number of the char on success, -1 on error.
*/
static int
-_evas_textblock_cursor_char_pen_geometry_common_get(int (*query_func) (void *data, void *font, const Evas_Text_Props *intl_props, int pos, int *cx, int *cy, int *cw, int *ch), const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+_evas_textblock_cursor_char_pen_geometry_common_get(int (*query_func) (void *data, Evas_Font_Set *font, const Evas_Text_Props *intl_props, int pos, int *cx, int *cy, int *cw, int *ch), const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
{
Evas_Object_Textblock *o;
Evas_Object_Textblock_Line *ln = NULL;
typedef struct _Evas_Smart_Cb_Description_Array Evas_Smart_Cb_Description_Array;
typedef struct _Evas_Post_Callback Evas_Post_Callback;
+/* General types - used for script type chceking */
+#define OPAQUE_TYPE(type) struct __##type { int a; }; \
+ typedef struct __##type type
+
+OPAQUE_TYPE(Evas_Font_Set); /* General type for RGBA_Font */
+OPAQUE_TYPE(Evas_Font_Instance); /* General type for RGBA_Font_Int */
+/* End of general types */
+
#define MAGIC_EVAS 0x70777770
#define MAGIC_OBJ 0x71777770
#define MAGIC_OBJ_RECTANGLE 0x71777771
void (*image_cache_set) (void *data, int bytes);
int (*image_cache_get) (void *data);
- void *(*font_load) (void *data, const char *name, int size, Font_Rend_Flags wanted_rend);
- void *(*font_memory_load) (void *data, char *name, int size, const void *fdata, int fdata_size, Font_Rend_Flags wanted_rend);
- void *(*font_add) (void *data, void *font, const char *name, int size, Font_Rend_Flags wanted_rend);
- void *(*font_memory_add) (void *data, void *font, char *name, int size, const void *fdata, int fdata_size, Font_Rend_Flags wanted_rend);
- void (*font_free) (void *data, void *font);
- int (*font_ascent_get) (void *data, void *font);
- int (*font_descent_get) (void *data, void *font);
- int (*font_max_ascent_get) (void *data, void *font);
- int (*font_max_descent_get) (void *data, void *font);
- void (*font_string_size_get) (void *data, void *font, const Evas_Text_Props *intl_props, int *w, int *h);
- int (*font_inset_get) (void *data, void *font, const Evas_Text_Props *text_props);
- int (*font_h_advance_get) (void *data, void *font, const Evas_Text_Props *intl_props);
- int (*font_v_advance_get) (void *data, void *font, const Evas_Text_Props *intl_props);
- int (*font_char_coords_get) (void *data, void *font, const Evas_Text_Props *intl_props, int pos, int *cx, int *cy, int *cw, int *ch);
- int (*font_char_at_coords_get) (void *data, void *font, const Evas_Text_Props *intl_props, int x, int y, int *cx, int *cy, int *cw, int *ch);
- void (*font_draw) (void *data, void *context, void *surface, void *font, int x, int y, int w, int h, int ow, int oh, const Evas_Text_Props *intl_props);
+ Evas_Font_Set *(*font_load) (void *data, const char *name, int size, Font_Rend_Flags wanted_rend);
+ Evas_Font_Set *(*font_memory_load) (void *data, char *name, int size, const void *fdata, int fdata_size, Font_Rend_Flags wanted_rend);
+ Evas_Font_Set *(*font_add) (void *data, Evas_Font_Set *font, const char *name, int size, Font_Rend_Flags wanted_rend);
+ Evas_Font_Set *(*font_memory_add) (void *data, Evas_Font_Set *font, char *name, int size, const void *fdata, int fdata_size, Font_Rend_Flags wanted_rend);
+ void (*font_free) (void *data, Evas_Font_Set *font);
+ int (*font_ascent_get) (void *data, Evas_Font_Set *font);
+ int (*font_descent_get) (void *data, Evas_Font_Set *font);
+ int (*font_max_ascent_get) (void *data, Evas_Font_Set *font);
+ int (*font_max_descent_get) (void *data, Evas_Font_Set *font);
+ void (*font_string_size_get) (void *data, Evas_Font_Set *font, const Evas_Text_Props *intl_props, int *w, int *h);
+ int (*font_inset_get) (void *data, Evas_Font_Set *font, const Evas_Text_Props *text_props);
+ int (*font_h_advance_get) (void *data, Evas_Font_Set *font, const Evas_Text_Props *intl_props);
+ int (*font_v_advance_get) (void *data, Evas_Font_Set *font, const Evas_Text_Props *intl_props);
+ int (*font_char_coords_get) (void *data, Evas_Font_Set *font, const Evas_Text_Props *intl_props, int pos, int *cx, int *cy, int *cw, int *ch);
+ int (*font_char_at_coords_get) (void *data, Evas_Font_Set *font, const Evas_Text_Props *intl_props, int x, int y, int *cx, int *cy, int *cw, int *ch);
+ void (*font_draw) (void *data, void *context, void *surface, Evas_Font_Set *font, int x, int y, int w, int h, int ow, int oh, const Evas_Text_Props *intl_props);
void (*font_cache_flush) (void *data);
void (*font_cache_set) (void *data, int bytes);
/* Engine functions will over time expand from here */
- void (*font_hinting_set) (void *data, void *font, int hinting);
+ void (*font_hinting_set) (void *data, Evas_Font_Set *font, int hinting);
int (*font_hinting_can_hint) (void *data, int hinting);
/* void (*image_rotation_set) (void *data, void *image); */
void (*image_scale_hint_set) (void *data, void *image, int hint);
int (*image_scale_hint_get) (void *data, void *image);
- int (*font_last_up_to_pos) (void *data, void *font, const Evas_Text_Props *intl_props, int x, int y);
+ int (*font_last_up_to_pos) (void *data, Evas_Font_Set *font, const Evas_Text_Props *intl_props, int x, int y);
void (*image_map_draw) (void *data, void *context, void *surface, void *image, int npoints, RGBA_Map_Point *p, int smooth, int level);
void *(*image_map_surface_new) (void *data, int w, int h, int alpha);
void (*image_content_hint_set) (void *data, void *surface, int hint);
int (*image_content_hint_get) (void *data, void *surface);
- int (*font_pen_coords_get) (void *data, void *font, const Evas_Text_Props *intl_props, int pos, int *cpen_x, int *cy, int *cadv, int *ch);
- Eina_Bool (*font_text_props_info_create) (void *data __UNUSED__, void *font, const Eina_Unicode *text, Evas_Text_Props *intl_props, const Evas_BiDi_Paragraph_Props *par_props, size_t pos, size_t len);
- int (*font_right_inset_get) (void *data, void *font, const Evas_Text_Props *text_props);
+ int (*font_pen_coords_get) (void *data, Evas_Font_Set *font, const Evas_Text_Props *intl_props, int pos, int *cpen_x, int *cy, int *cadv, int *ch);
+ Eina_Bool (*font_text_props_info_create) (void *data __UNUSED__, Evas_Font_Instance *fi, const Eina_Unicode *text, Evas_Text_Props *intl_props, const Evas_BiDi_Paragraph_Props *par_props, size_t pos, size_t len);
+ int (*font_right_inset_get) (void *data, Evas_Font_Set *font, const Evas_Text_Props *text_props);
void (*image_draw_filtered) (void *data, void *context, void *surface, void *image, Evas_Filter_Info *filter);
Filtered_Image *(*image_filtered_get) (void *image, uint8_t *key, size_t len);
int (*gl_native_surface_get) (void *data, void *surface, void *native_surface);
void *(*gl_api_get) (void *data);
int (*image_load_error_get) (void *data, void *image);
- int (*font_run_end_get) (void *data __UNUSED__, void *fn, void **script_fi, void **cur_fi, Evas_Script_Type script, const Eina_Unicode *text, int run_len);
+ int (*font_run_end_get) (void *data, Evas_Font_Set *font, Evas_Font_Instance **script_fi, Evas_Font_Instance **cur_fi, Evas_Script_Type script, const Eina_Unicode *text, int run_len);
};
struct _Evas_Image_Load_Func
return evas_common_image_get_cache();
}
-static void *
+static Evas_Font_Set *
eng_font_load(void *data __UNUSED__, const char *name, int size,
Font_Rend_Flags wanted_rend)
{
- return evas_common_font_load(name, size, wanted_rend);
+ return (Evas_Font_Set *) evas_common_font_load(name, size, wanted_rend);
}
-static void *
+static Evas_Font_Set *
eng_font_memory_load(void *data __UNUSED__, char *name, int size, const void *fdata, int fdata_size, Font_Rend_Flags wanted_rend)
{
- return evas_common_font_memory_load(name, size, fdata, fdata_size,
- wanted_rend);
+ return (Evas_Font_Set *) evas_common_font_memory_load(name, size, fdata,
+ fdata_size, wanted_rend);
}
-static void *
-eng_font_add(void *data __UNUSED__, void *font, const char *name, int size, Font_Rend_Flags wanted_rend)
+static Evas_Font_Set *
+eng_font_add(void *data __UNUSED__, Evas_Font_Set *font, const char *name, int size, Font_Rend_Flags wanted_rend)
{
- return evas_common_font_add(font, name, size, wanted_rend);
+ return (Evas_Font_Set *) evas_common_font_add((RGBA_Font *) font, name,
+ size, wanted_rend);
}
-static void *
-eng_font_memory_add(void *data __UNUSED__, void *font, char *name, int size, const void *fdata, int fdata_size, Font_Rend_Flags wanted_rend)
+static Evas_Font_Set *
+eng_font_memory_add(void *data __UNUSED__, Evas_Font_Set *font, char *name, int size, const void *fdata, int fdata_size, Font_Rend_Flags wanted_rend)
{
- return evas_common_font_memory_add(font, name, size, fdata, fdata_size,
- wanted_rend);
+ return (Evas_Font_Set *) evas_common_font_memory_add((RGBA_Font *) font,
+ name, size, fdata, fdata_size, wanted_rend);
}
static void
-eng_font_free(void *data __UNUSED__, void *font)
+eng_font_free(void *data __UNUSED__, Evas_Font_Set *font)
{
- evas_common_font_free(font);
+ evas_common_font_free((RGBA_Font *) font);
}
static int
-eng_font_ascent_get(void *data __UNUSED__, void *font)
+eng_font_ascent_get(void *data __UNUSED__, Evas_Font_Set *font)
{
- return evas_common_font_ascent_get(font);
+ return evas_common_font_ascent_get((RGBA_Font *) font);
}
static int
-eng_font_descent_get(void *data __UNUSED__, void *font)
+eng_font_descent_get(void *data __UNUSED__, Evas_Font_Set *font)
{
- return evas_common_font_descent_get(font);
+ return evas_common_font_descent_get((RGBA_Font *) font);
}
static int
-eng_font_max_ascent_get(void *data __UNUSED__, void *font)
+eng_font_max_ascent_get(void *data __UNUSED__, Evas_Font_Set *font)
{
- return evas_common_font_max_ascent_get(font);
+ return evas_common_font_max_ascent_get((RGBA_Font *) font);
}
static int
-eng_font_max_descent_get(void *data __UNUSED__, void *font)
+eng_font_max_descent_get(void *data __UNUSED__, Evas_Font_Set *font)
{
- return evas_common_font_max_descent_get(font);
+ return evas_common_font_max_descent_get((RGBA_Font *) font);
}
static void
-eng_font_string_size_get(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props, int *w, int *h)
+eng_font_string_size_get(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props, int *w, int *h)
{
- evas_common_font_query_size(font, text_props, w, h);
+ evas_common_font_query_size((RGBA_Font *) font, text_props, w, h);
}
static int
-eng_font_inset_get(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props)
+eng_font_inset_get(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props)
{
- return evas_common_font_query_inset(font, text_props);
+ return evas_common_font_query_inset((RGBA_Font *) font, text_props);
}
static int
-eng_font_right_inset_get(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props)
+eng_font_right_inset_get(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props)
{
- return evas_common_font_query_right_inset(font, text_props);
+ return evas_common_font_query_right_inset((RGBA_Font *) font, text_props);
}
static int
-eng_font_h_advance_get(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props)
+eng_font_h_advance_get(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props)
{
int h, v;
- evas_common_font_query_advance(font, text_props, &h, &v);
+ evas_common_font_query_advance((RGBA_Font *) font, text_props, &h, &v);
return h;
}
static int
-eng_font_v_advance_get(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props)
+eng_font_v_advance_get(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props)
{
int h, v;
- evas_common_font_query_advance(font, text_props, &h, &v);
+ evas_common_font_query_advance((RGBA_Font *) font, text_props, &h, &v);
return v;
}
static int
-eng_font_pen_coords_get(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props, int pos, int *cpen_x, int *cy, int *cadv, int *ch)
+eng_font_pen_coords_get(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props, int pos, int *cpen_x, int *cy, int *cadv, int *ch)
{
- return evas_common_font_query_pen_coords(font, text_props, pos, cpen_x, cy, cadv, ch);
+ return evas_common_font_query_pen_coords((RGBA_Font *) font, text_props, pos, cpen_x, cy, cadv, ch);
}
static Eina_Bool
-eng_font_text_props_info_create(void *data __UNUSED__, void *font, const Eina_Unicode *text, Evas_Text_Props *text_props, const Evas_BiDi_Paragraph_Props *par_props, size_t par_pos, size_t len)
+eng_font_text_props_info_create(void *data __UNUSED__, Evas_Font_Instance *fi, const Eina_Unicode *text, Evas_Text_Props *text_props, const Evas_BiDi_Paragraph_Props *par_props, size_t par_pos, size_t len)
{
- return evas_common_text_props_content_create(font, text, text_props,
- par_props, par_pos, len);
+ return evas_common_text_props_content_create((RGBA_Font_Int *) fi, text,
+ text_props, par_props, par_pos, len);
}
static int
-eng_font_char_coords_get(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props, int pos, int *cx, int *cy, int *cw, int *ch)
+eng_font_char_coords_get(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props, int pos, int *cx, int *cy, int *cw, int *ch)
{
- return evas_common_font_query_char_coords(font, text_props, pos, cx, cy, cw, ch);
+ return evas_common_font_query_char_coords((RGBA_Font *) font, text_props, pos, cx, cy, cw, ch);
}
static int
-eng_font_char_at_coords_get(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props, int x, int y, int *cx, int *cy, int *cw, int *ch)
+eng_font_char_at_coords_get(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props, int x, int y, int *cx, int *cy, int *cw, int *ch)
{
- return evas_common_font_query_char_at_coords(font, text_props, x, y, cx, cy, cw, ch);
+ return evas_common_font_query_char_at_coords((RGBA_Font *) font, text_props, x, y, cx, cy, cw, ch);
}
static int
-eng_font_last_up_to_pos(void *data __UNUSED__, void *font, const Evas_Text_Props *text_props, int x, int y)
+eng_font_last_up_to_pos(void *data __UNUSED__, Evas_Font_Set *font, const Evas_Text_Props *text_props, int x, int y)
{
- return evas_common_font_query_last_up_to_pos(font, text_props, x, y);
+ return evas_common_font_query_last_up_to_pos((RGBA_Font *) font, text_props, x, y);
}
static int
-eng_font_run_font_end_get(void *data __UNUSED__, void *fn, void **script_fi, void **cur_fi, Evas_Script_Type script, const Eina_Unicode *text, int run_len)
+eng_font_run_font_end_get(void *data __UNUSED__, Evas_Font_Set *font, Evas_Font_Instance **script_fi, Evas_Font_Instance **cur_fi, Evas_Script_Type script, const Eina_Unicode *text, int run_len)
{
- return evas_common_font_query_run_font_end_get(fn,
+ return evas_common_font_query_run_font_end_get((RGBA_Font *) font,
(RGBA_Font_Int **) script_fi, (RGBA_Font_Int **) cur_fi,
script, text, run_len);
}
static void
-eng_font_draw(void *data __UNUSED__, void *context, void *surface, void *font, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, int oh __UNUSED__, const Evas_Text_Props *text_props)
+eng_font_draw(void *data __UNUSED__, void *context, void *surface, Evas_Font_Set *font, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, int oh __UNUSED__, const Evas_Text_Props *text_props)
{
#ifdef BUILD_PIPE_RENDER
if ((cpunum > 1)
&& evas_common_frameq_enabled()
#endif
)
- evas_common_pipe_text_draw(surface, context, font, x, y, text_props);
+ evas_common_pipe_text_draw(surface, context, (RGBA_Font *) font, x, y,
+ text_props);
else
#endif
{
- evas_common_font_draw(surface, context, font, x, y, text_props);
+ evas_common_font_draw(surface, context, (RGBA_Font *) font, x, y,
+ text_props);
evas_common_cpu_end_opt();
}
}
}
static void
-eng_font_hinting_set(void *data __UNUSED__, void *font, int hinting)
+eng_font_hinting_set(void *data __UNUSED__, Evas_Font_Set *font, int hinting)
{
- evas_common_font_hinting_set(font, hinting);
+ evas_common_font_hinting_set((RGBA_Font *) font, hinting);
}
static int