summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/base/external.asy
blob: 5573561fc36c55842bc677a7638962e84cb36d5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
usepackage("hyperref","setpagesize=false,unicode");

// 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 options="", real width=0, real height=0,
             string image="")
{
  string options; // Ignore movie15 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 url, string text, string options="")
{
  return hyperlink("run:"+url,text);
}