summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/asymptote/palette.asy
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-08 18:41:28 +0000
committerKarl Berry <karl@freefriends.org>2013-04-08 18:41:28 +0000
commita3358f7394e3adabeff44a4858bab8f13cbe1180 (patch)
tree014354d566c06a47c483b7231af921247180f770 /Master/texmf-dist/asymptote/palette.asy
parent11bcd1a52098dab6ac5baa790409a2261a31755f (diff)
asymptote 2.21
git-svn-id: svn://tug.org/texlive/trunk@29753 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/asymptote/palette.asy')
-rw-r--r--Master/texmf-dist/asymptote/palette.asy56
1 files changed, 45 insertions, 11 deletions
diff --git a/Master/texmf-dist/asymptote/palette.asy b/Master/texmf-dist/asymptote/palette.asy
index b1d1985a323..62ca83f1c9a 100644
--- a/Master/texmf-dist/asymptote/palette.asy
+++ b/Master/texmf-dist/asymptote/palette.asy
@@ -92,11 +92,18 @@ bounds image(picture pic=currentpicture, real[][] f, range range=Full,
initial=Scale(pic,initial);
final=Scale(pic,final);
- transform T=transpose ? swap : identity();
+ pic.addBox(initial,final);
+
+ transform T;
+ if(transpose) {
+ T=swap;
+ initial=T*initial;
+ final=T*final;
+ }
+
pic.add(new void(frame F, transform t) {
- _image(F,f,T*initial,T*final,palette,t*T,copy=false,antialias=antialias);
+ _image(F,f,initial,final,palette,t*T,copy=false,antialias=antialias);
},true);
- pic.addBox(initial,final);
return bounds; // Return bounds used for color space
}
@@ -131,11 +138,18 @@ void image(picture pic=currentpicture, pen[][] data, pair initial, pair final,
initial=Scale(pic,initial);
final=Scale(pic,final);
- transform T=transpose ? swap : identity();
+ pic.addBox(initial,final);
+
+ transform T;
+ if(transpose) {
+ T=swap;
+ initial=T*initial;
+ final=T*final;
+ }
+
pic.add(new void(frame F, transform t) {
- _image(F,data,T*initial,T*final,t*T,copy=false,antialias=antialias);
+ _image(F,data,initial,final,t*T,copy=false,antialias=antialias);
},true);
- pic.addBox(initial,final);
}
void image(picture pic=currentpicture, pen f(int, int), int width, int height,
@@ -146,11 +160,21 @@ void image(picture pic=currentpicture, pen f(int, int), int width, int height,
initial=Scale(pic,initial);
final=Scale(pic,final);
- transform T=transpose ? swap : identity();
+ pic.addBox(initial,final);
+
+ transform T;
+ if(transpose) {
+ T=swap;
+ int temp=width;
+ width=height;
+ height=temp;
+ initial=T*initial;
+ final=T*final;
+ }
+
pic.add(new void(frame F, transform t) {
- _image(F,f,width,height,T*initial,T*final,t*T,antialias=antialias);
+ _image(F,f,width,height,initial,final,t*T,antialias=antialias);
},true);
- pic.addBox(initial,final);
}
bounds image(picture pic=currentpicture, pair[] z, real[] f,
@@ -291,9 +315,19 @@ void palette(picture pic=currentpicture, Label L="", bounds bounds,
}
real[][] pdata={sequence(palette.length)};
- transform T=vertical ? swap : identity();
+ transform T;
+ pair Tinitial,Tfinal;
+ if(vertical) {
+ T=swap;
+ Tinitial=T*initial;
+ Tfinal=T*final;
+ } else {
+ Tinitial=initial;
+ Tfinal=final;
+ }
+
pic.add(new void(frame f, transform t) {
- _image(f,pdata,T*initial,T*final,palette,t*T,copy=false,
+ _image(f,pdata,Tinitial,Tfinal,palette,t*T,copy=false,
antialias=antialias);
},true);