MCPcopy Create free account
hub / github.com/FreeFem/FreeFem-sources / drawLegend_contour

Function drawLegend_contour

plugin/seq/plotPDF.cpp:1009–1046  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1007
1008 return;
1009}
1010
1011void drawLegend_contour( std::stringstream &Content, const vector<double> &isoline_val,
1012 const int prec, const KNM<double> &palette,
1013 const double cmin, const double cmax,
1014 const bool monochrome, const bool logscale,
1015 const double sizex, const double textfontsize,
1016 const double scale, const double y1, const double y0,
1017 const double marginl, const double marginb )
1018{
1019 std::stringstream &st = Content;
1020
1021 st << "q\n";
1022 st << "1 w\n"; // setlinewidth
1023 st << "1 0 0 1 " << PLOTPDFVAR::PADDING+marginl << " " << PLOTPDFVAR::PADDING+marginb << " cm\n";
1024
1025 for(size_t m = 0; m < isoline_val.size(); m++){
1026
1027 const double &f = isoline_val[m];
1028
1029 setrgbcolor(st, f, palette, cmin, cmax, monochrome, logscale);
1030 st << "rg\n";
1031
1032 st << "BT /F1 " << textfontsize << " Tf "
1033 << "1 0 0 1 " << sizex-PLOTPDFVAR::PADDING << " " << (m+1)*(scale*(y1-y0)-textfontsize)/(isoline_val.size()+1) << " Tm "
1034 << "(" << ((f >= 0)? "\\ ": "");
1035
1036 if( (fabs(f) > 1e-3) || (fabs(f) < 1e-12) ){
1037 st << std::setprecision(prec) << std::setfill('0') << f << ") Tj ET\n";
1038 } else {
1039 st << std::resetiosflags(std::ios::fixed) << std::setiosflags(std::ios::scientific)
1040 << std::setprecision(prec) << f << resetiosflags(std::ios::scientific)
1041 << std::setiosflags(std::ios::fixed) << ") Tj ET\n";
1042 }
1043 }
1044
1045 st << "Q\n";
1046
1047 return;
1048}
1049

Callers 2

plot_P1_isolineFunction · 0.85
plot_P2_isolineFunction · 0.85

Calls 3

setrgbcolorFunction · 0.85
fabsFunction · 0.50
sizeMethod · 0.45

Tested by

no test coverage detected