efl: Adding much improved textblock style documentation.

SVN revision: 81485
This commit is contained in:
Jonas M. Gastal 2012-12-20 20:42:45 +00:00
parent ac598a94f8
commit 55845c5a3e
2 changed files with 600 additions and 2 deletions

View File

@ -10504,6 +10504,8 @@ EAPI Evas_BiDi_Direction evas_object_text_direction_get(const Evas_Object *obj)
* additional format directives using "tags" that can be set in the style see
* @ref evas_textblock_style_set .
*
* For more details see @ref evas_textblock_style_page
*
* Textblock supports the following formats:
* @li font - Font description in fontconfig like format, e.g: "Sans:style=Italic:lang=hi". or "Serif:style=Bold".
* @li font_weight - Overrides the weight defined in "font". E.g: "font_weight=Bold" is the same as "font=:style=Bold". Supported weights: "normal", "thin", "ultralight", "light", "book", "medium", "semibold", "bold", "ultrabold", "black", and "extrablack".

View File

@ -1,6 +1,6 @@
/**
* @internal
* @section Evas_Object_Textblock_Internal Internal Textblock Object Tutorial
* @subsection Evas_Object_Textblock_Internal Internal Textblock Object Tutorial
*
* This explains the internal design of the Evas Textblock Object, it's assumed
* that the reader of this section has already read @ref Evas_Object_Textblock_Tutorial "Textblock's usage docs.".
@ -1099,6 +1099,12 @@ static const char *passwordstr = NULL;
static const char *underline_dash_widthstr = NULL;
static const char *underline_dash_gapstr = NULL;
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @brief This page describes how to style text in an Evas Text Block.
*/
/**
* @internal
* Init the format strings.
@ -1108,6 +1114,53 @@ _format_command_init(void)
{
if (format_refcount == 0)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @section evas_textblock_style_index Index
*
* The following styling commands are accepted:
* @li @ref evas_textblock_style_font
* @li @ref evas_textblock_style_font_fallback
* @li @ref evas_textblock_style_font_size
* @li @ref evas_textblock_style_font_source
* @li @ref evas_textblock_style_font_weight
* @li @ref evas_textblock_style_font_style
* @li @ref evas_textblock_style_font_width
* @li @ref evas_textblock_style_lang
* @li @ref evas_textblock_style_color
* @li @ref evas_textblock_style_underline_color
* @li @ref evas_textblock_style_underline2_color
* @li @ref evas_textblock_style_underline_dash_color
* @li @ref evas_textblock_style_outline_color
* @li @ref evas_textblock_style_shadow_color
* @li @ref evas_textblock_style_glow_color
* @li @ref evas_textblock_style_glow2_color
* @li @ref evas_textblock_style_backing_color
* @li @ref evas_textblock_style_strikethrough_color
* @li @ref evas_textblock_style_align
* @li @ref evas_textblock_style_valign
* @li @ref evas_textblock_style_wrap
* @li @ref evas_textblock_style_left_margin
* @li @ref evas_textblock_style_right_margin
* @li @ref evas_textblock_style_underline
* @li @ref evas_textblock_style_strikethrough
* @li @ref evas_textblock_style_backing
* @li @ref evas_textblock_style_style
* @li @ref evas_textblock_style_tabstops
* @li @ref evas_textblock_style_linesize
* @li @ref evas_textblock_style_linerelsize
* @li @ref evas_textblock_style_linegap
* @li @ref evas_textblock_style_linerelgap
* @li @ref evas_textblock_style_item
* @li @ref evas_textblock_style_linefill
* @li @ref evas_textblock_style_ellipsis
* @li @ref evas_textblock_style_password
* @li @ref evas_textblock_style_underline_dash_width
* @li @ref evas_textblock_style_underline_dash_gap
*
* @section evas_textblock_style_contents Contents
*/
fontstr = eina_stringshare_add("font");
font_fallbacksstr = eina_stringshare_add("font_fallbacks");
font_sizestr = eina_stringshare_add("font_size");
@ -1261,14 +1314,45 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
if (cmd == fontstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_font Font
*
* This sets the name of the font to be used.
* @code
* font=<font name>
* @endcode
*/
evas_font_name_parse(fmt->font.fdesc, tmp_param);
}
else if (cmd == font_fallbacksstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_font_fallback Font fallback
*
* This sets the name of the fallback font to be used. This font will
* be used if the primary font is not available.
* @code
* font_fallbacks=<font name>
* @endcode
*/
eina_stringshare_replace(&(fmt->font.fdesc->fallbacks), tmp_param);
}
else if (cmd == font_sizestr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_font_size Font size
*
* This sets the the size of font in points to be used.
* @code
* font_size=<size>
* @endcode
*/
int v;
v = atoi(tmp_param);
@ -1279,6 +1363,16 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == font_sourcestr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_font_source Font source
*
* Specify an object from which to search for the font.
* @code
* font_source=<source>
* @endcode
*/
if ((!fmt->font.source) ||
((fmt->font.source) && (strcmp(fmt->font.source, tmp_param))))
{
@ -1288,65 +1382,295 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == font_weightstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_font_weight Font weight
*
* Sets the weight of the font. The value must be one of:
* @li "normal"
* @li "thin"
* @li "ultralight"
* @li "light"
* @li "book"
* @li "medium"
* @li "semibold"
* @li "bold"
* @li "ultrabold"
* @li "black"
* @li "extrablack"
* @code
* font_weight=<weight>
* @endcode
*/
fmt->font.fdesc->weight = evas_font_style_find(tmp_param,
tmp_param + strlen(tmp_param), EVAS_FONT_STYLE_WEIGHT);
}
else if (cmd == font_stylestr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_font_style Font style
*
* Sets the style of the font. The value must be one of:
* @li "normal"
* @li "oblique"
* @li "italic"
* @code
* font_style=<style>
* @endcode
*/
fmt->font.fdesc->slant = evas_font_style_find(tmp_param,
tmp_param + strlen(tmp_param), EVAS_FONT_STYLE_SLANT);
}
else if (cmd == font_widthstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_font_width Font width
*
* Sets the width of the font. The value must be one of:
* @li "normal"
* @li "ultracondensed"
* @li "extracondensed"
* @li "condensed"
* @li "semicondensed"
* @li "semiexpanded"
* @li "expanded"
* @li "extraexpanded"
* @li "ultraexpanded"
* @code
* font_width=<width>
* @endcode
*/
fmt->font.fdesc->width = evas_font_style_find(tmp_param,
tmp_param + strlen(tmp_param), EVAS_FONT_STYLE_WIDTH);
}
else if (cmd == langstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_lang Language
*
* Sets the language of the text for FontConfig.
* @code
* lang=<language>
* @endcode
*/
eina_stringshare_replace(&(fmt->font.fdesc->lang), tmp_param);
}
else if (cmd == colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_color Color
*
* Sets the color of the text. The following formats are accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.normal.r), &(fmt->color.normal.g),
&(fmt->color.normal.b), &(fmt->color.normal.a));
else if (cmd == underline_colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_underline_color Underline Color
*
* Sets the color of the underline. The following formats are accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* underline_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.underline.r), &(fmt->color.underline.g),
&(fmt->color.underline.b), &(fmt->color.underline.a));
else if (cmd == underline2_colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_underline2_color Second Underline Color
*
* Sets the color of the second line of underline(when using underline
* mode "double"). The following formats are accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* underline2_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.underline2.r), &(fmt->color.underline2.g),
&(fmt->color.underline2.b), &(fmt->color.underline2.a));
else if (cmd == underline_dash_colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_underline_dash_color Underline Dash Color
*
* Sets the color of dashed underline. The following formats are accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* underline_dash_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.underline_dash.r), &(fmt->color.underline_dash.g),
&(fmt->color.underline_dash.b), &(fmt->color.underline_dash.a));
else if (cmd == outline_colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_outline_color Outline Color
*
* Sets the color of the outline of the text. The following formats are
* accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* outline_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.outline.r), &(fmt->color.outline.g),
&(fmt->color.outline.b), &(fmt->color.outline.a));
else if (cmd == shadow_colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_shadow_color Shadow Color
*
* Sets the color of the shadow of the text. The following formats are
* accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* shadow_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.shadow.r), &(fmt->color.shadow.g),
&(fmt->color.shadow.b), &(fmt->color.shadow.a));
else if (cmd == glow_colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_glow_color First Glow Color
*
* Sets the first color of the glow of text. The following formats are
* accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* glow_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.glow.r), &(fmt->color.glow.g),
&(fmt->color.glow.b), &(fmt->color.glow.a));
else if (cmd == glow2_colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_glow2_color Second Glow Color
*
* Sets the second color of the glow of text. The following formats are
* accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* glow2_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.glow2.r), &(fmt->color.glow2.g),
&(fmt->color.glow2.b), &(fmt->color.glow2.a));
else if (cmd == backing_colorstr)
_format_color_parse(tmp_param,
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_backing_color Backing Color
*
* Sets a background color for text. The following formats are
* accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* backing_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,11
&(fmt->color.backing.r), &(fmt->color.backing.g),
&(fmt->color.backing.b), &(fmt->color.backing.a));
else if (cmd == strikethrough_colorstr)
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_strikethrough_color Strikethrough Color
*
* Sets the color of text that is striked through. The following formats
* are accepted:
* @li "#RRGGBB"
* @li "#RRGGBBAA"
* @li "#RGB"
* @li "#RGBA"
* @code
* strikethrough_color=<color>
* @endcode
*/
_format_color_parse(tmp_param,
&(fmt->color.strikethrough.r), &(fmt->color.strikethrough.g),
&(fmt->color.strikethrough.b), &(fmt->color.strikethrough.a));
else if (cmd == alignstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_align Horizontal Align
*
* Sets the horizontal alignment of the text. The value can either be
* a number, a percentage or one of several presets:
* @li "auto" - Respects LTR/RTL settings
* @li "center" - Centers the text in the line
* @li "middle" - Alias for "center"
* @li "left" - Puts the text at the left of the line
* @li "right" - Puts the text at the right of the line
* @li <number> - A number between 0.0 and 1.0 where 0.0 represents
* "left" and 1.0 represents "right"
* @li <number>% - A percentage between 0% and 100% where 0%
* represents "left" and 100% represents "right"
* @code
* align=<value or preset>
* @endcode
*/
if (!strcmp(tmp_param, "auto"))
{
fmt->halign_auto = EINA_TRUE;
@ -1377,6 +1701,30 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == valignstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_valign Vertical Align
*
* Sets the vertical alignment of the text. The value can either be
* a number or one of the following presets:
* @li "top" - Puts text at the top of the line
* @li "center" - Centers the text in the line
* @li "middle" - Alias for "center"
* @li "bottom" - Puts the text at the bottom of the line
* @li "baseline" - Baseline
* @li "base" - Alias for "baseline"
* @li <number> - A number between 0.0 and 1.0 where 0.0 represents
* "top" and 1.0 represents "bottom"
* @li <number>% - A percentage between 0% and 100% where 0%
* represents "top" and 100% represents "bottom"
* @code
* valign=<value or preset>
* @endcode
*
* See explanation of baseline at:
* https://en.wikipedia.org/wiki/Baseline_%28typography%29
*/
if (!strcmp(tmp_param, "top")) fmt->valign = 0.0;
else if (!strcmp(tmp_param, "middle")) fmt->valign = 0.5;
else if (!strcmp(tmp_param, "center")) fmt->valign = 0.5;
@ -1401,6 +1749,21 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == wrapstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_wrap Wrap
*
* Sets the wrap policy of the text. The value must be one of the
* following:
* @li "word" - Only wraps lines at word boundaries
* @li "char" - Wraps at any character
* @li "mixed" - Wrap at words if possible, if not at any character
* @li "" - Don't wrap
* @code
* wrap=<value or preset>
* @endcode
*/
if (!strcmp(tmp_param, "word"))
{
fmt->wrap_word = 1;
@ -1423,6 +1786,21 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == left_marginstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_left_margin Left margin
*
* Sets the left margin of the text. The value can be a number, an
* increment, decrement or "reset":
* @li +<number> - Increments existing left margin by <number>
* @li -<number> - Decrements existing left margin by <number>
* @li <number> - Sets left margin to <number>
* @li "reset" - Sets left margin to 0
* @code
* left_margin=<value or reset>
* @endcode
*/
if (!strcmp(tmp_param, "reset"))
fmt->margin.l = 0;
else
@ -1438,6 +1816,21 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == right_marginstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_right_margin Right margin
*
* Sets the right margin of the text. The value can be a number, an
* increment, decrement or "reset":
* @li +<number> - Increments existing right margin by <number>
* @li -<number> - Decrements existing right margin by <number>
* @li <number> - Sets left margin to <number>
* @li "reset" - Sets left margin to 0
* @code
* right_margin=<value or reset>
* @endcode
*/
if (!strcmp(tmp_param, "reset"))
fmt->margin.r = 0;
else
@ -1453,6 +1846,22 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == underlinestr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_underline Underline
*
* Sets if and how a text will be underlined. The value must be one of
* the following:
* @li "off" - No underlining
* @li "single" - A single line under the text
* @li "on" - Alias for "single"
* @li "double" - Two lines under the text
* @li "dashed" - A dashed line under the text
* @code
* underline=off/single/on/double/dashed
* @endcode
*/
if (!strcmp(tmp_param, "off"))
{
fmt->underline = 0;
@ -1474,6 +1883,19 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == strikethroughstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_strikethrough Strikethrough
*
* Sets if the text will be striked through. The value must be one of
* the following:
* @li "off" - No strikethrough
* @li "on" - Strikethrough
* @code
* strikethrough=on/off
* @endcode
*/
if (!strcmp(tmp_param, "off"))
fmt->strikethrough = 0;
else if (!strcmp(tmp_param, "on"))
@ -1481,6 +1903,19 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == backingstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_backing Backing
*
* Sets if the text will have backing. The value must be one of
* the following:
* @li "off" - No backing
* @li "on" - Backing
* @code
* backing=on/off
* @endcode
*/
if (!strcmp(tmp_param, "off"))
fmt->backing = 0;
else if (!strcmp(tmp_param, "on"))
@ -1488,6 +1923,41 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == stylestr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_style Style
*
* Sets the style of the text. The value must be a string composed of
* two comma separated parts. The first part of the value sets the
* appearance of the text, the second the position.
*
* The first part may be any of the following values:
* @li "plain"
* @li "off" - Alias for "plain"
* @li "none" - Alias for "plain"
* @li "shadow"
* @li "outline"
* @li "soft_outline"
* @li "outline_shadow"
* @li "outline_soft_shadow"
* @li "glow"
* @li "far_shadow"
* @li "soft_shadow"
* @li "far_soft_shadow"
* The second part may be any of the following values:
* @li "bottom_right"
* @li "bottom"
* @li "bottom_left"
* @li "left"
* @li "top_left"
* @li "top"
* @li "top_right"
* @li "right"
* @code
* style=<appearance>,<position>
* @endcode
*/
char *p1, *p2, *p, *pp;
p1 = alloca(len + 1);
@ -1545,16 +2015,50 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == tabstopsstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_tabstops Tabstops
*
* Sets the size of the tab character. The value must be a number
* greater than one.
* @code
* tabstops=<number>
* @endcode
*/
fmt->tabstops = atoi(tmp_param);
if (fmt->tabstops < 1) fmt->tabstops = 1;
}
else if (cmd == linesizestr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_linesize Line size
*
* Sets the size of line of text. The value should be a number.
* @warning Setting this value sets linerelsize to 0%!
* @code
* linesize=<number>
* @endcode
*/
fmt->linesize = atoi(tmp_param);
fmt->linerelsize = 0.0;
}
else if (cmd == linerelsizestr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_linerelsize Relative line size
*
* Sets the relative size of line of text. The value must be a
* percentage.
* @warning Setting this value sets linesize to 0!
* @code
* linerelsize=<number>%
* @endcode
*/
char *endptr = NULL;
double val = strtod(tmp_param, &endptr);
if (endptr)
@ -1571,11 +2075,35 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == linegapstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_linegap Line gap
*
* Sets the size of the line gap in text. The value should be a
* number.
* @warning Setting this value sets linerelgap to 0%!
* @code
* linegap=<number>
* @endcode
*/
fmt->linegap = atoi(tmp_param);
fmt->linerelgap = 0.0;
}
else if (cmd == linerelgapstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_linerelgap Relative line gap
*
* Sets the relative size of the line gap in text. The value must be
* a percentage.
* @warning Setting this value sets linegap to 0!
* @code
* linerelgap=<number>%
* @endcode
*/
char *endptr = NULL;
double val = strtod(tmp_param, &endptr);
if (endptr)
@ -1592,11 +2120,32 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == itemstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_item Item
*
* Not implemented! Does nothing!
* @code
* item=<anything>
* @endcode
*/
// itemstr == replacement object items in textblock - inline imges
// for example
}
else if (cmd == linefillstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_linefill Line fill
*
* Sets the size of the line fill in text. The value must be a
* percentage.
* @code
* linefill=<number>%
* @endcode
*/
char *endptr = NULL;
double val = strtod(tmp_param, &endptr);
if (endptr)
@ -1612,6 +2161,19 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == ellipsisstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_ellipsis Ellipsis
*
* Sets ellipsis mode. The value should be a number. Any value smaller
* than 0.0 or greater than 1.0 disables ellipsis.
* A value of 0 means ellipsizing the leftmost portion of the text
* first, 1 on the other hand the rightmost portion.
* @code
* ellipsis=<number>
* @endcode
*/
char *endptr = NULL;
fmt->ellipsis = strtod(tmp_param, &endptr);
if ((fmt->ellipsis < 0.0) || (fmt->ellipsis > 1.0))
@ -1624,6 +2186,20 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == passwordstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_password Password
*
* Sets if the text is being used for passwords. Enabling this causes
* all characters to be substituted for '*'.
* Value must be one of the following:
* @li "on" - Enable
* @li "off" - Disable
* @code
* password=<number>
* @endcode
*/
if (!strcmp(tmp_param, "off"))
fmt->password = 0;
else if (!strcmp(tmp_param, "on"))
@ -1631,11 +2207,31 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
}
else if (cmd == underline_dash_widthstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_underline_dash_width Underline dash width
*
* Sets the width of the underline dash. The value should be a number.
* @code
* underline_dash_width=<number>
* @endcode
*/
fmt->underline_dash_width = atoi(tmp_param);
if (fmt->underline_dash_width <= 0) fmt->underline_dash_width = 1;
}
else if (cmd == underline_dash_gapstr)
{
/**
* @page evas_textblock_style_page Evas Textblock Style Options
*
* @subsection evas_textblock_style_underline_dash_gap Underline dash gap
*
* Sets the gap of the underline dash. The value should be a number.
* @code
* underline_dash_gap=<number>
* @endcode
*/
fmt->underline_dash_gap = atoi(tmp_param);
if (fmt->underline_dash_gap <= 0) fmt->underline_dash_gap = 1;
}