summaryrefslogtreecommitdiff
path: root/Master/texmf/asymptote/plain.asy
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/asymptote/plain.asy')
-rw-r--r--Master/texmf/asymptote/plain.asy284
1 files changed, 0 insertions, 284 deletions
diff --git a/Master/texmf/asymptote/plain.asy b/Master/texmf/asymptote/plain.asy
deleted file mode 100644
index e06bc66543c..00000000000
--- a/Master/texmf/asymptote/plain.asy
+++ /dev/null
@@ -1,284 +0,0 @@
-/*****
- * plain.asy
- * Andy Hammerlindl and John Bowman 2004/08/19
- *
- * A package for general purpose drawing, with automatic sizing of pictures.
- *
- *****/
-
-access settings;
-
-if(settings.command != "") {
- string s=settings.command;
- settings.command="";
- settings.multipleView=settings.batchView=settings.interactiveView;
- _eval(s+";",false,true);
- exit();
-}
-
-include plain_constants;
-
-access version;
-if(version.VERSION != VERSION) {
- warning("version","using possibly incompatible version "+
- version.VERSION+" of plain.asy"+'\n');
- nowarn("version");
-}
-
-include plain_strings;
-include plain_pens;
-include plain_paths;
-include plain_filldraw;
-include plain_margins;
-include plain_picture;
-include plain_Label;
-include plain_shipout;
-include plain_arcs;
-include plain_boxes;
-include plain_markers;
-include plain_arrows;
-include plain_debugger;
-
-pair viewportmargin=(0,0); // Horizontal and vertical 3D viewport margins.
-
-typedef void exitfcn();
-
-bool needshipout() {
- return !shipped && !currentpicture.empty();
-}
-
-void updatefunction()
-{
- if(!currentpicture.uptodate) shipout();
-}
-
-void exitfunction()
-{
- if(needshipout()) shipout();
-}
-
-atupdate(updatefunction);
-atexit(exitfunction);
-
-// A restore thunk is a function, that when called, restores the graphics state
-// to what it was when the restore thunk was created.
-typedef void restoreThunk();
-typedef restoreThunk saveFunction();
-saveFunction[] saveFunctions={};
-
-// When save is called, this will be redefined to do the corresponding restore.
-void restore()
-{
- warning("nomatchingsave","restore called with no matching save");
-}
-
-void addSaveFunction(saveFunction s)
-{
- saveFunctions.push(s);
-}
-
-restoreThunk buildRestoreThunk()
-{
- // Call the save functions in reverse order, storing their restore thunks.
- restoreThunk[] thunks={};
- for (int i=saveFunctions.length-1; i >= 0; --i)
- thunks.push(saveFunctions[i]());
-
- return new void() {
- // Call the restore thunks in an order matching the saves.
- for (int i=thunks.length-1; i >= 0; --i)
- thunks[i]();
- };
-}
-
-// Add the default save function.
-addSaveFunction(new restoreThunk () {
- pen defaultpen=defaultpen();
- pen p=currentpen;
- picture pic=currentpicture.copy();
- restoreThunk r=restore;
- return new void() {
- defaultpen(defaultpen);
- currentpen=p;
- currentpicture=pic;
- currentpicture.uptodate=false;
- restore=r;
- };
- });
-
-// Save the current state, so that restore will put things back in that state.
-restoreThunk save()
-{
- return restore=buildRestoreThunk();
-}
-
-void restoredefaults()
-{
- warning("nomatchingsavedefaults",
- "restoredefaults called with no matching savedefaults");
-}
-
-restoreThunk buildRestoreDefaults()
-{
- pen defaultpen=defaultpen();
- exitfcn atupdate=atupdate();
- exitfcn atexit=atexit();
- restoreThunk r=restoredefaults;
- return new void() {
- defaultpen(defaultpen);
- atupdate(atupdate);
- atexit(atexit);
- restoredefaults=r;
- };
-}
-
-// Save the current state, so that restore will put things back in that state.
-restoreThunk savedefaults()
-{
- return restoredefaults=buildRestoreDefaults();
-}
-
-void initdefaults()
-{
- savedefaults();
- resetdefaultpen();
- atupdate(null);
- atexit(null);
-}
-
-// Return the sequence n,...m
-int[] sequence(int n, int m)
-{
- return sequence(new int(int x){return x;},m-n+1)+n;
-}
-
-int[] reverse(int n) {return sequence(new int(int x){return n-1-x;},n);}
-bool[] reverse(bool[] a) {return a[reverse(a.length)];}
-int[] reverse(int[] a) {return a[reverse(a.length)];}
-real[] reverse(real[] a) {return a[reverse(a.length)];}
-pair[] reverse(pair[] a) {return a[reverse(a.length)];}
-triple[] reverse(triple[] a) {return a[reverse(a.length)];}
-string[] reverse(string[] a) {return a[reverse(a.length)];}
-
-// Return a uniform partition dividing [a,b] into n subintervals.
-real[] uniform(real a, real b, int n)
-{
- if(n <= 0) return new real[];
- return a+(b-a)/n*sequence(n+1);
-}
-
-void eval(string s, bool embedded=false)
-{
- if(!embedded) initdefaults();
- _eval(s+";",embedded);
- if(!embedded) restoredefaults();
-}
-
-void eval(code s, bool embedded=false)
-{
- if(!embedded) initdefaults();
- _eval(s,embedded);
- if(!embedded) restoredefaults();
-}
-
-// Evaluate user command line option.
-void usersetting()
-{
- eval(settings.user,true);
-}
-
-string stripsuffix(string f, string suffix=".asy")
-{
- int n=rfind(f,suffix);
- if(n != -1) f=erase(f,n,-1);
- return f;
-}
-
-// Conditionally process each file name in array s in a new environment.
-void asy(string format, bool overwrite=false ... string[] s)
-{
- for(string f : s) {
- f=stripsuffix(f);
- string suffix="."+format;
- string fsuffix=f+suffix;
- if(overwrite || error(input(fsuffix,check=false))) {
- string outformat=settings.outformat;
- bool interactiveView=settings.interactiveView;
- bool batchView=settings.batchView;
- settings.outformat=format;
- settings.interactiveView=false;
- settings.batchView=false;
- string outname=outname();
- delete(outname+"_"+".aux");
- eval("import \""+f+"\" as dummy");
- rename(stripsuffix(outname)+suffix,fsuffix);
- settings.outformat=outformat;
- settings.interactiveView=interactiveView;
- settings.batchView=batchView;
- }
- }
-}
-
-void beep()
-{
- write('\7',flush);
-}
-
-struct processtime {
- real user;
- real system;
-}
-
-struct cputime {
- processtime parent;
- processtime child;
- processtime change;
-}
-
-cputime cputime()
-{
- static processtime last;
- real [] a=_cputime();
- cputime cputime;
- cputime.parent.user=a[0];
- cputime.parent.system=a[1];
- cputime.child.user=a[2];
- cputime.child.system=a[3];
- real user=a[0]+a[2];
- real system=a[1]+a[3];
- cputime.change.user=user-last.user;
- cputime.change.system=system-last.system;
- last.user=user;
- last.system=system;
- return cputime;
-}
-
-string cputimeformat="%#.2f";
-
-void write(file file, string s="", cputime c, string format=cputimeformat,
- suffix suffix=none)
-{
- write(file,s,
- format(format,c.change.user)+"u "+
- format(format,c.change.system)+"s "+
- format(format,c.parent.user+c.child.user)+"U "+
- format(format,c.parent.system+c.child.system)+"S ",suffix);
-}
-
-void write(string s="", cputime c, string format=cputimeformat,
- suffix suffix=endl)
-{
- write(stdout,s,c,format,suffix);
-}
-
-if(settings.autoimport != "") {
- string s=settings.autoimport;
- settings.autoimport="";
- eval("import \""+s+"\" as dummy",true);
- shipped=false;
- atupdate(updatefunction);
- atexit(exitfunction);
- settings.autoimport=s;
-}
-
-cputime();