While you could use transparency as suggested above, it shouldn't be necessary.
I was under the impression that you could have many different image resources and that wouldn't affect the memory used by the application until you loaded them. If you had resource A loaded, unloaded A (by assigning it to null) and then loaded B, the memory used by the application wouldn't change. Is this incorrect?
Travis
<layout>
...
<drawable class="StepIndicator">
<params>
<param name="locX">##</param>
<param name="locY">##</param>
</params>
</drawable>
...
</layout>
class StepIndicator extends Toybox.WatchUi.Drawable {
function initialize(params) {
Drawable.initialize(params);
}
function draw(dc) {
// Draw the rectangle here using locX/locY
// Then draw the masking image here
}
}