When I update a DataField and apply Toybox.Graphics.COLOR_TRANSPARENT the background color of the data field is altered. Using 1.2.1 the following code produce red(!) background color on F3-V5.00 independent of black or white background as returned by getBackgroundColor().
using Toybox.Graphics as Gfx;
....
function onUpdate(dc) {
var bgColor = getBackgroundColor();
var fgColor = Gfx.COLOR_BLACK;
if (bgColor==0) {fgColor=Gfx.COLOR_WHITE;}
bgColor = Gfx.COLOR_TRANSPARENT;
dc.clear();
dc.setColor(fgColor, bgColor);
....
// write items to DataField using fgColor on bgColor
If I remove the line including Gfx.COLOR_TRANSPARENT the display is correct on F3-V5.00 (except for the ugly effect of not having transparency) In the Eclipse simulator everything is OK. Gfx.COLOR_TRANSPARENT does not alter the background color in the simulator.
This firmware error also has the horrible implication that my 1.1.4 compiled UTM100 DataField on the Garmin App Store is now broken on Fenix3-V5.00. It worked on F3-V4.90. In the 1.1.4 code I assume white background and apply the code
using Toybox.Graphics as Gfx;
....
function onUpdate(dc) {
var fgColor = Gfx.COLOR_BLACK;
var bgColor = Gfx.COLOR_TRANSPARENT;
dc.clear();
dc.setColor(fgColor, bgColor);
....
// write items to DataField using fgColor on bgColor
which produce black (!) background on F3-V5.00 even if the clock and activity is set to white background. Black text on black background is bad.
Is there a good workaround for this except for removing the transparency? I need transparency for writing multiple items to the data field.
I really hope that this can be fixed soon before my app is turned down by end users...
Your help is appreciated.