Commit 9b7d6abd2cf522e417d441f42d3e8ae887bf35eb

Authored by perry.werneck@gmail.com
1 parent 0e86747c

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 }