forked from enlightenment/efl
parent
f95de840fa
commit
a68f8e5529
|
@ -742,6 +742,15 @@ edje_edit_font_add(
|
||||||
const char* alias ///< The file alias, or NULL to use filename
|
const char* alias ///< The file alias, or NULL to use filename
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**Remove a ttf font to the edje file.
|
||||||
|
* If font can't be deleted EINA_FALSE is returned.
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool ///@return EINA_TRUE on success or EINA_FALSE on failure
|
||||||
|
edje_edit_font_del(
|
||||||
|
Evas_Object *obj, ///< The edje object
|
||||||
|
const char* alias ///< The file alias
|
||||||
|
);
|
||||||
|
|
||||||
/**Get font name for a given part state. Remember to free the returned string using edje_edit_string_free().*/
|
/**Get font name for a given part state. Remember to free the returned string using edje_edit_string_free().*/
|
||||||
EAPI const char * ///@return The name of the font used in the given part state
|
EAPI const char * ///@return The name of the font used in the given part state
|
||||||
edje_edit_state_font_get(
|
edje_edit_state_font_get(
|
||||||
|
@ -2223,6 +2232,17 @@ EAPI Eina_List * edje_edit_fonts_list_get(Evas_Object *obj);
|
||||||
*/
|
*/
|
||||||
EAPI Eina_Bool edje_edit_font_add(Evas_Object *obj, const char *path, const char* alias);
|
EAPI Eina_Bool edje_edit_font_add(Evas_Object *obj, const char *path, const char* alias);
|
||||||
|
|
||||||
|
/** Delete font from the edje file.
|
||||||
|
*
|
||||||
|
* The font will be removed from all the groups in the edje, not only the current one.
|
||||||
|
*
|
||||||
|
* @param obj Object being edited.
|
||||||
|
* @param alias The font alias
|
||||||
|
*
|
||||||
|
* @return EINA_TRUE if font deleted, EINA_FALSE otherwise.
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool edje_edit_font_del(Evas_Object *obj, const char* alias);
|
||||||
|
|
||||||
/** Get font name for a given part state.
|
/** Get font name for a given part state.
|
||||||
*
|
*
|
||||||
* Remember to free the returned string using edje_edit_string_free().
|
* Remember to free the returned string using edje_edit_string_free().
|
||||||
|
|
|
@ -4297,6 +4297,93 @@ edje_edit_font_add(Evas_Object *obj, const char* path, const char* alias)
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI Eina_Bool
|
||||||
|
edje_edit_font_del(Evas_Object *obj, const char* alias)
|
||||||
|
{
|
||||||
|
Edje_Font_Directory_Entry *fnt;
|
||||||
|
|
||||||
|
GET_ED_OR_RETURN(EINA_FALSE);
|
||||||
|
|
||||||
|
INF("DEL FONT: %s\n", alias);
|
||||||
|
|
||||||
|
if (!alias) return EINA_FALSE;
|
||||||
|
if (!ed->file) return EINA_FALSE;
|
||||||
|
if (!ed->path) return EINA_FALSE;
|
||||||
|
|
||||||
|
if (!ed->file->font_dir)
|
||||||
|
return EINA_TRUE;
|
||||||
|
|
||||||
|
fnt = eina_hash_find(ed->file->font_hash, alias);
|
||||||
|
if (!fnt)
|
||||||
|
{
|
||||||
|
WRN("Unable to find font entry part \"%s\"", alias);
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
ed->file->font_dir->entries = eina_list_remove(
|
||||||
|
ed->file->font_dir->entries,
|
||||||
|
fnt);
|
||||||
|
|
||||||
|
if (!eina_hash_del_by_key(ed->file->font_hash, alias))
|
||||||
|
{
|
||||||
|
ERR("Unable to remove font \"%s\" of fonts hash", alias);
|
||||||
|
|
||||||
|
ed->file->font_dir->entries = eina_list_append(
|
||||||
|
ed->file->font_dir->entries,
|
||||||
|
fnt);
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Erase font to edje file */
|
||||||
|
{
|
||||||
|
char entry[PATH_MAX];
|
||||||
|
Eet_File *eetf;
|
||||||
|
|
||||||
|
/* open the eet file */
|
||||||
|
eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
|
||||||
|
if (!eetf)
|
||||||
|
{
|
||||||
|
ERR("Unable to open \"%s\" for writing output", ed->path);
|
||||||
|
eina_hash_direct_add(ed->file->font_hash, fnt->entry, fnt);
|
||||||
|
ed->file->font_dir->entries = eina_list_append(
|
||||||
|
ed->file->font_dir->entries,
|
||||||
|
fnt);
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
snprintf(entry, sizeof(entry), "fonts/%s", alias);
|
||||||
|
|
||||||
|
if (eet_delete(eetf, entry) <= 0)
|
||||||
|
{
|
||||||
|
ERR("Unable to delete \"%s\" font entry", entry);
|
||||||
|
eet_close(eetf);
|
||||||
|
eina_hash_direct_add(ed->file->font_hash, fnt->entry, fnt);
|
||||||
|
ed->file->font_dir->entries = eina_list_append(
|
||||||
|
ed->file->font_dir->entries,
|
||||||
|
fnt);
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* write the edje_file */
|
||||||
|
if (!_edje_edit_update_edje_file(ed, eetf))
|
||||||
|
{
|
||||||
|
eet_close(eetf);
|
||||||
|
eina_hash_direct_add(ed->file->font_hash, fnt->entry, fnt);
|
||||||
|
ed->file->font_dir->entries = eina_list_append(
|
||||||
|
ed->file->font_dir->entries,
|
||||||
|
fnt);
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
eet_close(eetf);
|
||||||
|
}
|
||||||
|
|
||||||
|
free((char *)fnt->entry);
|
||||||
|
free((char *)fnt->path);
|
||||||
|
free(fnt);
|
||||||
|
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
EAPI const char *
|
EAPI const char *
|
||||||
edje_edit_state_font_get(Evas_Object *obj, const char *part, const char *state, double value)
|
edje_edit_state_font_get(Evas_Object *obj, const char *part, const char *state, double value)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue