[GRASS-SVN] r60382 - grass/trunk/display/d.rast.arrow
svn_grass at osgeo.org
svn_grass at osgeo.org
Tue May 20 19:38:04 PDT 2014
Author: wenzeslaus
Date: 2014-05-20 19:38:04 -0700 (Tue, 20 May 2014)
New Revision: 60382
Modified:
grass/trunk/display/d.rast.arrow/d.rast.arrow.html
grass/trunk/display/d.rast.arrow/main.c
Log:
d.rast.arrow: do not draw unknown and null values when color is none
since none was allowed by interface it also fixes bug in wxGUI where setting Transparent caused the module to fail and layer not to render
Modified: grass/trunk/display/d.rast.arrow/d.rast.arrow.html
===================================================================
--- grass/trunk/display/d.rast.arrow/d.rast.arrow.html 2014-05-21 02:32:41 UTC (rev 60381)
+++ grass/trunk/display/d.rast.arrow/d.rast.arrow.html 2014-05-21 02:38:04 UTC (rev 60382)
@@ -16,6 +16,9 @@
<em>d.rast.arrow</em> draws a question mark over the displayed cells
of that category.
Cells containing null data will be marked with an "X".
+You can disable drawing of null data and unknown aspect values by
+setting its color to "<tt>none</tt>".
+
<p>If you specify the <em>magnitude_map</em> option, arrow lengths
denoting magnitude will be extracted from the cell values of the specified
map. In this case the tail of the arrow will be centered on the source cell.
Modified: grass/trunk/display/d.rast.arrow/main.c
===================================================================
--- grass/trunk/display/d.rast.arrow/main.c 2014-05-21 02:32:41 UTC (rev 60381)
+++ grass/trunk/display/d.rast.arrow/main.c 2014-05-21 02:38:04 UTC (rev 60382)
@@ -124,7 +124,9 @@
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 @@
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 @@
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,15 +188,27 @@
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;
else if (strcmp("agnps", opt2->answer) == 0)
@@ -390,9 +409,12 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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);
More information about the grass-commit
mailing list