summaryrefslogtreecommitdiff
path: root/src/lib/evas/common/evas_text_utils.h
diff options
context:
space:
mode:
authorPaulo Alcantara <pcacjr@profusion.mobi>2013-01-15 17:35:11 +0000
committerUlisses Furquim <ulisses@profusion.mobi>2013-01-15 17:35:11 +0000
commitb557bd9e0d3f1e056a7c554d9767710e096dace8 (patch)
tree2d3aabf729a3e9d4f987d26c557c34381ceb33ae /src/lib/evas/common/evas_text_utils.h
parent8d983bb092b59423fd90aa324e45935382e4b4b4 (diff)
efl/engines: Introduce multi_font_draw() function
This new engine function will only be used in software generic for now - since it's the only engine used with the async render. This function has been introduced in order to avoid growing thread command queue too much to draw a text_props at a time on render calls from textgrid objects. Patch by: Paulo Alcantara <pcacjr@profusion.mobi> SVN revision: 82832
Diffstat (limited to 'src/lib/evas/common/evas_text_utils.h')
-rw-r--r--src/lib/evas/common/evas_text_utils.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/lib/evas/common/evas_text_utils.h b/src/lib/evas/common/evas_text_utils.h
index f2f65a396b..144761ea28 100644
--- a/src/lib/evas/common/evas_text_utils.h
+++ b/src/lib/evas/common/evas_text_utils.h
@@ -1,12 +1,13 @@
1#ifndef _EVAS_TEXT_UTILS_H 1#ifndef _EVAS_TEXT_UTILS_H
2# define _EVAS_TEXT_UTILS_H 2# define _EVAS_TEXT_UTILS_H
3 3
4 4typedef struct _Evas_Text_Props Evas_Text_Props;
5typedef struct _Evas_Text_Props Evas_Text_Props;
6// special case props 5// special case props
7typedef struct _Evas_Text_Props_One Evas_Text_Props_One; 6typedef struct _Evas_Text_Props_One Evas_Text_Props_One;
8 7
9typedef struct _Evas_Text_Props_Info Evas_Text_Props_Info; 8typedef struct _Evas_Text_Props_Info Evas_Text_Props_Info;
9typedef struct _Evas_Font_Array_Data Evas_Font_Array_Data;
10typedef struct _Evas_Font_Array Evas_Font_Array;
10typedef struct _Evas_Font_Glyph_Info Evas_Font_Glyph_Info; 11typedef struct _Evas_Font_Glyph_Info Evas_Font_Glyph_Info;
11 12
12typedef enum 13typedef enum
@@ -100,6 +101,21 @@ struct _Evas_Text_Props_Info
100 unsigned int refcount; // 4 101 unsigned int refcount; // 4
101}; 102};
102 103
104struct _Evas_Font_Array_Data
105{
106 struct {
107 unsigned char r, g, b, a;
108 } color;
109 int x;
110 Evas_Glyph_Array *glyphs;
111};
112
113struct _Evas_Font_Array
114{
115 Eina_Inarray *array;
116 unsigned int refcount;
117};
118
103/* Sorted in visual order when created */ 119/* Sorted in visual order when created */
104struct _Evas_Font_Glyph_Info 120struct _Evas_Font_Glyph_Info
105{ 121{
@@ -125,6 +141,11 @@ void
125evas_common_font_glyphs_unref(Evas_Glyph_Array *array); 141evas_common_font_glyphs_unref(Evas_Glyph_Array *array);
126 142
127void 143void
144evas_common_font_fonts_ref(Evas_Font_Array *array);
145void
146evas_common_font_fonts_unref(Evas_Font_Array *array);
147
148void
128evas_common_text_props_bidi_set(Evas_Text_Props *props, 149evas_common_text_props_bidi_set(Evas_Text_Props *props,
129 Evas_BiDi_Paragraph_Props *bidi_par_props, size_t start); 150 Evas_BiDi_Paragraph_Props *bidi_par_props, size_t start);
130 151