forked from enlightenment/efl
Evas: Moved font functions from object_text.c to font_dir.c
Not the best place, but at least better than putting them in object_text.c SVN revision: 61327
This commit is contained in:
parent
9f2e58e6f0
commit
420d235bff
|
@ -975,3 +975,157 @@ evas_object_text_font_string_parse(char *buffer, char dest[14][256])
|
|||
n++;
|
||||
return n;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_path_clear(Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
while (e->font_path)
|
||||
{
|
||||
eina_stringshare_del(e->font_path->data);
|
||||
e->font_path = eina_list_remove(e->font_path, e->font_path->data);
|
||||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_path_append(Evas *e, const char *path)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
if (!path) return;
|
||||
e->font_path = eina_list_append(e->font_path, eina_stringshare_add(path));
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_path_prepend(Evas *e, const char *path)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
if (!path) return;
|
||||
e->font_path = eina_list_prepend(e->font_path, eina_stringshare_add(path));
|
||||
}
|
||||
|
||||
EAPI const Eina_List *
|
||||
evas_font_path_list(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return NULL;
|
||||
MAGIC_CHECK_END();
|
||||
return e->font_path;
|
||||
}
|
||||
|
||||
static void
|
||||
evas_font_object_rehint(Evas_Object *obj)
|
||||
{
|
||||
if (obj->smart.smart)
|
||||
{
|
||||
EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(obj), obj)
|
||||
evas_font_object_rehint(obj);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!strcmp(obj->type, "text"))
|
||||
_evas_object_text_rehint(obj);
|
||||
if (!strcmp(obj->type, "textblock"))
|
||||
_evas_object_textblock_rehint(obj);
|
||||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_hinting_set(Evas *e, Evas_Font_Hinting_Flags hinting)
|
||||
{
|
||||
Evas_Layer *lay;
|
||||
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
if (e->hinting == hinting) return;
|
||||
e->hinting = hinting;
|
||||
|
||||
EINA_INLIST_FOREACH(e->layers, lay)
|
||||
{
|
||||
Evas_Object *obj;
|
||||
|
||||
EINA_INLIST_FOREACH(lay->objects, obj)
|
||||
evas_font_object_rehint(obj);
|
||||
}
|
||||
}
|
||||
|
||||
EAPI Evas_Font_Hinting_Flags
|
||||
evas_font_hinting_get(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return EVAS_FONT_HINTING_BYTECODE;
|
||||
MAGIC_CHECK_END();
|
||||
return e->hinting;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
evas_font_hinting_can_hint(const Evas *e, Evas_Font_Hinting_Flags hinting)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return 0;
|
||||
MAGIC_CHECK_END();
|
||||
if (e->engine.func->font_hinting_can_hint)
|
||||
return e->engine.func->font_hinting_can_hint(e->engine.data.output,
|
||||
hinting);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_cache_flush(Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
e->engine.func->font_cache_flush(e->engine.data.output);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_cache_set(Evas *e, int size)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
if (size < 0) size = 0;
|
||||
e->engine.func->font_cache_set(e->engine.data.output, size);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
evas_font_cache_get(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return 0;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
return e->engine.func->font_cache_get(e->engine.data.output);
|
||||
}
|
||||
|
||||
EAPI Eina_List *
|
||||
evas_font_available_list(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return NULL;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
return evas_font_dir_available_list(e);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_available_list_free(Evas *e, Eina_List *available)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
evas_font_dir_available_list_free(available);
|
||||
}
|
||||
|
||||
|
|
|
@ -1226,159 +1226,6 @@ evas_object_text_style_pad_get(const Evas_Object *obj, int *l, int *r, int *t, i
|
|||
|
||||
|
||||
|
||||
EAPI void
|
||||
evas_font_path_clear(Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
while (e->font_path)
|
||||
{
|
||||
eina_stringshare_del(e->font_path->data);
|
||||
e->font_path = eina_list_remove(e->font_path, e->font_path->data);
|
||||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_path_append(Evas *e, const char *path)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
if (!path) return;
|
||||
e->font_path = eina_list_append(e->font_path, eina_stringshare_add(path));
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_path_prepend(Evas *e, const char *path)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
if (!path) return;
|
||||
e->font_path = eina_list_prepend(e->font_path, eina_stringshare_add(path));
|
||||
}
|
||||
|
||||
EAPI const Eina_List *
|
||||
evas_font_path_list(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return NULL;
|
||||
MAGIC_CHECK_END();
|
||||
return e->font_path;
|
||||
}
|
||||
|
||||
static void
|
||||
evas_font_object_rehint(Evas_Object *obj)
|
||||
{
|
||||
if (obj->smart.smart)
|
||||
{
|
||||
EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(obj), obj)
|
||||
evas_font_object_rehint(obj);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!strcmp(obj->type, "text"))
|
||||
_evas_object_text_rehint(obj);
|
||||
if (!strcmp(obj->type, "textblock"))
|
||||
_evas_object_textblock_rehint(obj);
|
||||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_hinting_set(Evas *e, Evas_Font_Hinting_Flags hinting)
|
||||
{
|
||||
Evas_Layer *lay;
|
||||
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
if (e->hinting == hinting) return;
|
||||
e->hinting = hinting;
|
||||
|
||||
EINA_INLIST_FOREACH(e->layers, lay)
|
||||
{
|
||||
Evas_Object *obj;
|
||||
|
||||
EINA_INLIST_FOREACH(lay->objects, obj)
|
||||
evas_font_object_rehint(obj);
|
||||
}
|
||||
}
|
||||
|
||||
EAPI Evas_Font_Hinting_Flags
|
||||
evas_font_hinting_get(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return EVAS_FONT_HINTING_BYTECODE;
|
||||
MAGIC_CHECK_END();
|
||||
return e->hinting;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
evas_font_hinting_can_hint(const Evas *e, Evas_Font_Hinting_Flags hinting)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return 0;
|
||||
MAGIC_CHECK_END();
|
||||
if (e->engine.func->font_hinting_can_hint)
|
||||
return e->engine.func->font_hinting_can_hint(e->engine.data.output,
|
||||
hinting);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_cache_flush(Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
e->engine.func->font_cache_flush(e->engine.data.output);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_cache_set(Evas *e, int size)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
if (size < 0) size = 0;
|
||||
e->engine.func->font_cache_set(e->engine.data.output, size);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
evas_font_cache_get(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return 0;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
return e->engine.func->font_cache_get(e->engine.data.output);
|
||||
}
|
||||
|
||||
EAPI Eina_List *
|
||||
evas_font_available_list(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return NULL;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
return evas_font_dir_available_list(e);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_font_available_list_free(Evas *e, Eina_List *available)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
evas_font_dir_available_list_free(available);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
evas_string_char_next_get(const char *str, int pos, int *decoded)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue