summaryrefslogtreecommitdiff
path: root/src/main/print-escp2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/print-escp2.c')
-rw-r--r--src/main/print-escp2.c53
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: