Commit 1974bba97d6cecfc80d64bf3cc8470957371027e

Authored by perry.werneck@gmail.com
1 parent b97b5d0f
Exists in master and in 1 other branch develop

Objeto GdkColor foi "deprecado" substituindo por GdkRGBA

Showing 4 changed files with 75 additions and 71 deletions   Show diff stats
draw.c
... ... @@ -49,7 +49,7 @@ gboolean v3270_draw(GtkWidget * widget, cairo_t * cr)
49 49 GtkAllocation allocation;
50 50 gtk_widget_get_allocation(widget, &allocation);
51 51  
52   - gdk_cairo_set_source_color(cr,terminal->color+V3270_COLOR_CROSS_HAIR);
  52 + gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_CROSS_HAIR);
53 53  
54 54 cairo_rectangle(cr, 0,terminal->cursor.rect.y+terminal->metrics.height,allocation.width,1);
55 55 cairo_fill(cr);
... ... @@ -94,7 +94,7 @@ gboolean v3270_expose(GtkWidget *widget, GdkEventExpose *event)
94 94 #endif // GTk3
95 95  
96 96  
97   -static void get_element_colors(unsigned short attr, GdkColor **fg, GdkColor **bg, GdkColor *color)
  97 +static void get_element_colors(unsigned short attr, GdkRGBA **fg, GdkRGBA **bg, GdkRGBA *color)
98 98 {
99 99 if(attr & LIB3270_ATTR_SELECTED)
100 100 {
... ... @@ -112,10 +112,10 @@ static void get_element_colors(unsigned short attr, GdkColor **fg, GdkColor **bg
112 112 }
113 113 }
114 114  
115   -void v3270_draw_element(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 *session, guint height, GdkRectangle *rect, GdkColor *color)
  115 +void v3270_draw_element(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 *session, guint height, GdkRectangle *rect, GdkRGBA *color)
116 116 {
117   - GdkColor *fg;
118   - GdkColor *bg;
  117 + GdkRGBA *fg;
  118 + GdkRGBA *bg;
119 119  
120 120 get_element_colors(attr,&fg,&bg,color);
121 121 v3270_draw_char(cr,chr,attr,session,height,rect,fg,bg);
... ... @@ -132,7 +132,7 @@ void v3270_draw_element(cairo_t *cr, unsigned char chr, unsigned short attr, H32
132 132 if(sl < 1)
133 133 sl = 1;
134 134  
135   - gdk_cairo_set_source_color(cr,fg);
  135 + gdk_cairo_set_source_rgba(cr,fg);
136 136  
137 137 cairo_rectangle(cr,rect->x,rect->y+sl+extents.ascent+(extents.descent/2),rect->width,sl);
138 138 cairo_fill(cr);
... ... @@ -143,15 +143,15 @@ void v3270_draw_element(cairo_t *cr, unsigned char chr, unsigned short attr, H32
143 143  
144 144 }
145 145  
146   -void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 *session, guint height, GdkRectangle *rect, GdkColor *fg, GdkColor *bg)
  146 +void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 *session, guint height, GdkRectangle *rect, GdkRGBA *fg, GdkRGBA *bg)
147 147 {
148 148 // Clear element area
149   - gdk_cairo_set_source_color(cr,bg);
  149 + gdk_cairo_set_source_rgba(cr,bg);
150 150 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
151 151 cairo_fill(cr);
152 152  
153 153 // Set foreground color
154   - gdk_cairo_set_source_color(cr,fg);
  154 + gdk_cairo_set_source_rgba(cr,fg);
155 155  
156 156 // Draw char
157 157 if( (attr & LIB3270_ATTR_MARKER) && lib3270_get_toggle(session,LIB3270_TOGGLE_VIEW_FIELD) )
... ... @@ -329,7 +329,7 @@ void v3270_reload(GtkWidget *widget)
329 329 cr = cairo_create(terminal->surface);
330 330 v3270_update_font_metrics(terminal, cr, width, height);
331 331  
332   - gdk_cairo_set_source_color(cr,terminal->color+V3270_COLOR_BACKGROUND);
  332 + gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_BACKGROUND);
333 333 cairo_rectangle(cr, 0, 0, width, height);
334 334 cairo_fill(cr);
335 335 cairo_stroke(cr);
... ... @@ -422,8 +422,8 @@ void v3270_update_cursor_surface(v3270 *widget,unsigned char chr,unsigned short
422 422 {
423 423 GdkRectangle rect = widget->cursor.rect;
424 424 cairo_t * cr = cairo_create(widget->cursor.surface);
425   - GdkColor * fg;
426   - GdkColor * bg;
  425 + GdkRGBA * fg;
  426 + GdkRGBA * bg;
427 427  
428 428 get_element_colors(attr,&fg,&bg,widget->color);
429 429  
... ...
oia.c
... ... @@ -70,7 +70,7 @@ static void short2string(char *ptr, unsigned short vlr, size_t sz)
70 70  
71 71  
72 72 #ifdef HAVE_LIBM
73   -static gint draw_spinner(cairo_t *cr, GdkRectangle *r, GdkColor *color, gint step)
  73 +static gint draw_spinner(cairo_t *cr, GdkRectangle *r, GdkRGBA *color, gint step)
74 74 {
75 75 static const guint num_steps = 10;
76 76  
... ... @@ -123,7 +123,7 @@ static gint draw_spinner(cairo_t *cr, GdkRectangle *r, GdkColor *color, gint ste
123 123 }
124 124 #endif // HAVE_LIBM
125 125  
126   -static void setup_cursor_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkColor *color)
  126 +static void setup_cursor_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkRGBA *color)
127 127 {
128 128 rect->width = metrics->width * 8;
129 129 rect->x -= rect->width;
... ... @@ -135,7 +135,7 @@ static void setup_cursor_position(GdkRectangle *rect, struct v3270_metrics *metr
135 135 }
136 136 }
137 137  
138   -static void setup_timer_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkColor *color)
  138 +static void setup_timer_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkRGBA *color)
139 139 {
140 140 char buffer[7];
141 141 cairo_text_extents_t extents;
... ... @@ -150,14 +150,14 @@ static void setup_timer_position(GdkRectangle *rect, struct v3270_metrics *metri
150 150 rect->x -= rect->width;
151 151 }
152 152  
153   -static void setup_spinner_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkColor *color)
  153 +static void setup_spinner_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkRGBA *color)
154 154 {
155 155 rect->width = rect->height;
156 156 rect->x -= rect->width;
157 157 // draw_spinner(cr,rect,color,0);
158 158 }
159 159  
160   -static void setup_luname_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkColor *color)
  160 +static void setup_luname_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkRGBA *color)
161 161 {
162 162 const char *luname = lib3270_get_luname(host);
163 163  
... ... @@ -171,7 +171,7 @@ static void setup_luname_position(GdkRectangle *rect, struct v3270_metrics *metr
171 171 #ifdef DEBUG
172 172 cairo_set_source_rgb(cr,0.1,0.1,0.1);
173 173 #else
174   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_BACKGROUND);
  174 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_BACKGROUND);
175 175 #endif
176 176  
177 177 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
... ... @@ -180,7 +180,7 @@ static void setup_luname_position(GdkRectangle *rect, struct v3270_metrics *metr
180 180 if(luname)
181 181 {
182 182 cairo_move_to(cr,rect->x,rect->y+metrics->height);
183   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_LUNAME);
  183 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_LUNAME);
184 184 cairo_show_text(cr,luname);
185 185 cairo_stroke(cr);
186 186 }
... ... @@ -189,7 +189,7 @@ static void setup_luname_position(GdkRectangle *rect, struct v3270_metrics *metr
189 189  
190 190 }
191 191  
192   -static void setup_single_char_right(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkColor *color)
  192 +static void setup_single_char_right(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkRGBA *color)
193 193 {
194 194 rect->x -= rect->width;
195 195  
... ... @@ -201,7 +201,7 @@ static void setup_single_char_right(GdkRectangle *rect, struct v3270_metrics *me
201 201  
202 202 }
203 203  
204   -static void setup_insert_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkColor *color)
  204 +static void setup_insert_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkRGBA *color)
205 205 {
206 206 if(rect->width > rect->height)
207 207 {
... ... @@ -225,7 +225,7 @@ static void setup_insert_position(GdkRectangle *rect, struct v3270_metrics *metr
225 225  
226 226  
227 227  
228   -static void setup_double_char_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkColor *color)
  228 +static void setup_double_char_position(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkRGBA *color)
229 229 {
230 230 rect->width <<= 1;
231 231 rect->x -= rect->width;
... ... @@ -238,12 +238,12 @@ static void setup_double_char_position(GdkRectangle *rect, struct v3270_metrics
238 238  
239 239 }
240 240  
241   -static void draw_undera(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkColor *color, GdkRectangle *rect)
  241 +static void draw_undera(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkRGBA *color, GdkRectangle *rect)
242 242 {
243 243 #ifdef DEBUG
244 244 cairo_set_source_rgb(cr,0.1,0.1,0.1);
245 245 #else
246   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_BACKGROUND);
  246 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_BACKGROUND);
247 247 #endif
248 248  
249 249 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
... ... @@ -255,11 +255,11 @@ static void draw_undera(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics,
255 255 cairo_text_extents_t extents;
256 256 int x,y;
257 257  
258   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_BACKGROUND);
  258 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_BACKGROUND);
259 259 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
260 260 cairo_fill(cr);
261 261  
262   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_FOREGROUND);
  262 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_FOREGROUND);
263 263  
264 264 cairo_text_extents(cr,chr,&extents);
265 265  
... ... @@ -286,15 +286,15 @@ static void draw_centered_text(cairo_t *cr, struct v3270_metrics *metrics, int x
286 286 cairo_show_text(cr,str);
287 287 }
288 288  
289   -void v3270_draw_connection(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkColor *color, const GdkRectangle *rect)
  289 +void v3270_draw_connection(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkRGBA *color, const GdkRectangle *rect)
290 290 {
291 291 const gchar *str;
292 292  
293   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_BACKGROUND);
  293 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_BACKGROUND);
294 294 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
295 295 cairo_fill(cr);
296 296  
297   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_FOREGROUND);
  297 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_FOREGROUND);
298 298 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
299 299 cairo_stroke(cr);
300 300  
... ... @@ -337,12 +337,12 @@ static void draw_xbm(cairo_t *cr, GdkRectangle *rect, int width, int height, uns
337 337 cairo_restore(cr);
338 338 }
339 339  
340   -void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkColor *color, GdkRectangle *rect)
  340 +void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkRGBA *color, GdkRectangle *rect)
341 341 {
342 342 #ifdef DEBUG
343 343 cairo_set_source_rgb(cr,0.1,0.1,0.1);
344 344 #else
345   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_BACKGROUND);
  345 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_BACKGROUND);
346 346 #endif
347 347  
348 348 cairo_translate(cr, rect->x, rect->y);
... ... @@ -352,24 +352,24 @@ void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metri
352 352 switch(lib3270_get_secure(host))
353 353 {
354 354 case LIB3270_SSL_UNSECURE: /**< No secure connection */
355   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_FOREGROUND);
  355 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_FOREGROUND);
356 356 draw_xbm(cr,rect,unlocked_width,unlocked_height,unlocked_bits);
357 357 break;
358 358  
359 359 case LIB3270_SSL_NEGOTIATING: /**< Negotiating SSL */
360   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_WARNING);
  360 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_STATUS_WARNING);
361 361 draw_xbm(cr,rect,negotiated_width,negotiated_height,negotiated_bits);
362 362 break;
363 363  
364 364 case LIB3270_SSL_NEGOTIATED: /**< Connection secure, no CA or self-signed */
365   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_OK);
  365 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_STATUS_OK);
366 366 draw_xbm(cr,rect,locked_width,locked_height,locked_bits);
367   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_WARNING);
  367 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_STATUS_WARNING);
