MCPcopy Create free account
hub / github.com/GenericMappingTools/gmt / gmtplot_prog_indicator_B

Function gmtplot_prog_indicator_B

src/gmt_plot.c:8702–8730  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8700}
8701
8702GMT_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
8732GMT_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 */

Callers 1

gmt_plotinitFunction · 0.85

Calls 8

gmtplot_just_f_xyFunction · 0.85
gmt_getpenFunction · 0.85
PSL_commandFunction · 0.85
PSL_plottextFunction · 0.85
gmt_setpenFunction · 0.85
PSL_setfillFunction · 0.85
PSL_plotsymbolFunction · 0.85
PSL_plotarcFunction · 0.85

Tested by

no test coverage detected