sclass DrawMousePointer { S pointerImgID = #1102978; Pt hotspot = new(75, 11); int ptrW = 24; transient Pt scaledHotspot; transient BufferedImage imgPointer; BufferedImage drawOn(BufferedImage canvas, Pt mouse) { if (imgPointer == null) { imgPointer = loadImage2(pointerImgID); scaledHotspot = scalePt(hotspot, doubleRatio(ptrW, imgPointer.getWidth())); imgPointer = scaleImageToWidth(imgPointer, ptrW); } drawImage(canvas, imgPointer, translatePt(neg(hotspot), mouse)); ret canvas; } }