diff options
Diffstat (limited to 'src/main/print-escp2.c')
-rw-r--r-- | src/main/print-escp2.c | 53 |
1 files changed, 34 insertions, 19 deletions
diff --git a/src/main/print-escp2.c b/src/main/print-escp2.c index 8b8344b..4c4f588 100644 --- a/src/main/print-escp2.c +++ b/src/main/print-escp2.c @@ -1,5 +1,5 @@ /* - * "$Id: print-escp2.c,v 1.343 2005/08/14 14:55:22 rleigh Exp $" + * "$Id: print-escp2.c,v 1.345 2005/10/23 19:43:14 rlk Exp $" * * Print plug-in EPSON ESC/P2 driver for the GIMP. * @@ -497,6 +497,14 @@ static const float_param_t float_parameters[] = }, { { + "LightGrayTransition", N_("Light Gray Transition"), N_("Advanced Ink Adjustment"), + N_("Light Gray Transition"), + STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT, + STP_PARAMETER_LEVEL_ADVANCED4, 0, 1, -1, 1, 0 + }, 0.0, 5.0, 1.0, 1 + }, + { + { "Gray3Transition", N_("Dark Gray Transition"), N_("Advanced Ink Adjustment"), N_("Dark Gray Transition"), STP_PARAMETER_TYPE_DOUBLE, STP_PARAMETER_CLASS_OUTPUT, @@ -1240,20 +1248,6 @@ set_hue_map_parameter(const stp_vars_t *v, } static void -set_gray_transition_parameter(const stp_vars_t *v, - stp_parameter_t *description, - int expected_channels) -{ - const escp2_inkname_t *ink_name = get_inktype(v); - description->is_active = 0; - if (ink_name && ink_name->channel_set->channels[STP_ECOLOR_K] && - (ink_name->channel_set->channels[STP_ECOLOR_K]->n_subchannels == - expected_channels) && - using_automatic_settings(v, AUTO_MODE_MANUAL)) - fill_transition_parameters(description); -} - -static void set_color_transition_parameter(const stp_vars_t *v, stp_parameter_t *description, int color) @@ -1272,6 +1266,22 @@ set_color_transition_parameter(const stp_vars_t *v, } } +static void +set_gray_transition_parameter(const stp_vars_t *v, + stp_parameter_t *description, + int expected_channels) +{ + const escp2_inkname_t *ink_name = get_inktype(v); + description->is_active = 0; + if (ink_name && ink_name->channel_set->channels[STP_ECOLOR_K] && + (ink_name->channel_set->channels[STP_ECOLOR_K]->n_subchannels == + expected_channels) && + using_automatic_settings(v, AUTO_MODE_MANUAL)) + fill_transition_parameters(description); + else + set_color_transition_parameter(v, description, STP_ECOLOR_K); +} + static const res_t * find_default_resolution(const stp_vars_t *v, int desired_hres, int desired_vres, int strict) @@ -1679,6 +1689,8 @@ escp2_parameters(const stp_vars_t *v, const char *name, } else if (strcmp(name, "GrayTransition") == 0) set_gray_transition_parameter(v, description, 2); + else if (strcmp(name, "LightGrayTransition") == 0) + set_gray_transition_parameter(v, description, 2); else if (strcmp(name, "Gray1Transition") == 0 || strcmp(name, "Gray2Transition") == 0 || strcmp(name, "Gray3Transition") == 0) @@ -1733,9 +1745,11 @@ escp2_parameters(const stp_vars_t *v, const char *name, } else if (strcmp(name, "PrintingMode") == 0) { + const escp2_inkname_t *ink_name = get_inktype(v); description->bounds.str = stp_string_list_create(); - stp_string_list_add_string - (description->bounds.str, "Color", _("Color")); + if (!ink_name || ink_name->inkset != INKSET_QUADTONE) + stp_string_list_add_string + (description->bounds.str, "Color", _("Color")); stp_string_list_add_string (description->bounds.str, "BW", _("Black and White")); description->deflt.str = @@ -1766,6 +1780,7 @@ escp2_parameters(const stp_vars_t *v, const char *name, } else if (strcmp(name, "MultiChannelLimit") == 0) { + description->is_active = 0; if (stp_get_string_parameter(v, "PrintingMode") && strcmp(stp_get_string_parameter(v, "PrintingMode"), "BW") != 0 && using_automatic_settings(v, AUTO_MODE_MANUAL)) @@ -1774,8 +1789,6 @@ escp2_parameters(const stp_vars_t *v, const char *name, if (ink_name && ink_name->inkset == INKSET_CMYKRB) description->is_active = 1; } - else - description->is_active = 0; } } @@ -1944,6 +1957,8 @@ escp2_describe_output(const stp_vars_t *v) { switch (ink_type->inkset) { + case INKSET_QUADTONE: + return "Grayscale"; case INKSET_CMYKRB: case INKSET_CMYK: case INKSET_CcMmYK: |