!7 sS imageID = #1006973; static int width = 200; module MouseHeart > DynEnabled { transient JWindow w; transient java.util.Timer timer; //*() { enabled = false; } start { update(); } void cleanMeUp { disposeWindow(w); } void update { print("update " + enabled); if (!enabled) { setVisible(w, false); cancelTimer(timer); timer = null; ret; } if (w == null) { BufferedImage img = loadBufferedImage(imageID); BufferedImage resized = resizeImage(img, width); w = showAnimation(resized); final Shape shape = scaleShape(alphaToShape(img), width/(double) img.getWidth()); swing { w.setShape(shape); } } setVisible(w, true); if (timer == null) timer = doEvery(20, r { setLocation(w, mouseX()+2, mouseY()+2) }); } }