From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- graphics/asymptote/base/external.asy | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 graphics/asymptote/base/external.asy (limited to 'graphics/asymptote/base/external.asy') diff --git a/graphics/asymptote/base/external.asy b/graphics/asymptote/base/external.asy new file mode 100644 index 0000000000..f9ab5365ae --- /dev/null +++ b/graphics/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); +} + -- cgit v1.2.3