| 8700 | } |
| 8701 | |
| 8702 | GMT_LOCAL void gmtplot_prog_indicator_B (struct GMT_CTRL *GMT, double x, double y, double t, double w, int justify, char *P1, char *P2, char *label, char kind, double fsize) { |
| 8703 | /* Place growing ring */ |
| 8704 | double fx, fy, dr2; |
| 8705 | struct GMT_PEN pen; |
| 8706 | |
| 8707 | gmtplot_just_f_xy (justify, &fx, &fy); |
| 8708 | gmt_M_memset (&pen, 1, struct GMT_PEN); |
| 8709 | gmt_getpen (GMT, P2, &pen); /* Want to draw full circle */ |
| 8710 | dr2 = pen.width / PSL_POINTS_PER_INCH; /* Half pen width */ |
| 8711 | x += fx * (w+dr2); y += fy * (w+dr2); /* Move to center of circle */ |
| 8712 | PSL_command (GMT->PSL, "FQ %% Force turn off any prior fill\n"); |
| 8713 | if (kind == 'B') { |
| 8714 | if (fsize == 0.0) fsize = 0.3 * w * PSL_POINTS_PER_INCH; |
| 8715 | PSL_plottext (GMT->PSL, x, y, fsize, label, 0.0, PSL_MC, 0); |
| 8716 | } |
| 8717 | if (t < 1.0) { /* Need to plot the background full circle since partly visible */ |
| 8718 | gmt_setpen (GMT, &pen); /* Full circle pen */ |
| 8719 | PSL_setfill (GMT->PSL, GMT->session.no_rgb, 1); |
| 8720 | PSL_plotsymbol (GMT->PSL, x, y, &w, PSL_CIRCLE); /* Plot full circle */ |
| 8721 | } |
| 8722 | gmt_M_memset (&pen, 1, struct GMT_PEN); |
| 8723 | gmt_getpen (GMT, P1, &pen); /* Always draw foreground circle */ |
| 8724 | gmt_setpen (GMT, &pen); /* Full circle pen */ |
| 8725 | PSL_setfill (GMT->PSL, GMT->session.no_rgb, 1); |
| 8726 | if (doubleAlmostEqual (t, 1.0)) |
| 8727 | PSL_plotsymbol (GMT->PSL, x, y, &w, PSL_CIRCLE); /* Plot full circle */ |
| 8728 | else |
| 8729 | PSL_plotarc (GMT->PSL, x, y, 0.5*w, 90.0 - 360 * t, 90.0, PSL_MOVE | PSL_STROKE); /* Draw the arc */ |
| 8730 | } |
| 8731 | |
| 8732 | GMT_LOCAL void gmtplot_prog_indicator_C (struct GMT_CTRL *GMT, double x, double y, double t, double w, int justify, char *P1, char *P2, char *label, char kind, double fsize) { |
| 8733 | /* Place growing math arrow */ |
no test coverage detected