368 368 draw_xbm(cr,rect,warning_width,warning_height,warning_bits);
369 369 break;
370 370  
371 371 case LIB3270_SSL_SECURE: /**< Connection secure with CA check */
372   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_OK);
  372 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_STATUS_OK);
373 373 draw_xbm(cr,rect,locked_width,locked_height,locked_bits);
374 374 break;
375 375  
... ... @@ -381,7 +381,7 @@ void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metri
381 381  
382 382 }
383 383  
384   -static void draw_status_message(cairo_t *cr, LIB3270_MESSAGE id, struct v3270_metrics *metrics, GdkColor *color, GdkRectangle *rect)
  384 +static void draw_status_message(cairo_t *cr, LIB3270_MESSAGE id, struct v3270_metrics *metrics, GdkRGBA *color, GdkRectangle *rect)
385 385 {
386 386 #ifdef DEBUG
387 387 #define OIA_MESSAGE(x,c,y) { #x, c, y }
... ... @@ -477,14 +477,14 @@ static void draw_status_message(cairo_t *cr, LIB3270_MESSAGE id, struct v3270_me
477 477  
478 478 if(msg)
479 479 {
480   - gdk_cairo_set_source_color(cr,color+message[id].color);
  480 + gdk_cairo_set_source_rgba(cr,color+message[id].color);
481 481 cairo_move_to(cr,rect->x,rect->y+metrics->height);
482 482 cairo_show_text(cr,gettext(msg));
483 483 }
484 484  
485 485 }
486 486  
487   -static void draw_insert(cairo_t *cr, H3270 *host, GdkColor *color, GdkRectangle *rect)
  487 +static void draw_insert(cairo_t *cr, H3270 *host, GdkRGBA *color, GdkRectangle *rect)
488 488 {
489 489 if(lib3270_get_toggle(host,LIB3270_TOGGLE_INSERT))
490 490 {
... ... @@ -493,7 +493,7 @@ static void draw_insert(cairo_t *cr, H3270 *host, GdkColor *color, GdkRectangle
493 493 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
494 494 cairo_clip(cr);
495 495  
496   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_FOREGROUND);
  496 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_FOREGROUND);
497 497  
498 498 cairo_move_to(cr,rect->x,y);
499 499 cairo_rel_line_to(cr,rect->width/2,-(rect->height/1.7));
... ... @@ -503,12 +503,12 @@ static void draw_insert(cairo_t *cr, H3270 *host, GdkColor *color, GdkRectangle
503 503  
504 504 }
505 505  
506   -void v3270_draw_oia(cairo_t *cr, H3270 *host, int row, int cols, struct v3270_metrics *metrics, GdkColor *color, GdkRectangle *rect)
  506 +void v3270_draw_oia(cairo_t *cr, H3270 *host, int row, int cols, struct v3270_metrics *metrics, GdkRGBA *color, GdkRectangle *rect)
507 507 {
508 508 static const struct _right_fields
509 509 {
510 510 V3270_OIA_FIELD id;
511   - void (*draw)(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkColor *color);
  511 + void (*draw)(GdkRectangle *rect, struct v3270_metrics *metrics, cairo_t *cr, H3270 *host, int cols, GdkRGBA *color);
512 512 } right[] =
513 513 {
514 514 { V3270_OIA_CURSOR_POSITION, setup_cursor_position },
... ... @@ -532,13 +532,13 @@ void v3270_draw_oia(cairo_t *cr, H3270 *host, int row, int cols, struct v3270_me
532 532 int lCol = metrics->left+1;
533 533  
534 534 row += OIA_TOP_MARGIN;
535   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_SEPARATOR);
  535 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_SEPARATOR);
536 536 cairo_rectangle(cr, metrics->left, row, cols*metrics->width, 1);
537 537 cairo_fill(cr);
538 538  
539 539 row += 2;
540 540  
541   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_BACKGROUND);
  541 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_BACKGROUND);
542 542 cairo_rectangle(cr, metrics->left, row, cols*metrics->width, metrics->spacing);
543 543 cairo_fill(cr);
544 544  
... ... @@ -551,12 +551,12 @@ void v3270_draw_oia(cairo_t *cr, H3270 *host, int row, int cols, struct v3270_me
551 551 r->y = row;
552 552 r->width = metrics->width;
553 553 r->height = metrics->spacing;
554   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_FOREGROUND);
  554 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_FOREGROUND);
