diff --git a/hyper.h b/hyper.h index 6bda043e..e60cb939 100644 --- a/hyper.h +++ b/hyper.h @@ -1872,7 +1872,7 @@ namespace shot { } namespace svg { - void circle(int x, int y, int size, color_t col, color_t fillcolor); + void circle(int x, int y, int size, color_t col, color_t fillcolor, double linewidth); void polygon(int *polyx, int *polyy, int polyi, color_t col, color_t outline, double linewidth); void text(int x, int y, int size, const string& str, bool frame, color_t col, int align); extern bool in; @@ -2737,6 +2737,7 @@ struct dqi_string : drawqueueitem { struct dqi_circle : drawqueueitem { int x, y, size, fillcolor; + double linewidth; void draw(); virtual color_t outline_group() { return 2; } }; diff --git a/hypgraph.cpp b/hypgraph.cpp index d6d71319..1f17f3cb 100644 --- a/hypgraph.cpp +++ b/hypgraph.cpp @@ -1269,6 +1269,8 @@ void draw_boundary(int w) { if(lc == 0 && fc == 0) return; ld fakeinf = sphere ? M_PI-1e-5 : hyperbolic ? 10 : exp(10); + + dynamicval dw(vid.linewidth, vid.linewidth * (svg::in ? svg::divby : 1)); if(elliptic && !among(pmodel, mdBand, mdBandEquidistant, mdBandEquiarea, mdSinusoidal)) circle_around_center(M_PI/2, periodcolor, 0, PPR::CIRCLE); diff --git a/polygons.cpp b/polygons.cpp index 2b7250e3..753a5f27 100644 --- a/polygons.cpp +++ b/polygons.cpp @@ -1252,7 +1252,7 @@ void dqi_string::draw() { void dqi_circle::draw() { #if ISMOBILE==0 if(svg::in) { - svg::circle(x, y, size, color, fillcolor); + svg::circle(x, y, size, color, fillcolor, linewidth); } else #endif @@ -2777,6 +2777,7 @@ void queuecircle(int x, int y, int size, color_t color, PPR prio = PPR::CIRCLE, ptd.size = size; ptd.color = color; ptd.fillcolor = fillcolor; + ptd.linewidth = vid.linewidth; } void getcoord0(const hyperpoint& h, int& xc, int &yc, int &sc) { diff --git a/screenshot.cpp b/screenshot.cpp index 2a9630e3..511b5f98 100644 --- a/screenshot.cpp +++ b/screenshot.cpp @@ -74,10 +74,10 @@ namespace svg { return buf; } - void circle(int x, int y, int size, color_t col, color_t fillcol) { + void circle(int x, int y, int size, color_t col, color_t fillcol, double linewidth) { if(!invisible(col) || !invisible(fillcol)) { if(vid.stretch == 1) - println(f, ""); + println(f, ""); else println(f, ""); }