function go_next(bool){if(bool===true)PageInfo.reset_pageNext();Action.drawCondition=2;aniSvg.load_rollImages('next','btn');} function go_prev(bool){if(bool===true)PageInfo.reset_pagePrev();Action.drawCondition=1;aniSvg.load_rollImages('prev','btn');} function go_direct(n){n=PageInfo.get_directPageNo(n);PageInfo.prevPage=PageInfo.currentPage;PageInfo.currentPage=n;if(PageInfo.prevPage20)aniSvg.transLen=20;aniSvg.arOverPoint=[];if(skd==="nextres"){for(var i=0;ianiSvg.rollCenterPt.x){aniSvg.set_animeDimDrag("prev");aniSvg.timer=setInterval(aniSvg.prev_animate,aniSvg.interval);} else{aniSvg.set_animeDimDrag("prevres");aniSvg.timer=setInterval(aniSvg.res_animateFromPrev,aniSvg.interval);}} else{if(e.clientXaniSvg.rollCenterPt.x){aniSvg.set_animeDimDrag("prev");aniSvg.timer=setInterval(aniSvg.prev_animate,aniSvg.interval);} else{aniSvg.set_animeDimDrag("prevres");aniSvg.timer=setInterval(aniSvg.res_animateFromPrev,aniSvg.interval);}} else{if(befXaniSvg.rollCenterPt.x)?"next":"prev";if((sidx==="prev"&&PageInfo.is_firstPage()===true)||(sidx==="next"&&PageInfo.is_lastPage()===true))return false;if(ScreenInfo.onesmc===true)aniSvg.centerX=(sidx==="next")?smRect.x:smRect.right;else aniSvg.centerX=aniSvg.rollCenterPt.x;aniSvg.centerY=aniSvg.rollCenterPt.y;var rollx=clickX-aniSvg.centerX;var rolly=clickY-aniSvg.centerY;if(rolly<0&&rolly<-ScreenInfo.smImageHeightHalf)rolly=-ScreenInfo.smImageHeightHalf;if(rolly>0&&rolly>ScreenInfo.smImageHeightHalf)rolly=ScreenInfo.smImageHeightHalf;var dialen=Math.sqrt(rollx*rollx+rolly*rolly);var phi=Math.asin(rolly/dialen);var righty=Math.tan(phi)*ScreenInfo.smImageWidth;if(sidx==="next")aniSvg.set_startPt(ScreenInfo.smImageWidth,righty);else aniSvg.set_startPt(-ScreenInfo.smImageWidth,righty);aniSvg.clickPt=new Point(clickX-aniSvg.centerX,clickY-aniSvg.centerY);prepare_turnover2(sidx);aniSvg.load_rollImages(sidx,"drag");return true;} aniSvg.set_startPt=function(ax,ay){aniSvg.startPt=new Point(ax,ay);aniSvg.currPt=new Point(ax,ay);aniSvg.startDiaUpper=Math.sqrt(ScreenInfo.smImageWidth*ScreenInfo.smImageWidth+(aniSvg.startPt.y+ScreenInfo.smImageHeightHalf)*(aniSvg.startPt.y+ScreenInfo.smImageHeightHalf));aniSvg.startDiaLower=Math.sqrt(ScreenInfo.smImageWidth*ScreenInfo.smImageWidth+(ScreenInfo.smImageHeightHalf-aniSvg.startPt.y)*(ScreenInfo.smImageHeightHalf-aniSvg.startPt.y));} aniSvg.load_rollImages=function(s1,s2){aniSvg.direction=s1;aniSvg.showkind=s2;loadto=2;loaded=0;var surl="";if(ScreenInfo.onesmc===true)surl=SmcObj.leftUrl;else{var aaa=FileInfo.cimgFilePath(PageInfo.currentPage,"s","","*");surl=aaa[0];} var bbb=(ScreenInfo.onesmc===true)?FileInfo.cimgFilePath(PageInfo.currentPage,"s","","*"):FileInfo.cimgFilePath(PageInfo.currentPage+1,"s","","*");var prevUrl,nextUrl;if(ScreenInfo.onesmc===true&&aniSvg.direction==="prev"){nextUrl=surl;prevUrl=bbb[0];} else{prevUrl=surl;nextUrl=bbb[0];} if(prevUrl===""){aniSvg.catImageLN=document.createElement('canvas');aniSvg.catImageLN.style.position="fixed";aniSvg.catImageLN.style.left="-9999px";aniSvg.catImageLN.style.top="0px";aniSvg.catImageLN.width=ScreenInfo.smImageOriWidth;aniSvg.catImageLN.height=ScreenInfo.smImageOriHeight;var contextLN=aniSvg.catImageLN.getContext("2d");contextLN.fillStyle=ScreenInfo.blankColor;contextLN.fillRect(0,0,ScreenInfo.smImageOriWidth,ScreenInfo.smImageOriWidth);aniSvg.imageObjLoaded();} else{aniSvg.catImageLN=new Image();if(ServerInfo.applyCipher===true)load_cipherImage('btn',0,prevUrl,go_nextLNCipher);else go_nextLNCipher('btn',0,prevUrl);} if(nextUrl===""){aniSvg.catImageRN=document.createElement('canvas');aniSvg.catImageRN.style.position="fixed";aniSvg.catImageRN.style.left="-9999px";aniSvg.catImageRN.style.top="0px";aniSvg.catImageRN.width=ScreenInfo.smImageOriWidth;aniSvg.catImageRN.height=ScreenInfo.smImageOriHeight;var contextRN=aniSvg.catImageRN.getContext("2d");contextRN.fillStyle=ScreenInfo.blankColor;contextRN.fillRect(0,0,ScreenInfo.smImageOriWidth,ScreenInfo.smImageOriWidth);aniSvg.imageObjLoaded();} else{aniSvg.catImageRN=new Image();if(ServerInfo.applyCipher===true)load_cipherImage('btn',0,nextUrl,go_nextRNCipher);else go_nextRNCipher('btn',0,nextUrl);} if(aniSvg.showkind==="drag"){aniSvg.seq=0;aniSvg.timer=setInterval(aniSvg.drag_animate,aniSvg.interval);}} function go_nextLNCipher(skd,npage,urlsrc){aniSvg.catImageLN.src=urlsrc;aniSvg.catImageLN.onload=aniSvg.imageObjLoaded;} function go_nextRNCipher(skd,npage,urlsrc){aniSvg.catImageRN.src=urlsrc;aniSvg.catImageRN.onload=aniSvg.imageObjLoaded;} aniSvg.imageObjLoaded=function(){loaded++;if(loaded===loadto){aniSvg.prepare_canvas();if(aniSvg.showkind==="btn"){if(aniSvg.direction=="next")aniSvg.go_nextFromBtn();else aniSvg.go_prevFromBtn();} else if(aniSvg.showkind==="demo"){if(aniSvg.direction==="next")aniSvg.go_nextFromDemo();else aniSvg.go_prevFromDemo();}}} aniSvg.go_nextFromBtn=function(){prepare_turnover();aniSvg.seq=0;aniSvg.centerX=(ScreenInfo.onesmc===true)?smRect.x:aniSvg.rollCenterPt.x;aniSvg.centerY=aniSvg.rollCenterPt.y;aniSvg.set_startPt(ScreenInfo.smImageWidth,ScreenInfo.smImageHeightHalf);aniSvg.set_animeDim();aniSvg.timer=setInterval(aniSvg.next_animate,aniSvg.interval);} aniSvg.go_nextFromDemo=function(){aniSvg.seq=0;aniSvg.centerX=(ScreenInfo.onesmc===true)?smRect.x:aniSvg.rollCenterPt.x;aniSvg.centerY=aniSvg.rollCenterPt.y;aniSvg.set_startPt(ScreenInfo.smImageWidth,ScreenInfo.smImageHeightHalf);aniSvg.currPt=new Point(ScreenInfo.smImageWidth-25,ScreenInfo.smImageHeightHalf-25);aniSvg.timer=setInterval(aniSvg.next_animateDemo,aniSvg.interval);} aniSvg.go_prevFromBtn=function(){prepare_turnover();aniSvg.seq=0;aniSvg.centerX=(ScreenInfo.onesmc===true)?smRect.right:aniSvg.rollCenterPt.x;aniSvg.centerY=aniSvg.rollCenterPt.y;aniSvg.set_startPt(-ScreenInfo.smImageWidth,ScreenInfo.smImageHeightHalf);aniSvg.set_animeDim();aniSvg.timer=setInterval(aniSvg.prev_animate,aniSvg.interval);} aniSvg.go_prevFromDemo=function(){aniSvg.seq=0;aniSvg.centerX=(ScreenInfo.onesmc===true)?smRect.right:aniSvg.rollCenterPt.x;aniSvg.centerY=aniSvg.rollCenterPt.y;aniSvg.set_startPt(-ScreenInfo.smImageWidth,ScreenInfo.smImageHeightHalf);aniSvg.currPt=new Point(-ScreenInfo.smImageWidth+25,ScreenInfo.smImageHeightHalf-25);aniSvg.timer=setInterval(aniSvg.prev_animateDemo,aniSvg.interval);} aniSvg.drag_animate=function(){aniSvg.currPt.x+=(aniSvg.clickPt.x-aniSvg.currPt.x)/5;aniSvg.currPt.y+=(aniSvg.clickPt.y-aniSvg.currPt.y)/5;aniSvg.show_animate();} aniSvg.next_animate=function(){var pt=aniSvg.arOverPoint[aniSvg.seq];aniSvg.currPt.x=pt.x;aniSvg.currPt.y=pt.y;aniSvg.show_animate();aniSvg.seq++;if(aniSvg.seq===aniSvg.transLen){aniSvg.currPt.x=-aniSvg.startPt.x;aniSvg.currPt.y=aniSvg.startPt.y;aniSvg.show_animate();clearInterval(aniSvg.timer);aniSvg.timer=undefined;if(CataInfo.openingAnimation===true&&PageInfo.blank_imageFromLeft(PageInfo.currentPage)===1){CoverObj.hide_rightPage();} finish_turnover();}} aniSvg.res_animateFromNext=function(){var pt=aniSvg.arOverPoint[aniSvg.seq];aniSvg.currPt.x=pt.x;aniSvg.currPt.y=pt.y;aniSvg.show_animate();aniSvg.seq++;if(aniSvg.seq===aniSvg.transLen){clearInterval(aniSvg.timer);aniSvg.timer=undefined;aniSvg.restore_turnover();aniSvg.finish_canvas();}} aniSvg.next_animateDemo=function(){aniSvg.currPt.x+=(aniSvg.startPt.x-aniSvg.currPt.x)/10;aniSvg.currPt.y+=(aniSvg.startPt.y-aniSvg.currPt.y)/10;aniSvg.show_animate();aniSvg.seq++;if(aniSvg.seq>10){clearInterval(aniSvg.timer);aniSvg.timer=undefined;aniSvg.timer=setInterval(aniSvg.next_animateDemo2,aniSvg.interval);}} aniSvg.next_animateDemo2=function(){aniSvg.currPt.x+=(aniSvg.startPt.x-aniSvg.currPt.x)/10;aniSvg.currPt.y+=(aniSvg.startPt.y-aniSvg.currPt.y)/10;aniSvg.show_animate();if(Math.abs(aniSvg.currPt.x-aniSvg.startPt.x)10){clearInterval(aniSvg.timer);aniSvg.timer=undefined;aniSvg.timer=setInterval(aniSvg.prev_animateDemo2,aniSvg.interval);}} aniSvg.prev_animateDemo2=function(){aniSvg.currPt.x+=(aniSvg.startPt.x-aniSvg.currPt.x)/10;aniSvg.currPt.y+=(aniSvg.startPt.y-aniSvg.currPt.y)/10;aniSvg.show_animate();if(Math.abs(aniSvg.currPt.x-aniSvg.startPt.x)aniSvg.startDiaUpper||currDiaLower>aniSvg.startDiaLower){if(aniSvg.currPt.yaniSvg.startPt.y){if((aniSvg.startPt.x*aniSvg.currPt.x)>0){aniSvg.currPt.x=aniSvg.startPt.x;aniSvg.currPt.y=aniSvg.startPt.y;} else{aniSvg.currPt.x=-aniSvg.startPt.x aniSvg.currPt.y=aniSvg.startPt.y;}}} else{phi=Math.asin((aniSvg.currPt.y+ScreenInfo.smImageHeightHalf)/currDiaUpper);aniSvg.currPt.y=Math.sin(phi)*aniSvg.startDiaUpper-ScreenInfo.smImageHeightHalf;aniSvg.currPt.x=(aniSvg.currPt.x<0)?-Math.cos(phi)*aniSvg.startDiaUpper:Math.cos(phi)*aniSvg.startDiaUpper;if(aniSvg.currPt.y0){aniSvg.currPt.x=aniSvg.startPt.x;aniSvg.currPt.y=aniSvg.startPt.y;} else{aniSvg.currPt.x=-aniSvg.startPt.x;aniSvg.currPt.y=aniSvg.startPt.y;}}}} if((aniSvg.startPt.x<0&&(aniSvg.currPt.x-aniSvg.startPt.x)<10)||(aniSvg.startPt.x>0&&(aniSvg.startPt.x-aniSvg.currPt.x)<10)){if(aniSvg.startPt.x<0)aniSvg.currPt.x=-ScreenInfo.smImageWidth+10;if(aniSvg.startPt.x>0)aniSvg.currPt.x=ScreenInfo.smImageWidth-10;} var centerPt=new Point(aniSvg.startPt.x+(aniSvg.currPt.x-aniSvg.startPt.x)/2,aniSvg.startPt.y+(aniSvg.currPt.y-aniSvg.startPt.y)/2);var lenofpts=Math.sqrt((aniSvg.startPt.x-aniSvg.currPt.x)*(aniSvg.startPt.x-aniSvg.currPt.x)+(aniSvg.startPt.y-aniSvg.currPt.y)*(aniSvg.startPt.y-aniSvg.currPt.y));phi=Math.asin((aniSvg.startPt.y-aniSvg.currPt.y)/lenofpts);if(aniSvg.startPt.x<0)phi=-phi;var nx=centerPt.x-Math.tan(phi)*(ScreenInfo.smImageHeightHalf-centerPt.y);var ny=ScreenInfo.smImageHeightHalf;var tx,ty;if(aniSvg.direction==="next"){tx=nx-ScreenInfo.smImageWidth;ty=-ScreenInfo.smImageHeight;if(nx>ScreenInfo.smImageWidth){nx=ScreenInfo.smImageWidth;ny=centerPt.y+Math.tan(Math.PI/2+phi)*(ScreenInfo.smImageWidth-centerPt.x);if(ny<-ScreenInfo.smImageHeightHalf)ny=-ScreenInfo.smImageHeightHalf;else if(ny>ScreenInfo.smImageHeightHalf)ny=ScreenInfo.smImageHeightHalf;tx=0;ty=-ny-ScreenInfo.smImageHeightHalf;}} else{tx=nx;ty=-ScreenInfo.smImageHeight;if(nx<-ScreenInfo.smImageWidth){nx=-ScreenInfo.smImageWidth;ny=centerPt.y+Math.tan(Math.PI/2+phi)*(-ScreenInfo.smImageWidth-centerPt.x);if(ny<-ScreenInfo.smImageHeightHalf)ny=-ScreenInfo.smImageHeightHalf;else if(ny>ScreenInfo.smImageHeightHalf)ny=ScreenInfo.smImageHeightHalf;tx=-ScreenInfo.smImageWidth;ty=-ny-ScreenInfo.smImageHeightHalf;}} if(tx===0&&(ny==-ScreenInfo.smImageHeightHalf||ny==ScreenInfo.smImageHeightHalf))return;else if(tx===-ScreenInfo.smImageWidth&&(ny==-ScreenInfo.smImageHeightHalf||ny==ScreenInfo.smImageHeightHalf))return;var sh=Math.sqrt(ScreenInfo.smImageWidth*ScreenInfo.smImageWidth+ScreenInfo.smImageHeight*ScreenInfo.smImageHeight);var sw=100*lenofpts/smRect.width*ScreenInfo.smImageWidth/100;cntx.clearRect(0,0,stageWidth,stageHeight);cntx.save();var sr_x=smRect.x,sr_r=smRect.right,sr_y=smRect.y,sr_b=smRect.bottom;var phi2,phi3;if(aniSvg.direction==="next"){if(phi>0){phi2=phi*2;phi3=Math.PI/2-phi2;} else{phi2=-phi*2;phi3=Math.PI/2-phi2;} if(tx===0){var fa=ty/Math.cos(phi2)-ty;var rx=ty*Math.tan(phi2)-fa/Math.cos(phi3);var px=sr_r+rx;var py=aniSvg.centerY+ny;var fe=ty*Math.cos(phi3);var fc=fa*Math.sin(phi3);cntx.beginPath();cntx.moveTo(sr_x,sr_y);cntx.lineTo(px,sr_y);cntx.lineTo(sr_r,py);cntx.lineTo(sr_r,sr_b);cntx.lineTo(sr_x,sr_b);cntx.clip();cntx.translate(sr_r,py);cntx.rotate(Math.PI+phi);cntx.drawImage(aniSvg.shadowImage,0,-ScreenInfo.smImageWidth,sw/2,sh+sh+ScreenInfo.smImageWidth);cntx.restore();cntx.save();cntx.beginPath();cntx.moveTo(sr_r,sr_y);cntx.lineTo(sr_r,py);cntx.lineTo(px,sr_y);cntx.clip();cntx.drawImage(aniSvg.catImageRN,aniSvg.centerX,sr_y,ScreenInfo.smImageWidth,ScreenInfo.smImageHeight);cntx.globalAlpha=(aniSvg.transLen-aniSvg.seq)/aniSvg.transLen;cntx.translate(sr_r,py);cntx.rotate(phi);cntx.drawImage(aniSvg.shadowImage,0,-sh,sw/2,sh+sh);cntx.restore();cntx.save();cntx.globalAlpha=1;cntx.beginPath();cntx.moveTo(0,sr_y);cntx.lineTo(px,sr_y);cntx.lineTo(sr_r,py);cntx.lineTo(sr_r,stageHeight);cntx.lineTo(0,stageHeight);cntx.clip();cntx.translate(sr_r,py);cntx.rotate(phi*2);cntx.drawImage(aniSvg.catImageLN,tx,ty,ScreenInfo.smImageWidth,ScreenInfo.smImageHeight);cntx.restore();cntx.save();cntx.beginPath();cntx.lineTo(px,sr_y);cntx.lineTo(sr_r,py);cntx.lineTo(sr_r+fe,sr_y-fc);cntx.clip();cntx.translate(sr_r,py);cntx.rotate(phi);var grad=cntx.createLinearGradient(-sw,0,0,0);aniSvg.imageGradient(grad);cntx.beginPath();cntx.moveTo(0,-sh);cntx.lineTo(0,0);cntx.lineTo(-sw,0);cntx.lineTo(-sw,-sh);cntx.fillStyle=grad;cntx.fill();} else{var px=sr_r+tx;var qx=px+tx*Math.cos(phi2);var qy=(phi<0)?sr_b-tx*Math.sin(phi2):sr_b+tx*Math.sin(phi2);var sx=(phi<0)?qx-ScreenInfo.smImageHeight*Math.sin(phi2):qx+ScreenInfo.smImageHeight*Math.sin(phi2);var sy=qy-ScreenInfo.smImageHeight*Math.cos(phi2);var fc=(phi<0)?sy-sr_y:sr_y-sy;var ux=sx+fc/Math.tan(phi2);var py=qy-(sr_r-qx)*Math.tan(phi3);cntx.beginPath();cntx.moveTo(sr_x,sr_y);cntx.lineTo(sr_x,sr_b);if(phi>0){cntx.lineTo(px,sr_b);cntx.lineTo(sr_r,py);cntx.lineTo(sr_r,sr_y);} else{cntx.lineTo(px,sr_b);cntx.lineTo(ux,sr_y);} cntx.clip();cntx.translate(px,aniSvg.centerY+ny);cntx.rotate(Math.PI+phi);cntx.drawImage(aniSvg.shadowImage,0,-ScreenInfo.smImageWidth,sw/2,sh+sh+ScreenInfo.smImageWidth);cntx.restore();cntx.save();cntx.beginPath();cntx.moveTo(sr_r,sr_b);cntx.lineTo(px,sr_b);if(phi>0&&py>=sr_y){cntx.lineTo(sr_r,py);} else{cntx.lineTo(ux,sr_y);cntx.lineTo(sr_r,sr_y);} cntx.clip();cntx.drawImage(aniSvg.catImageRN,aniSvg.centerX,sr_y,ScreenInfo.smImageWidth,ScreenInfo.smImageHeight);cntx.globalAlpha=(aniSvg.transLen-aniSvg.seq)/aniSvg.transLen;cntx.translate(px,aniSvg.centerY+ny);cntx.rotate(phi);cntx.drawImage(aniSvg.shadowImage,0,-sh,sw/2,sh+sh);cntx.restore();cntx.save();cntx.globalAlpha=1;cntx.beginPath();if(phi<0){cntx.moveTo(0,sr_y);cntx.lineTo(ux,sr_y);cntx.lineTo(px,sr_b);cntx.lineTo(px,stageHeight);cntx.lineTo(0,stageHeight);} else{cntx.moveTo(0,0);cntx.lineTo(sr_r,0);cntx.lineTo(sr_r,py);cntx.lineTo(px,sr_b);cntx.lineTo(0,sr_b);} cntx.clip();cntx.translate(px,aniSvg.centerY+ny);cntx.rotate(phi*2);cntx.drawImage(aniSvg.catImageLN,tx,ty,ScreenInfo.smImageWidth,ScreenInfo.smImageHeight);cntx.restore();cntx.save();cntx.beginPath();cntx.lineTo(px,sr_b);cntx.lineTo(qx,qy);if(phi>0&&py>=sr_y){cntx.lineTo(sr_r,py);} else{cntx.lineTo(sx,sy);cntx.lineTo(ux,sr_y);} cntx.clip();cntx.translate(px,aniSvg.centerY+ny);cntx.rotate(phi);var grad=cntx.createLinearGradient(-sw,0,0,0);aniSvg.imageGradient(grad);cntx.beginPath();cntx.moveTo(0,-sh);cntx.lineTo(0,sh);cntx.lineTo(-sw,sh);cntx.lineTo(-sw,-sh);cntx.fillStyle=grad;cntx.fill();} cntx.restore();} else{phi2=phi*2;phi3=Math.PI/2-phi2;if(tx==-ScreenInfo.smImageWidth){var fa=ty/Math.cos(phi2)-ty;var rx=ty*Math.tan(phi2)-fa/Math.cos(phi3);var px=sr_x-rx;var py=aniSvg.centerY+ny;var fe=ty*Math.cos(phi3);var fc=fa*Math.sin(phi3);cntx.beginPath();cntx.moveTo(sr_r,sr_y);cntx.lineTo(px,sr_y);cntx.lineTo(sr_x,py);cntx.lineTo(sr_x,sr_b);cntx.lineTo(sr_r,sr_b);cntx.clip();cntx.translate(sr_x,py);cntx.rotate(phi);cntx.drawImage(aniSvg.shadowImage,0,-ScreenInfo.smImageWidth-sh,sw/2,sh+sh+ScreenInfo.smImageWidth);cntx.restore();cntx.save();cntx.beginPath();cntx.moveTo(sr_x,sr_y);cntx.lineTo(sr_x,py);cntx.lineTo(px,sr_y);cntx.clip();cntx.drawImage(aniSvg.catImageLN,sr_x,sr_y,ScreenInfo.smImageWidth,ScreenInfo.smImageHeight);cntx.globalAlpha=(aniSvg.transLen-aniSvg.seq)/aniSvg.transLen;cntx.translate(sr_x,py);cntx.rotate(Math.PI+phi);cntx.drawImage(aniSvg.shadowImage,0,0,sw/2,sh);cntx.restore();cntx.save();cntx.globalAlpha=1;cntx.beginPath();cntx.moveTo(stageWidth,sr_y);cntx.lineTo(px,sr_y);cntx.lineTo(sr_x,py);cntx.lineTo(sr_x,stageHeight);cntx.lineTo(stageWidth,stageHeight);cntx.clip();cntx.translate(sr_x,py);cntx.rotate(phi*2);cntx.drawImage(aniSvg.catImageRN,tx,ty,ScreenInfo.smImageWidth,ScreenInfo.smImageHeight);cntx.restore();cntx.save();cntx.beginPath();cntx.lineTo(px,sr_y);cntx.lineTo(sr_x,py);cntx.lineTo(sr_x-fe,sr_y-fc);cntx.clip();cntx.translate(sr_x,py);cntx.rotate(Math.PI+phi);var grad=cntx.createLinearGradient(-sw,0,0,0);aniSvg.imageGradient(grad);cntx.beginPath();cntx.moveTo(0,-sh);cntx.lineTo(0,sh);cntx.lineTo(-sw,sh);cntx.lineTo(-sw,-sh);cntx.fillStyle=grad;cntx.fill();} else{var px=aniSvg.centerX+tx;var kx=px-sr_x;var qx=px+kx*Math.cos(phi2);var qy=sr_b+kx*Math.sin(phi2);var sx=qx+ScreenInfo.smImageHeight*Math.sin(phi2);var sy=qy-ScreenInfo.smImageHeight*Math.cos(phi2);var fc=Math.abs(sy-sr_y);var ux=(phi>0)?sx-fc/Math.tan(phi2):sx+fc/Math.tan(phi2);var py=qy-(sr_x-qx)*Math.tan(phi3);cntx.beginPath();cntx.moveTo(sr_r,sr_y);cntx.lineTo(sr_r,sr_b);if(phi<0||pysr_y){cntx.lineTo(sr_x,py);} else{cntx.lineTo(ux,sr_y);cntx.lineTo(sr_x,sr_y);} cntx.clip();cntx.drawImage(aniSvg.catImageLN,sr_x,sr_y,ScreenInfo.smImageWidth,ScreenInfo.smImageHeight);cntx.globalAlpha=(aniSvg.transLen-aniSvg.seq)/aniSvg.transLen;cntx.translate(px,aniSvg.centerY+ny);cntx.rotate(Math.PI+phi);cntx.drawImage(aniSvg.shadowImage,0,-490,sw/2,sh+sh);cntx.restore();cntx.save();cntx.globalAlpha=1;cntx.beginPath();if(phi<0&&py>sr_y){cntx.lineTo(sr_x,py);cntx.lineTo(px,sr_b);cntx.lineTo(qx,qy);} else if(phi>0){cntx.moveTo(stageWidth,sr_y);cntx.lineTo(ux,sr_y);cntx.lineTo(px,sr_b);cntx.lineTo(px,stageHeight);cntx.lineTo(stageWidth,stageHeight);} else{cntx.moveTo(stageWidth,0);cntx.lineTo(ux,0);cntx.lineTo(ux,sr_y);cntx.lineTo(px,sr_b);cntx.lineTo(stageWidth,sr_b);} cntx.clip();cntx.translate(px,aniSvg.centerY+ny);cntx.rotate(phi*2);cntx.drawImage(aniSvg.catImageRN,tx,ty,ScreenInfo.smImageWidth,ScreenInfo.smImageHeight);cntx.restore();cntx.save();cntx.beginPath();cntx.lineTo(px,sr_b);cntx.lineTo(qx,qy);if(phi<0&&py>sr_y){cntx.lineTo(sr_x,py);} else{cntx.lineTo(sx,sy);cntx.lineTo(ux,sr_y);} cntx.clip();cntx.translate(px,aniSvg.centerY+ny);cntx.rotate(Math.PI+phi);var grad=cntx.createLinearGradient(-sw,0,0,0);aniSvg.imageGradient(grad);cntx.beginPath();cntx.moveTo(0,-sh);cntx.lineTo(0,sh);cntx.lineTo(-sw,sh);cntx.lineTo(-sw,-sh);cntx.fillStyle=grad;cntx.fill();} cntx.restore();} } aniSvg.imageGradient=function(grad){grad.addColorStop(0,'rgba(255,255,255,0)');grad.addColorStop(0.5,'rgba(255,255,255,0.1)');grad.addColorStop(0.8,'rgba(0,0,0,0.15)');grad.addColorStop(1,'rgba(0,0,0,0)');} aniSvg.showPoint=function(cntx,cx,cy){cntx.fillStyle="#0000FF";cntx.beginPath();cntx.moveTo(cx-5,cy+5);cntx.lineTo(cx-5,cy-5);cntx.lineTo(cx+5,cy-5);cntx.lineTo(cx+5,cy+5);cntx.fill();} aniSvg.showRect=function(cntx,cx,cy,dx,dy){cntx.fillStyle="#000000";cntx.beginPath();cntx.moveTo(cx,cy);cntx.lineTo(cx,dy);cntx.lineTo(dx,dy);cntx.lineTo(dx,cy);cntx.fill();}