Commit 81d108b9fe3d31177c3f7fcea77dc12d8b780609
1 parent
9b7d6abd
Exists in
master
and in
5 other branches
Iniciando substituição da cairo toy
Showing
1 changed file
with
27 additions
and
0 deletions
Show diff stats
src/pw3270/v3270/draw.c
@@ -144,8 +144,35 @@ void v3270_draw_element(cairo_t *cr, unsigned char chr, unsigned short attr, H32 | @@ -144,8 +144,35 @@ void v3270_draw_element(cairo_t *cr, unsigned char chr, unsigned short attr, H32 | ||
144 | 144 | ||
145 | void v3270_draw_text(cairo_t *cr, const GdkRectangle *rect, guint height, const char *str) { | 145 | void v3270_draw_text(cairo_t *cr, const GdkRectangle *rect, guint height, const char *str) { |
146 | 146 | ||
147 | + cairo_status_t status; | ||
148 | + cairo_glyph_t * glyphs = NULL; | ||
149 | + int num_glyphs = 0; | ||
150 | + cairo_text_cluster_t * clusters = NULL; | ||
151 | + int num_clusters = 0; | ||
152 | + cairo_text_cluster_flags_t cluster_flags; | ||
153 | + cairo_scaled_font_t * scaled_font = cairo_get_scaled_font (cr); | ||
154 | + | ||
155 | + status = cairo_scaled_font_text_to_glyphs( | ||
156 | + scaled_font, | ||
157 | + (double) rect->x, (double) (rect->y+height), | ||
158 | + str, strlen(str), | ||
159 | + &glyphs, &num_glyphs, | ||
160 | + &clusters, &num_clusters, &cluster_flags ); | ||
161 | + | ||
162 | + if (status == CAIRO_STATUS_SUCCESS) { | ||
163 | + cairo_show_text_glyphs (cr,str,strlen(str),glyphs, num_glyphs,clusters, num_clusters, cluster_flags); | ||
164 | + } | ||
165 | + | ||
166 | + if(glyphs) | ||
167 | + cairo_glyph_free(glyphs); | ||
168 | + | ||
169 | + if(clusters) | ||
170 | + cairo_text_cluster_free(clusters); | ||
171 | + | ||
172 | +/* | ||
147 | cairo_move_to(cr,rect->x,rect->y+height); | 173 | cairo_move_to(cr,rect->x,rect->y+height); |
148 | cairo_show_text(cr, str); | 174 | cairo_show_text(cr, str); |
175 | +*/ | ||
149 | 176 | ||
150 | } | 177 | } |
151 | 178 |