path: root/src/lib/evas/common/evas_draw_main.c
diff options
authorYoungbok Shin <>2015-03-19 19:02:02 +0900
committerCarsten Haitzler (Rasterman) <>2015-03-19 19:02:03 +0900
commite197f8804f9a2bded1f7a0e5bccf5fb33c415d77 (patch)
tree72640ffb0fcc3b80a6addc7190bb7d503521cb31 /src/lib/evas/common/evas_draw_main.c
parent6616d11619796eb94755ac62f193dc4ec17c2b48 (diff)
evas: Support bitmap embedded color font.
Summary: Add the code for getting bitmap buffers from embedded color font, And draw the bitmap buffers as images. For drawing the bitmap buffers as images, evas_common_draw_context_font_ext_set internal API is changed to pass additional gl engine functions. T2139 @feature Test Plan: 1. Set a bitmap embedded color font to textblock. 2. Set a unicode emoticon text. 3. See the result. Please check the sample unicode in the following link. Reviewers: tasn, woohyun, jpeg, raster Reviewed By: raster Subscribers: herdsman, cedric Differential Revision:
Diffstat (limited to 'src/lib/evas/common/evas_draw_main.c')
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/evas/common/evas_draw_main.c b/src/lib/evas/common/evas_draw_main.c
index 27541bbab3..01ba20c679 100644
--- a/src/lib/evas/common/evas_draw_main.c
+++ b/src/lib/evas/common/evas_draw_main.c
@@ -108,15 +108,21 @@ evas_common_draw_context_clear_cutouts(RGBA_Draw_Context *dc)
108 108
109EAPI void 109EAPI void
110evas_common_draw_context_font_ext_set(RGBA_Draw_Context *dc, 110evas_common_draw_context_font_ext_set(RGBA_Draw_Context *dc,
111 void *data, 111 void *data,
112 void *(*gl_new) (void *data, RGBA_Font_Glyph *fg), 112 void *(*gl_new) (void *data, RGBA_Font_Glyph *fg),
113 void (*gl_free) (void *ext_dat), 113 void (*gl_free) (void *ext_dat),
114 void (*gl_draw) (void *data, void *dest, void *context, RGBA_Font_Glyph *fg, int x, int y)) 114 void (*gl_draw) (void *data, void *dest, void *context, RGBA_Font_Glyph *fg, int x, int y),
115 void *(*gl_image_new_from_data) (void *gc, unsigned int w, unsigned int h, DATA32 *image_data, int alpha, Evas_Colorspace cspace),
116 void (*gl_image_free) (void *image),
117 void (*gl_image_draw) (void *gc, void *im, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, int smooth))
115{ 118{
116 dc-> = data; 119 dc-> = data;
117 dc->font_ext.func.gl_new = gl_new; 120 dc->font_ext.func.gl_new = gl_new;
118 dc->font_ext.func.gl_free = gl_free; 121 dc->font_ext.func.gl_free = gl_free;
119 dc->font_ext.func.gl_draw = gl_draw; 122 dc->font_ext.func.gl_draw = gl_draw;
123 dc->font_ext.func.gl_image_new_from_data = gl_image_new_from_data;
124 dc->font_ext.func.gl_image_free = gl_image_free;
125 dc->font_ext.func.gl_image_draw = gl_image_draw;
120} 126}
121 127
122EAPI void 128EAPI void