summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/runlabel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/runlabel.cc')
-rw-r--r--Build/source/utils/asymptote/runlabel.cc31
1 files changed, 15 insertions, 16 deletions
diff --git a/Build/source/utils/asymptote/runlabel.cc b/Build/source/utils/asymptote/runlabel.cc
index c6953b97d8a..f3edc8243e2 100644
--- a/Build/source/utils/asymptote/runlabel.cc
+++ b/Build/source/utils/asymptote/runlabel.cc
@@ -49,12 +49,14 @@ array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
-double *copyArrayC(const array *a, size_t dim=0);
-double *copyArray2C(const array *a, bool square=true, size_t dim2=0);
+double *copyArrayC(const array *a, size_t dim=0, GCPlacement placement=NoGC);
+double *copyArray2C(const array *a, bool square=true, size_t dim2=0,
+ GCPlacement placement=NoGC);
triple *copyTripleArrayC(const array *a, size_t dim=0);
triple *copyTripleArray2C(const array *a, bool square=true, size_t dim2=0);
-double *copyTripleArray2Components(array *a, bool square=true, size_t dim2=0);
+double *copyTripleArray2Components(array *a, bool square=true, size_t dim2=0,
+ GCPlacement placement=NoGC);
}
function *realRealFunction();
@@ -283,8 +285,7 @@ void gen_runlabel3(stack *Stack)
array *P=new array(0);
if(s->empty()) {Stack->push<patharray*>(P); return;}
- string prefix=outname();
- spaceToUnderscore(prefix);
+ string prefix=cleanpath(outname());
string psname=auxname(prefix,"ps");
string texname=auxname(prefix,"tex");
string dviname=auxname(prefix,"dvi");
@@ -376,18 +377,17 @@ void gen_runlabel3(stack *Stack)
{Stack->push<patharray*>(pdf ? readpath(psname,keep,0.1) : readpath(psname,keep,0.12,-1.0)); return;}
}
-#line 305 "runlabel.in"
+#line 304 "runlabel.in"
// patharray* textpath(string *s, pen p=CURRENTPEN);
void gen_runlabel4(stack *Stack)
{
pen p=vm::pop<pen>(Stack,CURRENTPEN);
string * s=vm::pop<string *>(Stack);
-#line 306 "runlabel.in"
+#line 305 "runlabel.in"
array *P=new array(0);
if(s->empty()) {Stack->push<patharray*>(P); return;}
- string prefix=outname();
- spaceToUnderscore(prefix);
+ string prefix=cleanpath(outname());
string outputname=auxname(prefix,getSetting<string>("textoutformat"));
string textname=auxname(prefix,getSetting<string>("textextension"));
@@ -452,18 +452,17 @@ void gen_runlabel4(stack *Stack)
{Stack->push<patharray*>(readpath(psname,keep,0.1)); return;}
}
-#line 376 "runlabel.in"
+#line 374 "runlabel.in"
// patharray* _strokepath(path g, pen p=CURRENTPEN);
void gen_runlabel5(stack *Stack)
{
pen p=vm::pop<pen>(Stack,CURRENTPEN);
path g=vm::pop<path>(Stack);
-#line 377 "runlabel.in"
+#line 375 "runlabel.in"
array *P=new array(0);
if(g.size() == 0) {Stack->push<patharray*>(P); return;}
- string prefix=outname();
- spaceToUnderscore(prefix);
+ string prefix=cleanpath(outname());
string psname=auxname(prefix,"ps");
bbox b;
psfile ps(psname,false);
@@ -475,7 +474,7 @@ void gen_runlabel5(stack *Stack)
ps.setpen(p);
ps.write(g);
ps.strokepath();
- ps.stroke();
+ ps.stroke(p);
ps.verbatimline("(M) "+currentpoint);
ps.epilogue();
ps.close();
@@ -496,9 +495,9 @@ void gen_runlabel_venv(venv &ve)
addFunc(ve, run::gen_runlabel2, realArray(), "texsize", formal(primString(), "s", false, false), formal(primPen(), "p", true, false));
#line 207 "runlabel.in"
addFunc(ve, run::gen_runlabel3, pathArray() , "_texpath", formal(primString(), "s", false, false), formal(primPen(), "p", true, false));
-#line 305 "runlabel.in"
+#line 304 "runlabel.in"
addFunc(ve, run::gen_runlabel4, pathArray() , "textpath", formal(primString(), "s", false, false), formal(primPen(), "p", true, false));
-#line 376 "runlabel.in"
+#line 374 "runlabel.in"
addFunc(ve, run::gen_runlabel5, pathArray() , "_strokepath", formal(primPath(), "g", false, false), formal(primPen(), "p", true, false));
}