diff options
Diffstat (limited to 'Build/source/utils/asymptote/base/external.asy')
-rw-r--r-- | Build/source/utils/asymptote/base/external.asy | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/base/external.asy b/Build/source/utils/asymptote/base/external.asy new file mode 100644 index 00000000000..9e12610c4b2 --- /dev/null +++ b/Build/source/utils/asymptote/base/external.asy @@ -0,0 +1,37 @@ +usepackage("hyperref"); +texpreamble("\hypersetup{"+settings.hyperrefOptions+"}"); + +// Embed object to be run in an external window. An image file name can be +// specified; if not given one will be automatically generated. +string embed(string name, string text="", string options="", + real width=0, real height=0, string image="") +{ + string options; // Ignore passed options. + if(image == "") { + image=stripdirectory(stripextension(name))+"."+nativeformat(); + convert(name+"[0]",image,nativeformat()); + + if(!settings.keep) { + exitfcn currentexitfunction=atexit(); + void exitfunction() { + if(currentexitfunction != null) currentexitfunction(); + delete(image); + } + atexit(exitfunction); + } + } + if(width != 0) options += ", width="+(string) (width/pt)+"pt"; + if(height != 0) options +=", height="+(string) (height/pt)+"pt"; + return "\href{run:"+name+"}{"+graphic(image,options)+"}"; +} + +string hyperlink(string url, string text) +{ + return "\href{"+url+"}{"+text+"}"; +} + +string link(string label, string text="Play") +{ + return hyperlink("run:"+label,text); +} + |