555 555 right[f].draw(r,metrics,cr,host,cols,color);
556 556 rCol = r->x - (metrics->width/3);
557 557 }
558 558  
559   - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_FOREGROUND);
  559 + gdk_cairo_set_source_rgba(cr,color+V3270_COLOR_OIA_FOREGROUND);
560 560  
561 561 draw_centered_text(cr,metrics,lCol,row,"4");
562 562  
... ... @@ -630,13 +630,13 @@ static cairo_t * set_update_region(v3270 * terminal, GdkRectangle **r, V3270_OIA
630 630 #ifdef DEBUG
631 631 cairo_set_source_rgb(cr,0.1,0.1,0.1);
632 632 #else
633   - gdk_cairo_set_source_color(cr,terminal->color+V3270_COLOR_OIA_BACKGROUND);
  633 + gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_OIA_BACKGROUND);
634 634 #endif
635 635  
636 636 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
637 637 cairo_fill(cr);
638 638  
639   - gdk_cairo_set_source_color(cr,terminal->color+V3270_COLOR_OIA_FOREGROUND);
  639 + gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_OIA_FOREGROUND);
640 640  
641 641 return cr;
642 642 }
... ... @@ -655,7 +655,7 @@ void v3270_update_luname(GtkWidget *widget,const gchar *name)
655 655 if(name)
656 656 {
657 657 cairo_move_to(cr,rect->x,rect->y+terminal->metrics.height);
658   - gdk_cairo_set_source_color(cr,terminal->color+V3270_COLOR_OIA_LUNAME);
  658 + gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_OIA_LUNAME);
659 659 cairo_show_text(cr,name);
660 660 cairo_stroke(cr);
661 661 }
... ... @@ -793,7 +793,7 @@ static void release_timer(struct timer_info *info)
793 793 #ifdef DEBUG
794 794 cairo_set_source_rgb(cr,0.1,0.1,0.1);
795 795 #else
796   - gdk_cairo_set_source_color(cr,info->terminal->color+V3270_COLOR_OIA_BACKGROUND);
  796 + gdk_cairo_set_source_rgba(cr,info->terminal->color+V3270_COLOR_OIA_BACKGROUND);
797 797 #endif
798 798  
799 799 for(f=0;f<G_N_ELEMENTS(id);f++)
... ... @@ -928,13 +928,13 @@ static gboolean update_timer(struct timer_info *info)
928 928 #ifdef DEBUG
929 929 cairo_set_source_rgb(cr,0.1,0.1,0.1);
930 930 #else
931   - gdk_cairo_set_source_color(cr,info->terminal->color+V3270_COLOR_OIA_BACKGROUND);
  931 + gdk_cairo_set_source_rgba(cr,info->terminal->color+V3270_COLOR_OIA_BACKGROUND);
932 932 #endif
933 933  
934 934 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
935 935 cairo_fill(cr);
936 936  
937   - gdk_cairo_set_source_color(cr,info->terminal->color+V3270_COLOR_OIA_FOREGROUND);
  937 + gdk_cairo_set_source_rgba(cr,info->terminal->color+V3270_COLOR_OIA_FOREGROUND);
938 938  
939 939 short2string(buffer,seconds/60,2);
940 940 buffer[2] = ':';
... ... @@ -956,12 +956,12 @@ static gboolean update_timer(struct timer_info *info)
956 956 #ifdef DEBUG
957 957 cairo_set_source_rgb(cr,0.1,0.1,0.1);
958 958 #else
959   - gdk_cairo_set_source_color(cr,info->terminal->color+V3270_COLOR_OIA_BACKGROUND);
  959 + gdk_cairo_set_source_rgba(cr,info->terminal->color+V3270_COLOR_OIA_BACKGROUND);
