···288288289289 /* The Y coordinates have to work on even 8 pixel rows */
290290 if (x < 0)
291291- height += x, x = 0;
291291+ {
292292+ width += x;
293293+ x = 0;
294294+ }
295295+292296 if (x + width > LCD_WIDTH)
293297 width = LCD_WIDTH - x;
298298+294299 if (width <= 0)
295300 return; /* nothing left to do, 0 is harmful to lcd_write_data() */
301301+296302 if (y < 0)
297297- height += y, y = 0;
303303+ {
304304+ height += y;
305305+ y = 0;
306306+ }
307307+298308 if (y + height > LCD_HEIGHT)
299309 height = LCD_HEIGHT - y;
310310+300311 if (height <= 0)
301312 return; /* nothing left to do */
302313