Пример #1
0
/*--------------------------------------*/
UIColorDialog2* CreateColorDialog2(UIDialog* parent)
{
	GtkWidget* window;
	int i;

	// Create dialog.
	UIColorDialog2* dialog
		 = (UIColorDialog2*)CreateDialog(sizeof(UIColorDialog2), parent);

	// Create dialog window.
#ifdef	USE_LIB_GLADE
	UI_DIALOG(dialog)->window = window = LookupWidget(NULL, "color_dialog2");
#else
	UI_DIALOG(dialog)->window = window = create_color_dialog2();
#endif

	// Cyan scale adjustment.
	dialog->cyan_balance = CYAN_BALANCE_INIT;

	// Magenta scale adjustment.
	dialog->magenta_balance = MAGENTA_BALANCE_INIT;

	// Yellow scale adjustment.
	dialog->yellow_balance = YELLOW_BALANCE_INIT;

	// Contrast scale adjustment.
	dialog->contrast_balance = CONTRAST_BALANCE_INIT;

	// Density scale adjustment.
	dialog->density_balance = DENSITY_BALANCE_INIT;

	// Tone scale adjustment.
	dialog->tone_balance = TONE_BALANCE_INIT;

	// Color correct combo.
	dialog->default_intent =
	dialog->color_correct = SetColorCorrectCombo2(dialog, GetDefaultnValue(CNCL_INTENT));

	// Gamma combo.
	dialog->default_gamma =
	dialog->gamma = SetGammaCombo(dialog, GetDefaultnValue(CNCL_INPUT_GAMMA));

	dialog->vivid = FALSE;

	// Show vivid button if supported.
	if( IsAvailableVivid() )
	{
		gtk_widget_show(LookupWidget(window, "color_dialog_vivid_button2"));
	}

	// Show "Tone" Settings if supported. Ver.3.40
	if ( IsAvailableBlackAdjustment() ){
		for ( i=0; bw_sensitive_name_black_adjustment[i] != NULL; i++ ){
			gtk_widget_show( LookupWidget(window, bw_sensitive_name_black_adjustment[i] ) );
		}
	}
	return dialog;
}
Пример #2
0
void ShowColorDialog(UIColorDialog* dialog)
{
	// Set cyan scale adjustment value.
	gtk_adjustment_set_value(dialog->cyan_adjust,
							(gfloat)dialog->cyan_balance);

	// Set magenta scale adjustment value.
	gtk_adjustment_set_value(dialog->magenta_adjust,
							(gfloat)dialog->magenta_balance);

	// Set yellow scale adjustment value.
	gtk_adjustment_set_value(dialog->yellow_adjust,
							(float)dialog->yellow_balance);

	// Set black scale adjustment value.
	gtk_adjustment_set_value(dialog->black_adjust,
							(float)dialog->black_balance);

	// Set density scale adjustment value.
	gtk_adjustment_set_value(dialog->density_adjust,
							(float)dialog->density_balance);

	// Vivid button.
	gtk_toggle_button_set_active(
		GTK_TOGGLE_BUTTON(LookupWidget(UI_DIALOG(dialog)->window,
		"color_dialog_vivid_button")), dialog->vivid);

	// Color correct combo.
	dialog->color_correct = SetColorCorrectCombo(dialog, dialog->color_correct);
	SensitiveColorCorrectCombo(dialog, !dialog->vivid); 

	// Gamma combo.
	dialog->gamma = SetGammaCombo(dialog, dialog->gamma);

	{
		short print_bw = IsGrayPrint(g_main_window);
		int i;

		for( i = 0 ; bw_sensitive_name[i] != NULL ; i++ )
		{
			gboolean sensitive;

			if( !strcmp(bw_sensitive_name[i], "color_dialog_correct_combo") )
				sensitive = !(print_bw | dialog->vivid);
			else
				sensitive = !print_bw;

			gtk_widget_set_sensitive(
				LookupWidget(UI_DIALOG(dialog)->window,
				 			bw_sensitive_name[i]), sensitive);
		}
	}

	ShowDialog((UIDialog*)dialog, "color_dialog_ok_button"); 
}
Пример #3
0
/*--------------------------------------*/
void
on_color_dialog_default_button_clicked2 (GtkButton       *button,
                                        gpointer         user_data)
{
	UIColorDialog2* dialog = g_color_dialog2;
	short print_bw = IsGrayPrint(g_main_window);

	/* Ver.2.80 */
	GtkWidget* window = UI_DIALOG(dialog)->window;

	/* Ver.2.80 */
	DisableSignal();

	/* Ver.2.80 */
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_cyan_scale2")) , (gdouble)CYAN_BALANCE_INIT );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_magenta_scale2")) , (gdouble)MAGENTA_BALANCE_INIT );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_yellow_scale2")) , (gdouble)YELLOW_BALANCE_INIT );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_contrast_scale2")) , (gdouble)CONTRAST_BALANCE_INIT );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_density_scale2")) , (gdouble)DENSITY_BALANCE_INIT );

	/* Ver.2.90 */
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_c_value_spin2")) , (gdouble)CYAN_BALANCE_INIT );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_m_value_spin2")) , (gdouble)MAGENTA_BALANCE_INIT );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_y_value_spin2")) , (gdouble)YELLOW_BALANCE_INIT );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_density_value_spin2")) , (gdouble)CONTRAST_BALANCE_INIT );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_contrast_value_spin2")) , (gdouble)DENSITY_BALANCE_INIT );

	/* Ver.3.40 */
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_tone_scale2")) , (gdouble)TONE_BALANCE_INIT );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_tone_value_spin2")) , (gdouble)TONE_BALANCE_INIT );

	// Vivid button.
	gtk_toggle_button_set_active(
		GTK_TOGGLE_BUTTON(LookupWidget(UI_DIALOG(dialog)->window,
			"color_dialog_vivid_button2")), VIVID_INIT);

	// Color correct combo.
	SetColorCorrectCombo2(dialog, GetDefaultnValue(CNCL_INTENT));
	SensitiveColorCorrectCombo(dialog, !(VIVID_INIT | print_bw));

	// Gamma correct combo.
	SetGammaCombo(dialog, GetDefaultnValue(CNCL_INPUT_GAMMA));

	/* Ver.2.80 */
	EnableSignal();
}
Пример #4
0
void
on_color_dialog_default_button_clicked (GtkButton       *button,
                                        gpointer         user_data)
{
	UIColorDialog* dialog = g_color_dialog;
	short print_bw = IsGrayPrint(g_main_window);

	// Set cyan scale adjustment value.
	gtk_adjustment_set_value(dialog->cyan_adjust,
						(gfloat)CYAN_BALANCE_INIT);

	// Set magenta scale adjustment value.
	gtk_adjustment_set_value(dialog->magenta_adjust,
						(gfloat)MAGENTA_BALANCE_INIT);

	// Set yellow scale adjustment value.
	gtk_adjustment_set_value(dialog->yellow_adjust,
						(float)YELLOW_BALANCE_INIT);

	// Set black scale adjustment value.
	gtk_adjustment_set_value(dialog->black_adjust,
						(float)BLACK_BALANCE_INIT);

	// Set density scale adjustment value.
	gtk_adjustment_set_value(dialog->density_adjust,
						(float)DENSITY_BALANCE_INIT);

	// Vivid button.
	gtk_toggle_button_set_active(
		GTK_TOGGLE_BUTTON(LookupWidget(UI_DIALOG(dialog)->window,
			"color_dialog_vivid_button")), VIVID_INIT);

	// Color correct combo.
	SetColorCorrectCombo(dialog, COLOR_CORRECT_INIT);
	SensitiveColorCorrectCombo(dialog, !(VIVID_INIT | print_bw));

	// Gamma correct combo.
	SetGammaCombo(dialog, GetDefaultGamma(dialog));
}
Пример #5
0
UIColorDialog* CreateColorDialog(UIDialog* parent)
{
	GtkWidget* window;
	GtkAdjustment* adjust;
	// Create dialog.
	UIColorDialog* dialog
		 = (UIColorDialog*)CreateDialog(sizeof(UIColorDialog), parent);

	// Create dialog window.
#ifdef	USE_LIB_GLADE
	UI_DIALOG(dialog)->window = window = LookupWidget(NULL, "color_dialog");
#else
	UI_DIALOG(dialog)->window = window = create_color_dialog();
#endif

	// Cyan scale adjustment.
	adjust = gtk_range_get_adjustment(
		GTK_RANGE(LookupWidget(window, "color_dialog_cyan_scale")));
	gtk_signal_connect(GTK_OBJECT(adjust), "value_changed",
		GTK_SIGNAL_FUNC(on_color_dialog_cyan_adjust_value_changed), window);
	dialog->cyan_balance = CYAN_BALANCE_INIT;
	dialog->cyan_adjust = adjust;

	// Magenta scale adjustment.
	adjust = gtk_range_get_adjustment(
		GTK_RANGE(LookupWidget(window, "color_dialog_magenta_scale")));
	gtk_signal_connect(GTK_OBJECT(adjust), "value_changed",
		GTK_SIGNAL_FUNC(on_color_dialog_magenta_adjust_value_changed), window);
	dialog->magenta_balance = MAGENTA_BALANCE_INIT;
	dialog->magenta_adjust = adjust;

	// Yellow scale adjustment.
	adjust = gtk_range_get_adjustment(
		GTK_RANGE(LookupWidget(window, "color_dialog_yellow_scale")));
	gtk_signal_connect(GTK_OBJECT(adjust), "value_changed",
		GTK_SIGNAL_FUNC(on_color_dialog_yellow_adjust_value_changed), window);
	dialog->yellow_balance = YELLOW_BALANCE_INIT;
	dialog->yellow_adjust = adjust;

	// Black scale adjustment.
	adjust = gtk_range_get_adjustment(
			GTK_RANGE(LookupWidget(window, "color_dialog_black_scale")));
	gtk_signal_connect(GTK_OBJECT(adjust), "value_changed",
		GTK_SIGNAL_FUNC(on_color_dialog_black_adjust_value_changed), window);
	dialog->black_balance = BLACK_BALANCE_INIT;
	dialog->black_adjust = adjust;

	// Density scale adjustment.
	adjust = gtk_range_get_adjustment(
			GTK_RANGE(LookupWidget(window, "color_dialog_density_scale")));
	gtk_signal_connect(GTK_OBJECT(adjust), "value_changed",
		GTK_SIGNAL_FUNC(on_color_dialog_density_adjust_value_changed), window);
	dialog->density_balance = DENSITY_BALANCE_INIT;
	dialog->density_adjust = adjust;

	// Color correct combo.
	dialog->color_correct = SetColorCorrectCombo(dialog, COLOR_CORRECT_INIT);

	// Gamma combo.
	dialog->default_gamma =
	dialog->gamma = SetGammaCombo(dialog, GetDefaultGamma(dialog));

	dialog->vivid = FALSE;

	// Show vivid button if supported.
	if( IsAvailableVivid() )
	{
		gtk_widget_show(LookupWidget(window, "color_dialog_vivid_button"));
	}
	return dialog;
}
Пример #6
0
/*--------------------------------------*/
void ShowColorDialog2(UIColorDialog2* dialog)
{
	/* Ver.2.80 */
	DisableSignal();

	GtkWidget* window = UI_DIALOG(dialog)->window;

	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_cyan_scale2")) , (gdouble)dialog->cyan_balance );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_magenta_scale2")) , (gdouble)dialog->magenta_balance );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_yellow_scale2")) , (gdouble)dialog->yellow_balance );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_density_scale2")) ,(gdouble)dialog->density_balance );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_contrast_scale2")) , (gdouble)dialog->contrast_balance );
	gtk_range_set_value( GTK_RANGE(LookupWidget(window, "color_dialog_tone_scale2")) , (gdouble)dialog->tone_balance ); /* Ver.3.40 */

	/* Ver.2.90 */
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_c_value_spin2")) , (gdouble)dialog->cyan_balance );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_m_value_spin2")) , (gdouble)dialog->magenta_balance );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_y_value_spin2")) , (gdouble)dialog->yellow_balance );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_density_value_spin2")) , (gdouble)dialog->density_balance );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_contrast_value_spin2")) , (gdouble)dialog->contrast_balance );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(LookupWidget(window, "c_dlg_tone_value_spin2")) , (gdouble)dialog->tone_balance ); /* Ver.3.40 */

	// Vivid button.
	gtk_toggle_button_set_active(
		GTK_TOGGLE_BUTTON(LookupWidget(UI_DIALOG(dialog)->window,
		"color_dialog_vivid_button2")), dialog->vivid);

	// Gamma combo.
	dialog->gamma = SetGammaCombo(dialog, dialog->gamma);

	// Color correct combo.
	dialog->color_correct = SetColorCorrectCombo2(dialog, dialog->color_correct);
	SensitiveColorCorrectCombo(dialog, !dialog->vivid);

	{
		short print_bw = IsGrayPrint(g_main_window);
		int i;

		for( i = 0 ; bw_sensitive_name[i] != NULL ; i++ )
		{
			gboolean sensitive;

			if( !strcmp(bw_sensitive_name[i], "color_dialog_correct_combo2") )
				sensitive = !(print_bw | dialog->vivid);
			else
				sensitive = !print_bw;

			gtk_widget_set_sensitive(
				LookupWidget(UI_DIALOG(dialog)->window,
				 			bw_sensitive_name[i]), sensitive);
		}
	}

	/* If more than one intent exist , show "color_dialog_intent_table". */
	{
		/* Ver.3.10 */
		GtkWidget* label_tmp = LookupWidget(UI_DIALOG(dialog)->window, "color_dialog_correct_label2");
		GtkWidget* combo_tmp = LookupWidget(UI_DIALOG(dialog)->window, "color_dialog_correct_combo2");

		/* Ver.280 */
		if( dialog->intent_num > 1 ){
			gtk_widget_show(label_tmp);
			gtk_widget_show(combo_tmp);
		}

#if 0
		GtkWidget* table = LookupWidget(UI_DIALOG(dialog)->window, "color_dialog_intent_table");

		/* Ver.280 */
		if( dialog->intent_num > 1 ) gtk_widget_show(table);
#endif
	}

	/* Ver.3.40 */
	if ( IsAvailableBlackAdjustment() ){
		gboolean sensitive;
		int i;

		/* Confirm black adjustment media */
		if ( IsAvailableBlackAdjustmentMode() ){
			sensitive = TRUE;
		}
		else {
			sensitive = FALSE;
		}
		
		for ( i=0; bw_sensitive_name_black_adjustment[i] != NULL; i++ ){
			gtk_widget_set_sensitive( LookupWidget(UI_DIALOG(dialog)->window, 
				bw_sensitive_name_black_adjustment[i]), sensitive  );
		}
	}

	/* Ver.2.80 */
	EnableSignal();

	ShowDialog((UIDialog*)dialog, "color_dialog_ok_button2"); 
}