Thank you Ganblejs!
I've now got a solution, it isn't quite as smooth but does at least work.
Create a temporary image, the size of the display, use drawImage to draw a section of the large image to that, then display the temperoary image with setLCDOverlay:
var temp_img = Graphics.createArrayBuffer(g.getWidth(), g.getHeight(), 8);
var y_pos = 0;
function onDrag(e) {
y_pos += e.dy;
temp_img.drawImage(img, 0, y_pos);
Bangle.setLCDOverlay(temp_img, 0, 0);
}
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Thank you Ganblejs!
I've now got a solution, it isn't quite as smooth but does at least work.
Create a temporary image, the size of the display, use drawImage to draw a section of the large image to that, then display the temperoary image with setLCDOverlay: