comparison gtk/dw.c @ 193:efd4703450fa

Build test application on Unix too... and also fixed GTK to allow OS/2 style colors in dw_color_xxx_set().
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 17 Jan 2003 23:52:44 +0000
parents f55677513954
children b023d363fc09
comparison
equal deleted inserted replaced
192:d946e329670c 193:efd4703450fa
4593 gtk_widget_show(tmp); 4593 gtk_widget_show(tmp);
4594 DW_MUTEX_UNLOCK; 4594 DW_MUTEX_UNLOCK;
4595 return tmp; 4595 return tmp;
4596 } 4596 }
4597 4597
4598 /* Returns a GdkColor from a DW color */
4599 GdkColor _internal_color(unsigned long value)
4600 {
4601 if(DW_RGB_COLOR & value)
4602 {
4603 GdkColor color = { 0, DW_RED_VALUE(value) << 8, DW_GREEN_VALUE(value) << 8, DW_BLUE_VALUE(value) << 8 };
4604 return color;
4605 }
4606 else if (value < 16)
4607 return _colors[value];
4608 return _colors[0];
4609 }
4610
4598 /* Sets the current foreground drawing color. 4611 /* Sets the current foreground drawing color.
4599 * Parameters: 4612 * Parameters:
4600 * red: red value. 4613 * red: red value.
4601 * green: green value. 4614 * green: green value.
4602 * blue: blue value. 4615 * blue: blue value.
4603 */ 4616 */
4604 void dw_color_foreground_set(unsigned long value) 4617 void dw_color_foreground_set(unsigned long value)
4605 { 4618 {
4606 int _locked_by_me = FALSE, index = _find_thread_index(dw_thread_id()); 4619 int _locked_by_me = FALSE, index = _find_thread_index(dw_thread_id());
4607 GdkColor color = { 0, DW_RED_VALUE(value) << 8, DW_GREEN_VALUE(value) << 8, DW_BLUE_VALUE(value) << 8 }; 4620 GdkColor color = _internal_color(value);
4608 4621
4609 DW_MUTEX_LOCK; 4622 DW_MUTEX_LOCK;
4610 gdk_color_alloc(_dw_cmap, &color); 4623 gdk_color_alloc(_dw_cmap, &color);
4611 _foreground[index] = color; 4624 _foreground[index] = color;
4612 DW_MUTEX_UNLOCK; 4625 DW_MUTEX_UNLOCK;
4619 * blue: blue value. 4632 * blue: blue value.
4620 */ 4633 */
4621 void dw_color_background_set(unsigned long value) 4634 void dw_color_background_set(unsigned long value)
4622 { 4635 {
4623 int _locked_by_me = FALSE, index = _find_thread_index(dw_thread_id()); 4636 int _locked_by_me = FALSE, index = _find_thread_index(dw_thread_id());
4624 GdkColor color = { 0, DW_RED_VALUE(value) << 8, DW_GREEN_VALUE(value) << 8, DW_BLUE_VALUE(value) << 8 }; 4637 GdkColor color = _internal_color(value);
4625 4638
4626 DW_MUTEX_LOCK; 4639 DW_MUTEX_LOCK;
4627 gdk_color_alloc(_dw_cmap, &color); 4640 gdk_color_alloc(_dw_cmap, &color);
4628 _background[index] = color; 4641 _background[index] = color;
4629 DW_MUTEX_UNLOCK; 4642 DW_MUTEX_UNLOCK;