Commit 9b7d6abd2cf522e417d441f42d3e8ae887bf35eb
1 parent
0e86747c
Exists in
master
and in
5 other branches
Separando função de desenho de caractere já preparando para a desativação da "cairo-toy"
Showing
1 changed file
with
13 additions
and
13 deletions
Show diff stats
src/pw3270/v3270/draw.c
@@ -142,6 +142,13 @@ void v3270_draw_element(cairo_t *cr, unsigned char chr, unsigned short attr, H32 | @@ -142,6 +142,13 @@ void v3270_draw_element(cairo_t *cr, unsigned char chr, unsigned short attr, H32 | ||
142 | 142 | ||
143 | } | 143 | } |
144 | 144 | ||
145 | +void v3270_draw_text(cairo_t *cr, const GdkRectangle *rect, guint height, const char *str) { | ||
146 | + | ||
147 | + cairo_move_to(cr,rect->x,rect->y+height); | ||
148 | + cairo_show_text(cr, str); | ||
149 | + | ||
150 | +} | ||
151 | + | ||
145 | void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 *session, guint height, GdkRectangle *rect, GdkRGBA *fg, GdkRGBA *bg) | 152 | void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 *session, guint height, GdkRectangle *rect, GdkRGBA *fg, GdkRGBA *bg) |
146 | { | 153 | { |
147 | // Clear element area | 154 | // Clear element area |
@@ -167,7 +174,6 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 | @@ -167,7 +174,6 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 | ||
167 | cairo_scale(cr, sz, sz); | 174 | cairo_scale(cr, sz, sz); |
168 | cairo_arc(cr, 0., 0., 1., 0., 2 * M_PI); | 175 | cairo_arc(cr, 0., 0., 1., 0., 2 * M_PI); |
169 | 176 | ||
170 | - | ||
171 | cairo_restore(cr); | 177 | cairo_restore(cr); |
172 | } | 178 | } |
173 | else if(attr & LIB3270_ATTR_CG) | 179 | else if(attr & LIB3270_ATTR_CG) |
@@ -244,28 +250,23 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 | @@ -244,28 +250,23 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 | ||
244 | break; | 250 | break; |
245 | 251 | ||
246 | case 0x8c: // CG 0xf7, less or equal "≤" | 252 | case 0x8c: // CG 0xf7, less or equal "≤" |
247 | - cairo_move_to(cr,rect->x,rect->y+height); | ||
248 | - cairo_show_text(cr, "≤"); | 253 | + v3270_draw_text(cr,rect,height,"≤"); |
249 | break; | 254 | break; |
250 | 255 | ||
251 | case 0xae: // CG 0xd9, greater or equal "≥" | 256 | case 0xae: // CG 0xd9, greater or equal "≥" |
252 | - cairo_move_to(cr,rect->x,rect->y+height); | ||
253 | - cairo_show_text(cr, "≥"); | 257 | + v3270_draw_text(cr,rect,height,"≥"); |
254 | break; | 258 | break; |
255 | 259 | ||
256 | case 0xbe: // CG 0x3e, not equal "≠" | 260 | case 0xbe: // CG 0x3e, not equal "≠" |
257 | - cairo_move_to(cr,rect->x,rect->y+height); | ||
258 | - cairo_show_text(cr, "≠"); | 261 | + v3270_draw_text(cr,rect,height,"≠"); |
259 | break; | 262 | break; |
260 | 263 | ||
261 | case 0xad: // "[" | 264 | case 0xad: // "[" |
262 | - cairo_move_to(cr,rect->x,rect->y+height); | ||
263 | - cairo_show_text(cr, "["); | 265 | + v3270_draw_text(cr,rect,height,"["); |
264 | break; | 266 | break; |
265 | 267 | ||
266 | case 0xbd: // "]" | 268 | case 0xbd: // "]" |
267 | - cairo_move_to(cr,rect->x,rect->y+height); | ||
268 | - cairo_show_text(cr, "]"); | 269 | + v3270_draw_text(cr,rect,height,"]"); |
269 | break; | 270 | break; |
270 | 271 | ||
271 | default: | 272 | default: |
@@ -278,8 +279,7 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 | @@ -278,8 +279,7 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 | ||
278 | 279 | ||
279 | if(utf) | 280 | if(utf) |
280 | { | 281 | { |
281 | - cairo_move_to(cr,rect->x,rect->y+height); | ||
282 | - cairo_show_text(cr, utf); | 282 | + v3270_draw_text(cr,rect,height,utf); |
283 | g_free(utf); | 283 | g_free(utf); |
284 | } | 284 | } |
285 | } | 285 | } |