📄 playerlistener.java
字号:
// 8. Set the start time setStartTime(); // 9. Fire the animation event event = new SVGEvent(SVGEvent.EVENT_ANIMATE,null); canvas.postEvent(event); // 10. Fire the update event event = new SVGEvent(SVGEvent.EVENT_UPDATE, canvas.raster.getDevClip() ); canvas.postEvent(event); break; case SVGEvent.EVENT_SCROLL: document = canvas.raster.document; // If the current document is not zoom and pan anabled then // just quit if(!document.isZoomAndPanAnable()) return; // 1. Get the drag point point = (TinyPoint)theEvent.data; SVGSVGElem root = (SVGSVGElem)document.root; // 2. Get the current scale int scale = root.getCurrentScale(); // 3. Calculate the new current view view = canvas.raster.view; view.x += TinyUtil.div(point.x<<TinyUtil.FIX_BITS,scale); view.y += TinyUtil.div(point.y<<TinyUtil.FIX_BITS,scale); // 5. Set the camera transform canvas.raster.setCamera(); // 6. Fire the update event event = new SVGEvent(SVGEvent.EVENT_UPDATE, canvas.raster.getDevClip() ); canvas.postEvent(event); break; case SVGEvent.EVENT_UNLOAD: break; case SVGEvent.EVENT_ZOOM: document = canvas.raster.document; if(!document.isZoomAndPanAnable()) return; TinyNumber direction = (TinyNumber)theEvent.data; // zoom in '0' size / 2 if(direction.val == 0) { zoomLevel--; if(zoomLevel < MIN_ZOOMLEVEL) { zoomLevel = MIN_ZOOMLEVEL; return; } } else //zoom out size * 2 { zoomLevel++; if(zoomLevel > MAX_ZOOMLEVEL) { zoomLevel = MAX_ZOOMLEVEL; return; } } SVGRect newView = new SVGRect(); view = canvas.raster.view; int midX = view.x + view.width/2; int midY = view.y + view.height/2; // zoom in '0' size / 2 if(direction.val == 0) { newView.width = (view.width/2); newView.height = (view.height/2); } else //zoom out size * 2 { newView.width = (view.width * 2 ); newView.height = (view.height * 2); } newView.x = midX - (newView.width) / 2; newView.y = midY - (newView.height) / 2; view.x = newView.x; view.y = newView.y; view.width = newView.width; view.height = newView.height; canvas.raster.setCamera(); event = new SVGEvent(SVGEvent.EVENT_UPDATE, canvas.raster.getDevClip() ); canvas.postEvent(event); break; case SVGEvent.EVENT_PAUSERESUME: if(animationsPaused()) { resumeAnimations(); event = new SVGEvent(SVGEvent.EVENT_ANIMATE,null); canvas.postEvent(event); } else { pauseAnimations(); } break; case SVGEvent.EVENT_QUALITY: // 1. Change the antialaisng if(canvas.raster.isAntialiased()) { canvas.raster.setAntialiased(false); } else { canvas.raster.setAntialiased(true); } // 2. Set the camera transform canvas.raster.setCamera(); // 3. Fire the update event event = new SVGEvent(SVGEvent.EVENT_UPDATE, canvas.raster.getDevClip() ); canvas.postEvent(event); break; case SVGEvent.EVENT_ORIGVIEW: // 1. Set the original view view = canvas.raster.view; origview = canvas.raster.origview; view.x = origview.x; view.y = origview.y; view.width = origview.width; view.height = origview.height; // 2. Set the camera transform canvas.raster.setCamera(); // 3. Fire the update event event = new SVGEvent(SVGEvent.EVENT_UPDATE, canvas.raster.getDevClip() ); canvas.postEvent(event); break; case SVGEvent.EVENT_CLICK: point = (TinyPoint)theEvent.data; System.out.println("Player: linkEvent: (" + point.x +", "+ point.y+") "); document = canvas.raster.document; // See if we have any node with link under (x,y) SVGNode hitNode = document.root.nodeHitAt(canvas.raster,point); if(hitNode == null) {// System.out.println("linkEvent: hitNode is not found"); break; // nothing to do }// System.out.println("linkEvent: hitNode is found" + hitNode); SVGNode linkNode = hitNode.seekAElem(); if(linkNode == null) {// System.out.println("linkEvent: linkNode is not found"); break; // nothing to do }// System.out.println("linkEvent: linkNode is found" + linkNode); doLink(linkNode); break; case SVGEvent.EVENT_ERROR: break; case SVGEvent.EVENT_FOCUSHIDE: document = canvas.raster.document; // If the document does not have link so ... if(document.linkTargets.count == 0) return; // Otherwise we need to fire focusout for the // current link target SVGGroupElem node = (SVGGroupElem)document.linkTargets.data[document.linkIndex]; if(node != null) { event = new SVGEvent(SVGEvent.EVENT_FOCUSOUT, node); canvas.postEvent(event); } // Remove links from the linkTargets document.linkTargets.count = document.linkIndex = 0; break; case SVGEvent.EVENT_FOCUSIN: node = (SVGGroupElem)theEvent.data; if( node!= null) { node.showBounds = true; event = new SVGEvent(SVGEvent.EVENT_UPDATE,node.getDevBounds(canvas.raster)); canvas.postEvent(event); } break; case SVGEvent.EVENT_FOCUSNEXT: document = canvas.raster.document; // If the document does not have link so ... if(document.linkTargets.count == 0) return; if((document.linkIndex + 1)== document.linkTargets.count) return; // hide the old link node = (SVGGroupElem)document.linkTargets.data[document.linkIndex]; if(node != null) { event = new SVGEvent(SVGEvent.EVENT_FOCUSOUT, node); canvas.postEvent(event); } document.linkIndex++; // show the new link node = (SVGGroupElem)document.linkTargets.data[document.linkIndex]; if(node != null) { event = new SVGEvent(SVGEvent.EVENT_FOCUSIN, node); canvas.postEvent(event); } break; case SVGEvent.EVENT_FOCUSOUT: node = (SVGGroupElem)theEvent.data; if( node!= null) { node.showBounds = false; event = new SVGEvent(SVGEvent.EVENT_UPDATE,node.getDevBounds(canvas.raster)); canvas.postEvent(event); } break; case SVGEvent.EVENT_FOCUSPRESSED: document = canvas.raster.document; // If the document does not have link so ... if(document.linkTargets.count == 0) return; doLink((SVGGroupElem)document.linkTargets.data[document.linkIndex]); break; case SVGEvent.EVENT_FOCUSPREV: document = canvas.raster.document; // If the document does not have link so ... if(document.linkTargets.count == 0) return; if(document.linkIndex== 0) return; // hide the old link node = (SVGGroupElem)document.linkTargets.data[document.linkIndex]; if(node != null) { event = new SVGEvent(SVGEvent.EVENT_FOCUSOUT, node); canvas.postEvent(event); } document.linkIndex--; // show the new link node = (SVGGroupElem)document.linkTargets.data[document.linkIndex]; if(node != null) { event = new SVGEvent(SVGEvent.EVENT_FOCUSIN, node); canvas.postEvent(event); } break; case SVGEvent.EVENT_FOCUSSHOW: document = canvas.raster.document; // Add the links to the linkTargets document.linkTargets.count = 0; document.linkIndex = 0; document.addLinks(document.root); // If the document does not have links so ... if(document.linkTargets.count == 0) return; // Show the first link target // We need to fire focusin for the current link target node = (SVGGroupElem)document.linkTargets.data[document.linkIndex]; if(node != null) { event = new SVGEvent(SVGEvent.EVENT_FOCUSIN, node); canvas.postEvent(event); } break; } //switch }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -