Mercurial > dwindows
comparison gtk/dw.c @ 569:a126f4ec9570
Fixes for the color selection dialog on GTK 1.x.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 24 Jun 2004 19:23:51 +0000 |
parents | f6de197ecbe9 |
children | 828e6a66c5c5 |
comparison
equal
deleted
inserted
replaced
568:07c100ee783d | 569:a126f4ec9570 |
---|---|
6626 } | 6626 } |
6627 | 6627 |
6628 /* Internal function to handle the color OK press */ | 6628 /* Internal function to handle the color OK press */ |
6629 static gint _gtk_color_ok(GtkWidget *widget, DWDialog *dwwait) | 6629 static gint _gtk_color_ok(GtkWidget *widget, DWDialog *dwwait) |
6630 { | 6630 { |
6631 #if GTK_MAJOR_VERSION > 1 | |
6631 GdkColor color; | 6632 GdkColor color; |
6633 #else | |
6634 gdouble colors[4]; | |
6635 #endif | |
6632 unsigned long dw_color; | 6636 unsigned long dw_color; |
6633 GtkColorSelection *colorsel; | 6637 GtkColorSelection *colorsel; |
6634 | 6638 |
6635 if(!dwwait) | 6639 if(!dwwait) |
6636 return FALSE; | 6640 return FALSE; |
6637 | 6641 |
6638 colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dwwait->data)->colorsel); | 6642 colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dwwait->data)->colorsel); |
6639 gtk_color_selection_get_current_color(colorsel,&color); | 6643 #if GTK_MAJOR_VERSION > 1 |
6644 gtk_color_selection_get_current_color(colorsel, &color); | |
6645 #else | |
6646 gtk_color_selection_get_color(colorsel, colors); | |
6647 #endif | |
6640 gtk_widget_destroy(GTK_WIDGET(dwwait->data)); | 6648 gtk_widget_destroy(GTK_WIDGET(dwwait->data)); |
6641 _dw_color_active = 0; | 6649 _dw_color_active = 0; |
6650 #if GTK_MAJOR_VERSION > 1 | |
6642 dw_color = DW_RGB( (color.red & 0xFF), (color.green & 0xFF), (color.blue & 0xFF)); | 6651 dw_color = DW_RGB( (color.red & 0xFF), (color.green & 0xFF), (color.blue & 0xFF)); |
6652 #else | |
6653 dw_color = DW_RGB( (int)(colors[0] * 255), (int)(colors[1] * 255), (int)(colors[2] * 255)); | |
6654 #endif | |
6643 dw_dialog_dismiss(dwwait, (void *)dw_color); | 6655 dw_dialog_dismiss(dwwait, (void *)dw_color); |
6644 return FALSE; | 6656 return FALSE; |
6645 } | 6657 } |
6646 | 6658 |
6647 /* Internal function to handle the color Cancel press */ | 6659 /* Internal function to handle the color Cancel press */ |
6666 { | 6678 { |
6667 GtkWidget *colorw; | 6679 GtkWidget *colorw; |
6668 int _locked_by_me = FALSE; | 6680 int _locked_by_me = FALSE; |
6669 DWDialog *dwwait; | 6681 DWDialog *dwwait; |
6670 GtkColorSelection *colorsel; | 6682 GtkColorSelection *colorsel; |
6683 #if GTK_MAJOR_VERSION > 1 | |
6671 GdkColor color = _internal_color(value); | 6684 GdkColor color = _internal_color(value); |
6685 #else | |
6686 gdouble colors[4]; | |
6687 #endif | |
6672 unsigned long dw_color; | 6688 unsigned long dw_color; |
6673 | 6689 |
6674 DW_MUTEX_LOCK; | 6690 DW_MUTEX_LOCK; |
6675 | 6691 |
6676 /* The DW mutex should be sufficient for | 6692 /* The DW mutex should be sufficient for |
6690 | 6706 |
6691 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(colorw)->ok_button), "clicked", (GtkSignalFunc) _gtk_color_ok, dwwait); | 6707 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(colorw)->ok_button), "clicked", (GtkSignalFunc) _gtk_color_ok, dwwait); |
6692 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(colorw)->cancel_button), "clicked", (GtkSignalFunc) _gtk_color_cancel, dwwait); | 6708 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(colorw)->cancel_button), "clicked", (GtkSignalFunc) _gtk_color_cancel, dwwait); |
6693 | 6709 |
6694 colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(colorw)->colorsel); | 6710 colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(colorw)->colorsel); |
6711 #if GTK_MAJOR_VERSION > 1 | |
6695 gtk_color_selection_set_previous_color(colorsel,&color); | 6712 gtk_color_selection_set_previous_color(colorsel,&color); |
6696 gtk_color_selection_set_current_color(colorsel,&color); | 6713 gtk_color_selection_set_current_color(colorsel,&color); |
6697 gtk_color_selection_set_has_palette(colorsel,TRUE); | 6714 gtk_color_selection_set_has_palette(colorsel,TRUE); |
6715 #else | |
6716 colors[0] = ((gdouble)DW_RED_VALUE(value) / (gdouble)255); | |
6717 colors[1] = ((gdouble)DW_GREEN_VALUE(value) / (gdouble)255); | |
6718 colors[2] = ((gdouble)DW_BLUE_VALUE(value) / (gdouble)255); | |
6719 gtk_color_selection_set_color(colorsel, colors); | |
6720 #endif | |
6698 | 6721 |
6699 gtk_widget_show(colorw); | 6722 gtk_widget_show(colorw); |
6700 | 6723 |
6701 dw_color = (unsigned long)dw_dialog_wait(dwwait); | 6724 dw_color = (unsigned long)dw_dialog_wait(dwwait); |
6702 if ((unsigned long)dw_color == -1) | 6725 if ((unsigned long)dw_color == -1) |