Hello, The attached patch adds the following three functions into ewl_textarea
int ewl_textarea_get_font_size(Ewl_TextArea *ta); void ewl_textarea_set_font_size(Ewl_TextArea *ta, int size); void ewl_textarea_apply_selection(Ewl_TextArea *ta, int start, int end); The apply_selection will apply the currently set context into the specified part of the etox. (I am using these to inc/decrease the font size on a textarea on key press). The set/get font size work off of the context stored in the textarea, so they won't be applied until you do a selection. Not sure if you want to apply them or not, but thought they maybe handy. Thanks, dan
Index: ewl_textarea.c =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_textarea.c,v retrieving revision 1.22 diff -r1.22 ewl_textarea.c 149a150,203 > /** > * @param ta: the textarea to retrieve the font size > * @return Returns the font size in @a ta > * @brief Return the font size for the text area > */ > int ewl_textarea_get_font_size(Ewl_TextArea *ta) > { > char * font; > int size; > > DENTER_FUNCTION(DLEVEL_STABLE) > > font = etox_context_get_font(ta->etox_context, &size); > free(font); > > DRETURN_INT(size, DLEVEL_STABLE); > } > > /** > * @param ta: the textarea to set the font size > * @return Returns no value > * @brief Set the font size of the text area @a ta > */ > void ewl_textarea_set_font_size(Ewl_TextArea *ta, int size) > { > DENTER_FUNCTION(DLEVEL_STABLE); > > etox_context_set_font_size(ta->etox_context, size); > > DRETURN(DLEVEL_STABLE); > } > > /** > * @param ta: the textarea to apply the selection > * @param start: the start index of the selection > * @param end: the end index of the selection > * @return Returns no value > * @brief Apply the current context to the given selection area > */ > void ewl_textarea_apply_selection(Ewl_TextArea *ta, int start, int end) > { > Etox_Selection *sel = NULL; > > DENTER_FUNCTION(DLEVEL_STABLE); > > sel = etox_select_index(ta->etox, start, end); > etox_selection_apply_context(sel, ta->etox_context); > > /* update the size of the textarea */ > ewl_textarea_update_size(ta); > > DRETURN(DLEVEL_STABLE); > } > 224a279,280 > > ta->etox_context = etox_get_context(ta->etox); Index: ewl_textarea.h =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_textarea.h,v retrieving revision 1.10 diff -r1.10 ewl_textarea.h 52a53,58 > int ewl_textarea_get_font_size(Ewl_TextArea *ta); > void ewl_textarea_set_font_size(Ewl_TextArea *ta, int size); > > void ewl_textarea_apply_selection(Ewl_TextArea *ta, int start, > int end); >