When your device have several home screens, two functions in Processing tell you how to adjust the graphics in the sketch depending on which is the current screen: wallpaperHomeCount()
and wallpaperOffset()
. wallpaperHomeCount()
holds the number of home screens (it can change while the wallpaper is running as the users adds or removes home screens). wallpaperOffset()
is a float number between 0 and 1 that that measures the horizontal displacement along the screens: 0 at the leftmost location, and 1 when we are located at the rightmost homescreen. This post on stackoverflow explains in more detail how the x offset works.
PImage img;
float ratio;
void setup() {
fullScreen();
img = loadImage("landscape.jpg");
ratio = float(img.width)/float(img.height);
}
void draw() {
background(0);
float w = wallpaperHomeCount() * width;
float h = w/ratio;
float x = map(wallpaperOffset(), 0, 1, 0, -(wallpaperHomeCount()-1) * width);
image(img, x, 0, w, h);
}