|
@@ -124,7 +124,9 @@ int main(int argc, char **argv)
|
|
|
opt4->required = NO;
|
|
|
opt4->answer = "gray";
|
|
|
opt4->gisprompt = "old,color_none,color";
|
|
|
- opt4->description = _("Color for drawing grid or \"none\"");
|
|
|
+ opt4->label = _("Color for drawing drawing grid");
|
|
|
+ opt4->description = _("Color in GRASS format for drawing grid"
|
|
|
+ " or \"none\" not drawing");
|
|
|
opt4->guisection = _("Colors");
|
|
|
|
|
|
opt5 = G_define_option();
|
|
@@ -133,7 +135,9 @@ int main(int argc, char **argv)
|
|
|
opt5->required = NO;
|
|
|
opt5->answer = DEFAULT_FG_COLOR;
|
|
|
opt5->gisprompt = "old,color_none,color";
|
|
|
- opt5->description = _("Color for drawing X's (null values)");
|
|
|
+ opt5->label = _("Color for drawing null values");
|
|
|
+ opt5->description = _("Color in GRASS format for drawing null values"
|
|
|
+ " (X symbol) or \"none\" not drawing");
|
|
|
opt5->guisection = _("Colors");
|
|
|
|
|
|
opt6 = G_define_option();
|
|
@@ -142,7 +146,10 @@ int main(int argc, char **argv)
|
|
|
opt6->required = NO;
|
|
|
opt6->answer = "red";
|
|
|
opt6->gisprompt = "old,color_none,color";
|
|
|
- opt6->description = _("Color for showing unknown information");
|
|
|
+ opt6->description = _("Color for showing unknown information or \"none\"");
|
|
|
+ opt6->label = _("Color for showing unknown information");
|
|
|
+ opt6->description = _("Color in GRASS format for showing unknown"
|
|
|
+ " information (? symbol) or \"none\" not showing");
|
|
|
opt6->guisection = _("Colors");
|
|
|
|
|
|
opt9 = G_define_option();
|
|
@@ -181,14 +188,26 @@ int main(int argc, char **argv)
|
|
|
layer_name = opt1->answer;
|
|
|
|
|
|
arrow_color = D_translate_color(opt3->answer);
|
|
|
- x_color = D_translate_color(opt5->answer);
|
|
|
- unknown_color = D_translate_color(opt6->answer);
|
|
|
|
|
|
+ /* Convert none (transparent) to -1 which in this module means
|
|
|
+ that we will not draw things having this color (-1).
|
|
|
+ We don't do that for arrow because we always want them.
|
|
|
+ (This is specified by the gisprompt ('type') of the options.)
|
|
|
+ */
|
|
|
if (strcmp("none", opt4->answer) == 0)
|
|
|
grid_color = -1;
|
|
|
else
|
|
|
grid_color = D_translate_color(opt4->answer);
|
|
|
|
|
|
+ if (strcmp("none", opt5->answer) == 0)
|
|
|
+ x_color = -1;
|
|
|
+ else
|
|
|
+ x_color = D_translate_color(opt5->answer);
|
|
|
+
|
|
|
+ if (strcmp("none", opt6->answer) == 0)
|
|
|
+ unknown_color = -1;
|
|
|
+ else
|
|
|
+ unknown_color = D_translate_color(opt6->answer);
|
|
|
|
|
|
if (strcmp("grass", opt2->answer) == 0)
|
|
|
map_type = 1;
|
|
@@ -390,9 +409,12 @@ int main(int argc, char **argv)
|
|
|
D_use_color(arrow_color);
|
|
|
|
|
|
if (Rast_is_null_value(ptr, raster_type)) {
|
|
|
- D_use_color(x_color);
|
|
|
- draw_x();
|
|
|
- D_use_color(arrow_color);
|
|
|
+ /* don't draw anything if x_color is none (transparent) */
|
|
|
+ if (x_color > 0) {
|
|
|
+ D_use_color(x_color);
|
|
|
+ draw_x();
|
|
|
+ D_use_color(arrow_color);
|
|
|
+ }
|
|
|
}
|
|
|
else if (aspect_f >= 0.0 && aspect_f <= 360.0) {
|
|
|
if (opt7->answer)
|
|
@@ -400,7 +422,8 @@ int main(int argc, char **argv)
|
|
|
else
|
|
|
arrow_360(aspect_f);
|
|
|
}
|
|
|
- else {
|
|
|
+ else if (unknown_color > 0) {
|
|
|
+ /* don't draw if unknown_color is none (transparent) */
|
|
|
D_use_color(unknown_color);
|
|
|
unknown_();
|
|
|
D_use_color(arrow_color);
|
|
@@ -413,9 +436,12 @@ int main(int argc, char **argv)
|
|
|
D_use_color(arrow_color);
|
|
|
switch (aspect_c) {
|
|
|
case 0:
|
|
|
- D_use_color(x_color);
|
|
|
- draw_x();
|
|
|
- D_use_color(arrow_color);
|
|
|
+ /* only draw if x_color is not none (transparent) */
|
|
|
+ if (x_color > 0) {
|
|
|
+ D_use_color(x_color);
|
|
|
+ draw_x();
|
|
|
+ D_use_color(arrow_color);
|
|
|
+ }
|
|
|
break;
|
|
|
case 1:
|
|
|
arrow_n();
|
|
@@ -442,9 +468,12 @@ int main(int argc, char **argv)
|
|
|
arrow_nw();
|
|
|
break;
|
|
|
default:
|
|
|
- D_use_color(unknown_color);
|
|
|
- unknown_();
|
|
|
- D_use_color(arrow_color);
|
|
|
+ /* only draw if unknown_color is not none */
|
|
|
+ if (unknown_color > 0) {
|
|
|
+ D_use_color(unknown_color);
|
|
|
+ unknown_();
|
|
|
+ D_use_color(arrow_color);
|
|
|
+ }
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -456,11 +485,15 @@ int main(int argc, char **argv)
|
|
|
if (aspect_c >= 15 && aspect_c <= 360) /* start at zero? */
|
|
|
arrow_360((double)aspect_c);
|
|
|
else if (aspect_c == 400) {
|
|
|
- D_use_color(unknown_color);
|
|
|
- unknown_();
|
|
|
- D_use_color(arrow_color);
|
|
|
+ if (unknown_color > 0) {
|
|
|
+ /* only draw if unknown_color is not none */
|
|
|
+ D_use_color(unknown_color);
|
|
|
+ unknown_();
|
|
|
+ D_use_color(arrow_color);
|
|
|
+ }
|
|
|
}
|
|
|
- else {
|
|
|
+ else if (x_color > 0) {
|
|
|
+ /* only draw if x_color is not none (transparent) */
|
|
|
D_use_color(x_color);
|
|
|
draw_x();
|
|
|
D_use_color(arrow_color);
|
|
@@ -473,9 +506,12 @@ int main(int argc, char **argv)
|
|
|
D_use_color(arrow_color);
|
|
|
|
|
|
if (Rast_is_null_value(ptr, raster_type)) {
|
|
|
- D_use_color(x_color);
|
|
|
- draw_x();
|
|
|
- D_use_color(arrow_color);
|
|
|
+ if (x_color > 0) {
|
|
|
+ /* only draw if x_color is not none */
|
|
|
+ D_use_color(x_color);
|
|
|
+ draw_x();
|
|
|
+ D_use_color(arrow_color);
|
|
|
+ }
|
|
|
}
|
|
|
else if (aspect_f >= 0.0 && aspect_f <= 360.0) {
|
|
|
if (opt7->answer)
|
|
@@ -483,7 +519,8 @@ int main(int argc, char **argv)
|
|
|
else
|
|
|
arrow_360(90 - aspect_f);
|
|
|
}
|
|
|
- else {
|
|
|
+ else if (unknown_color > 0) {
|
|
|
+ /* only draw if unknown_color is not none */
|
|
|
D_use_color(unknown_color);
|
|
|
unknown_();
|
|
|
D_use_color(arrow_color);
|