BitmapData constructor not working properly

It produces a “gradient” instead of filling it with color on cpp and neko targets, it works properly in flash and html5.

stage.color = 0x0000ff;
stage.addChild(new Bitmap(new BitmapData(20, 20, true, 0xfeff0000)));

When the alpha is 0x80 instead of 0xfe, it is only about 3 pixels long - it seems the color is alpha premultiplied repeatedly.

I can reproduce this.

Can you please file an issue (technically on the lime repo, as ImageDataUtil.fillRect() seems to be responsible for the behaviour)?

Done: https://github.com/openfl/lime/issues/759

Oh… that’s why it seemed famliar to me, I’ve stumbled upon this exact issue before: https://github.com/openfl/lime/pull/638