Based on where you put a Connect IQ data field on the data screen, it is possible to draw text beyond the available region.
To reproduce the issue create a data field application that has the following onUpdate method:
function onUpdate(dc) { var bgColor = getBackgroundColor(); var fgColor = Graphics.COLOR_BLACK; if (bgColor == Graphics.COLOR_BLACK) { fgColor = Graphics.COLOR_WHITE; } dc.setColor(fgColor, bgColor); dc.clear(); // Top left dc.drawText(0, 0, Graphics.FONT_NUMBER_THAI_HOT, "111", Graphics.TEXT_JUSTIFY_RIGHT | Graphics.TEXT_JUSTIFY_VCENTER); // Top dc.drawText(dc.getWidth() / 2, 0, Graphics.FONT_NUMBER_THAI_HOT, "222", Graphics.TEXT_JUSTIFY_CENTER | Graphics.TEXT_JUSTIFY_VCENTER); // Top right dc.drawText(dc.getWidth(), 0, Graphics.FONT_NUMBER_THAI_HOT, "333", Graphics.TEXT_JUSTIFY_LEFT | Graphics.TEXT_JUSTIFY_VCENTER); // Bottom left dc.drawText(0, dc.getHeight(), Graphics.FONT_NUMBER_THAI_HOT, "444", Graphics.TEXT_JUSTIFY_RIGHT | Graphics.TEXT_JUSTIFY_VCENTER); // Bottom dc.drawText(dc.getWidth() / 2, dc.getHeight(), Graphics.FONT_NUMBER_THAI_HOT, "555", Graphics.TEXT_JUSTIFY_CENTER | Graphics.TEXT_JUSTIFY_VCENTER); // Bottom right dc.drawText(dc.getWidth(), dc.getHeight(), Graphics.FONT_NUMBER_THAI_HOT, "666", Graphics.TEXT_JUSTIFY_LEFT | Graphics.TEXT_JUSTIFY_VCENTER); }
When such data field is placed on a real Edge 1040 Solar data screen, you get this:
In the above screen the data field is placed on two places:
1. On the right side, second from the top to bottom
2. On the left side, second from bottom to top
On the simulator the same data field works as expected, none of the fields are drawing outside the available region:
Used device: Edge 1040 Solar with firmware version 12.16