960 960 #endif
961 961 cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height);
962 962 cairo_fill(cr);
963 963  
964   - gdk_cairo_set_source_color(cr,info->terminal->color+V3270_COLOR_OIA_FOREGROUND);
  964 + gdk_cairo_set_source_rgba(cr,info->terminal->color+V3270_COLOR_OIA_FOREGROUND);
965 965  
966 966 info->step = draw_spinner(cr, rect, info->terminal->color, info->step);
967 967 gtk_widget_queue_draw_area(GTK_WIDGET(info->terminal),rect->x,rect->y,rect->width,rect->height);
... ...
private.h
... ... @@ -176,7 +176,7 @@ G_BEGIN_DECLS
176 176 gint minimum_height;
177 177  
178 178 // Colors
179   - GdkColor color[V3270_COLOR_COUNT]; /**< Terminal widget colors */
  179 + GdkRGBA color[V3270_COLOR_COUNT]; /**< Terminal widget colors */
180 180  
181 181 // Regions
182 182 GdkRectangle oia_rect[V3270_OIA_FIELD_COUNT];
... ... @@ -219,7 +219,7 @@ G_BEGIN_DECLS
219 219 const GtkWidgetClass * v3270_get_parent_class(void);
220 220  
221 221 gboolean v3270_draw(GtkWidget * widget, cairo_t * cr);
222   -void v3270_draw_oia(cairo_t *cr, H3270 *host, int row, int cols, struct v3270_metrics *metrics, GdkColor *color, GdkRectangle *rect);
  222 +void v3270_draw_oia(cairo_t *cr, H3270 *host, int row, int cols, struct v3270_metrics *metrics, GdkRGBA *color, GdkRectangle *rect);
223 223 void v3270_update_mouse_pointer(GtkWidget *widget);
224 224  
225 225 #if ! GTK_CHECK_VERSION(2,18,0)
... ... @@ -241,7 +241,9 @@ void v3270_update_mouse_pointer(GtkWidget *widget);
241 241  
242 242  
243 243 #if ! GTK_CHECK_VERSION(3,0,0)
244   - gboolean v3270_expose(GtkWidget * widget, GdkEventExpose *event);
  244 +
  245 +#define GdkRGBA
  246 +gboolean v3270_expose(GtkWidget * widget, GdkEventExpose *event);
245 247 #endif // GTK 3
246 248  
247 249 void v3270_draw_shift_status(v3270 *terminal);
... ... @@ -254,13 +256,13 @@ void v3270_update_cursor_surface(v3270 *widget,unsigned char chr,unsigned sho
254 256  
255 257 void v3270_register_io_handlers(v3270Class *cls);
256 258  
257   -void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 *session, guint height, GdkRectangle *rect, GdkColor *fg, GdkColor *bg);
  259 +void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 *session, guint height, GdkRectangle *rect, GdkRGBA *fg, GdkRGBA *bg);
258 260  
259 261 void v3270_start_timer(GtkWidget *terminal);
260 262 void v3270_stop_timer(GtkWidget *terminal);
261 263  
262   -void v3270_draw_connection(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkColor *color, const GdkRectangle *rect);
263   -void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkColor *color, GdkRectangle *rect);
  264 +void v3270_draw_connection(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkRGBA *color, const GdkRectangle *rect);
  265 +void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metrics, GdkRGBA *color, GdkRectangle *rect);
264 266  
265 267 void v3270_update_char(H3270 *session, int addr, unsigned char chr, unsigned short attr, unsigned char cursor);
266 268  
... ...
widget.c
... ... @@ -1227,7 +1227,7 @@ void v3270_set_colors(GtkWidget *widget, const gchar *colors)
1227 1227  
1228 1228 }
1229 1229  
1230   -void v3270_set_color(GtkWidget *widget, enum V3270_COLOR id, GdkColor *color)
  1230 +void v3270_set_color(GtkWidget *widget, enum V3270_COLOR id, GdkRGBA *color)
1231 1231 {
1232 1232 g_return_if_fail(GTK_IS_V3270(widget));
1233 1233  
... ... @@ -1238,24 +1238,24 @@ void v3270_set_color(GtkWidget *widget, enum V3270_COLOR id, GdkColor *color)
1238 1238 #endif // !GTK(3,0,0)
1239 1239  
1240 1240 }
1241   -GdkColor * v3270_get_color(GtkWidget *widget, enum V3270_COLOR id)
  1241 +GdkRGBA * v3270_get_color(GtkWidget *widget, enum V3270_COLOR id)
1242 1242 {
1243 1243 g_return_val_if_fail(GTK_IS_V3270(widget),NULL);
1244 1244 return GTK_V3270(widget)->color+id;
1245 1245 }
1246 1246  
1247   -const GdkColor * v3270_get_color_table(GtkWidget *widget)
  1247 +const GdkRGBA * v3270_get_color_table(GtkWidget *widget)
1248 1248 {
1249 1249 g_return_val_if_fail(GTK_IS_V3270(widget),NULL);
1250 1250 return GTK_V3270(widget)->color;
1251 1251 }
1252 1252  
1253   -void v3270_set_mono_color_table(GdkColor *clr, const gchar *fg, const gchar *bg)
  1253 +void v3270_set_mono_color_table(GdkRGBA *clr, const gchar *fg, const gchar *bg)
1254 1254 {
1255 1255 int f;
1256 1256  
1257   - gdk_color_parse(bg,clr);
1258   - gdk_color_parse(fg,clr+1);
  1257 + gdk_rgba_parse(clr,bg);
  1258 + gdk_rgba_parse(clr+1,fg);
1259 1259  
1260 1260 for(f=2;f<V3270_COLOR_COUNT;f++)
1261 1261 clr[f] = clr[1];
... ... @@ -1268,12 +1268,14 @@ void v3270_set_mono_color_table(GdkColor *clr, const gchar *fg, const gchar *bg)
1268 1268  
1269 1269 }
1270 1270  
1271   -void v3270_set_color_table(GdkColor *table, const gchar *colors)
  1271 +void v3270_set_color_table(GdkRGBA *table, const gchar *colors)
1272 1272 {
1273 1273 gchar **clr;
1274 1274 guint cnt;
1275 1275 int f;
1276 1276  
  1277 + trace("colors=[%s]",colors);
  1278 +
1277 1279 clr = g_strsplit(colors,",",V3270_COLOR_COUNT+1);
1278 1280 cnt = g_strv_length(clr);
1279 1281  
... ... @@ -1281,13 +1283,13 @@ void v3270_set_color_table(GdkColor *table, const gchar *colors)
1281 1283 {
1282 1284 case 28: // Version 4 string
1283 1285 for(f=0;f < 28;f++)
1284   - gdk_color_parse(clr[f],table+f);
  1286 + gdk_rgba_parse(table+f,clr[f]);
1285 1287 table[V3270_COLOR_OIA_STATUS_INVALID] = table[V3270_COLOR_OIA_STATUS_WARNING];
1286 1288 break;
1287 1289  
1288 1290 case V3270_COLOR_COUNT: // Complete string
1289 1291 for(f=0;f < V3270_COLOR_COUNT;f++)
1290   - gdk_color_parse(clr[f],table+f);
  1292 + gdk_rgba_parse(table+f,clr[f]);
1291 1293 break;
1292 1294  
1293 1295 default:
... ... @@ -1295,10 +1297,10 @@ void v3270_set_color_table(GdkColor *table, const gchar *colors)
1295 1297 g_warning("Color table has %d elements; should be %d.",cnt,V3270_COLOR_COUNT);
1296 1298  
1297 1299 for(f=0;f < cnt;f++)
1298   - gdk_color_parse(clr[f],table+f);
  1300 + gdk_rgba_parse(table+f,clr[f]);
1299 1301  
1300 1302 for(f=cnt; f < V3270_COLOR_COUNT;f++)
1301   - gdk_color_parse(clr[cnt-1],table+f);
  1303 + gdk_rgba_parse(table+f,clr[cnt-1]);
1302 1304  
1303 1305 clr[V3270_COLOR_OIA_BACKGROUND] = clr[0];
1304 1306 clr[V3270_COLOR_SELECTED_BG] = clr[0];
... ...