this.applyCorners=function()

in tapestry-framework/src/js/dojo-0.4.3-custom-4.1.6/src/widget/Rounded.js [67:403]


this.applyCorners=function(){
for(var t=0;t<2;t++){
switch(t){
case 0:
if(this.settings.tl.enabled||this.settings.tr.enabled){
var _14=document.createElement("DIV");
with(_14.style){
width="100%";
fontSize="1px";
overflow="hidden";
position="absolute";
paddingLeft=this.borderWidth+"px";
paddingRight=this.borderWidth+"px";
var _15=Math.max(this.settings.tl?this.settings.tl.radius:0,this.settings.tr?this.settings.tr.radius:0);
height=_15+"px";
top=0-_15+"px";
left=0-this.borderWidth+"px";
}
this.topContainer=this.box.appendChild(_14);
}
break;
case 1:
if(this.settings.bl.enabled||this.settings.br.enabled){
var _14=document.createElement("DIV");
with(_14.style){
width="100%";
fontSize="1px";
overflow="hidden";
position="absolute";
paddingLeft=this.borderWidth+"px";
paddingRight=this.borderWidth+"px";
var _16=Math.max(this.settings.bl?this.settings.bl.radius:0,this.settings.br?this.settings.br.radius:0);
height=_16+"px";
bottom=0-_16+"px";
left=0-this.borderWidth+"px";
}
this.bottomContainer=this.box.appendChild(_14);
}
break;
}
}
if(this.topContainer){
this.box.style.borderTopWidth="0px";
}
if(this.bottomContainer){
this.box.style.borderBottomWidth="0px";
}
var _17=["tr","tl","br","bl"];
for(var i in _17){
var cc=_17[i];
if(!this.settings[cc]){
if(((cc=="tr"||cc=="tl")&&this.topContainer!=null)||((cc=="br"||cc=="bl")&&this.bottomContainer!=null)){
var _1a=document.createElement("DIV");
_1a.style.position="relative";
_1a.style.fontSize="1px";
_1a.style.overflow="hidden";
if(this.backgroundImage==""){
_1a.style.backgroundColor=this.boxColour;
}else{
_1a.style.backgroundImage=this.backgroundImage;
}
switch(cc){
case "tl":
with(_1a.style){
height=_15-this.borderWidth+"px";
marginRight=this.settings.tr.radius-(this.borderWidth*2)+"px";
borderLeft=this.borderString;
borderTop=this.borderString;
left=-this.borderWidth+"px";
}
break;
case "tr":
with(_1a.style){
height=_15-this.borderWidth+"px";
marginLeft=this.settings.tl.radius-(this.borderWidth*2)+"px";
borderRight=this.borderString;
borderTop=this.borderString;
backgroundPosition="-"+this.boxWidth+"px 0px";
left=this.borderWidth+"px";
}
break;
case "bl":
with(_1a.style){
height=_16-this.borderWidth+"px";
marginRight=this.settings.br.radius-(this.borderWidth*2)+"px";
borderLeft=this.borderString;
borderBottom=this.borderString;
left=-this.borderWidth+"px";
}
break;
case "br":
with(_1a.style){
height=_16-this.borderWidth+"px";
marginLeft=this.settings.bl.radius-(this.borderWidth*2)+"px";
borderRight=this.borderString;
borderBottom=this.borderString;
left=this.borderWidth+"px";
}
break;
}
}
}else{
if(this.masterCorners[this.settings[cc].radius]){
var _1a=this.masterCorners[this.settings[cc].radius].cloneNode(true);
}else{
var _1a=document.createElement("DIV");
with(_1a.style){
height=this.settings[cc].radius+"px";
width=this.settings[cc].radius+"px";
position="absolute";
fontSize="1px";
overflow="hidden";
}
var _1b=parseInt(this.settings[cc].radius-this.borderWidth);
for(var _1c=0,j=this.settings[cc].radius;_1c<j;_1c++){
if((_1c+1)>=_1b){
var y1=-1;
}else{
var y1=(Math.floor(Math.sqrt(Math.pow(_1b,2)-Math.pow((_1c+1),2)))-1);
}
if(_1b!=j){
if((_1c)>=_1b){
var y2=-1;
}else{
var y2=Math.ceil(Math.sqrt(Math.pow(_1b,2)-Math.pow(_1c,2)));
}
if((_1c+1)>=j){
var y3=-1;
}else{
var y3=(Math.floor(Math.sqrt(Math.pow(j,2)-Math.pow((_1c+1),2)))-1);
}
}
if((_1c)>=j){
var y4=-1;
}else{
var y4=Math.ceil(Math.sqrt(Math.pow(j,2)-Math.pow(_1c,2)));
}
if(y1>-1){
this.drawPixel(_1c,0,this.boxColour,100,(y1+1),_1a,-1,this.settings[cc].radius);
}
if(_1b!=j){
if(this.antiAlias){
for(var _22=(y1+1);_22<y2;_22++){
if(this.backgroundImage!=""){
var _23=(this.pixelFraction(_1c,_22,_1b)*100);
if(_23<30){
this.drawPixel(_1c,_22,this.borderColour,100,1,_1a,0,this.settings[cc].radius);
}else{
this.drawPixel(_1c,_22,this.borderColour,100,1,_1a,-1,this.settings[cc].radius);
}
}else{
var _24=dojo.gfx.color.blend(this.boxColour,this.borderColour,this.pixelFraction(_1c,_22,_1b));
this.drawPixel(_1c,_22,_24,100,1,_1a,0,this.settings[cc].radius);
}
}
}
if(y3>=y2){
if(y1==-1){
y1=0;
}
this.drawPixel(_1c,y2,this.borderColour,100,(y3-y2+1),_1a,0,this.settings[cc].radius);
}
var _25=this.borderColour;
}else{
var _25=this.boxColour;
var y3=y1;
}
if(this.antiAlias){
for(var _22=(y3+1);_22<y4;_22++){
this.drawPixel(_1c,_22,_25,(this.pixelFraction(_1c,_22,j)*100),1,_1a,((this.borderWidth>0)?0:-1),this.settings[cc].radius);
}
}
}
this.masterCorners[this.settings[cc].radius]=_1a.cloneNode(true);
}
if(cc!="br"){
for(var t=0,k=_1a.childNodes.length;t<k;t++){
var _27=_1a.childNodes[t];
var _28=parseInt(_27.style.top.substring(0,_27.style.top.indexOf("px")));
var _29=parseInt(_27.style.left.substring(0,_27.style.left.indexOf("px")));
var _2a=parseInt(_27.style.height.substring(0,_27.style.height.indexOf("px")));
if(cc=="tl"||cc=="bl"){
_27.style.left=this.settings[cc].radius-_29-1+"px";
}
if(cc=="tr"||cc=="tl"){
_27.style.top=this.settings[cc].radius-_2a-_28+"px";
}
var _2b;
switch(cc){
case "tr":
_2b=(-1*(Math.abs((this.boxWidth-this.settings[cc].radius+this.borderWidth)+_29)-(Math.abs(this.settings[cc].radius-_2a-_28-this.borderWidth))));
_27.style.backgroundPosition=_2b+"px";
break;
case "tl":
_2b=(-1*(Math.abs((this.settings[cc].radius-_29-1)-this.borderWidth)-(Math.abs(this.settings[cc].radius-_2a-_28-this.borderWidth))));
_27.style.backgroundPosition=_2b+"px";
break;
case "bl":
_2b=(-1*(Math.abs((this.settings[cc].radius-_29-1)-this.borderWidth)-(Math.abs((this.boxHeight+this.settings[cc].radius+_28)-this.borderWidth))));
_27.style.backgroundPosition=_2b+"px";
break;
}
}
}
}
if(_1a){
switch(cc){
case "tl":
if(_1a.style.position=="absolute"){
_1a.style.top="0px";
}
if(_1a.style.position=="absolute"){
_1a.style.left="0px";
}
if(this.topContainer){
this.topContainer.appendChild(_1a);
}
break;
case "tr":
if(_1a.style.position=="absolute"){
_1a.style.top="0px";
}
if(_1a.style.position=="absolute"){
_1a.style.right="0px";
}
if(this.topContainer){
this.topContainer.appendChild(_1a);
}
break;
case "bl":
if(_1a.style.position=="absolute"){
_1a.style.bottom="0px";
}
if(_1a.style.position=="absolute"){
_1a.style.left="0px";
}
if(this.bottomContainer){
this.bottomContainer.appendChild(_1a);
}
break;
case "br":
if(_1a.style.position=="absolute"){
_1a.style.bottom="0px";
}
if(_1a.style.position=="absolute"){
_1a.style.right="0px";
}
if(this.bottomContainer){
this.bottomContainer.appendChild(_1a);
}
break;
}
}
}
var _2c=[];
_2c["t"]=this.settings.tl.enabled&&this.settings.tr.enabled?Math.abs(this.settings.tl.radius-this.settings.tr.radius):0;
_2c["b"]=this.settings.bl.enabled&&this.settings.br.enabled?Math.abs(this.settings.bl.radius-this.settings.br.radius):0;
for(var z in _2c){
if(_2c[z]){
var _2e=((this.settings[z+"l"].radius<this.settings[z+"r"].radius)?z+"l":z+"r");
var _2f=document.createElement("DIV");
with(_2f.style){
height=_2c[z]+"px";
width=this.settings[_2e].radius+"px";
position="absolute";
fontSize="1px";
overflow="hidden";
backgroundColor=this.boxColour;
}
switch(_2e){
case "tl":
with(_2f.style){
bottom="0px";
left="0px";
borderLeft=this.borderString;
}
this.topContainer.appendChild(_2f);
break;
case "tr":
with(_2f.style){
bottom="0px";
right="0px";
borderRight=this.borderString;
}
this.topContainer.appendChild(_2f);
break;
case "bl":
with(_2f.style){
top="0px";
left="0px";
borderLeft=this.borderString;
}
this.bottomContainer.appendChild(_2f);
break;
case "br":
with(_2f.style){
top="0px";
right="0px";
borderRight=this.borderString;
}
this.bottomContainer.appendChild(_2f);
break;
}
}
var _30=document.createElement("DIV");
with(_30.style){
position="relative";
fontSize="1px";
overflow="hidden";
backgroundColor=this.boxColour;
}
switch(z){
case "t":
if(this.topContainer){
with(_30.style){
height=_15-this.borderWidth+"px";
marginLeft=this.settings.tl.radius-this.borderWidth+"px";
marginRight=this.settings.tr.radius-this.borderWidth+"px";
borderTop=this.borderString;
}
this.topContainer.appendChild(_30);
}
break;
case "b":
if(this.bottomContainer){
with(_30.style){
height=_16-this.borderWidth+"px";
marginLeft=this.settings.bl.radius-this.borderWidth+"px";
marginRight=this.settings.br.radius-this.borderWidth+"px";
borderBottom=this.borderString;
}
this.bottomContainer.appendChild(_30);
}
break;
}
}
};