great-oyster-61535
07/22/2022, 6:28 PMbright-gpu-74537
07/23/2022, 10:48 AMbright-gpu-74537
07/23/2022, 10:50 AM@:noCompletion private var __bitmap:BitmapData;
there, which has a setPixels method... but is that safe to use?powerful-morning-89
07/23/2022, 11:36 AMgraphics.beginBitmapFill
.bright-gpu-74537
07/23/2022, 11:51 AMbright-gpu-74537
07/23/2022, 11:52 AMbright-gpu-74537
07/23/2022, 11:52 AMhaxe
var newPixels = Bytes.alloc(pixels.length);
for (y in 0..._bitmapData.height) {
for (x in 0..._bitmapData.width) {
var i = y * (_bitmapData.width * 4) + x * 4;
var r = pixels.get(i + 0);
var g = pixels.get(i + 1);
var b = pixels.get(i + 2);
var a = pixels.get(i + 3);
newPixels.set(i + 0, a);
newPixels.set(i + 1, r);
newPixels.set(i + 2, g);
newPixels.set(i + 3, b);
}
}
bright-gpu-74537
07/23/2022, 11:53 AMbright-gpu-74537
07/23/2022, 12:14 PMbright-gpu-74537
07/23/2022, 12:14 PMhaxe
// convert RGBA -> ARGB (well, actually BGRA for some reason)
var bytesData = pixels.getData();
var length:Int = pixels.length;
var i:Int = 0;
while (i < length) {
var r = Bytes.fastGet(bytesData, i + 0);
var g = Bytes.fastGet(bytesData, i + 1);
var b = Bytes.fastGet(bytesData, i + 2);
var a = Bytes.fastGet(bytesData, i + 3);
newPixels.set(i + 0, b);
newPixels.set(i + 1, g);
newPixels.set(i + 2, r);
newPixels.set(i + 3, a);
i += 4;
}
bright-gpu-74537
07/23/2022, 12:14 PMable-printer-41379
07/25/2022, 10:06 PMable-printer-41379
07/25/2022, 10:06 PMable-printer-41379
07/25/2022, 10:09 PMhallowed-ocean-84954
07/25/2022, 10:40 PMable-printer-41379
07/25/2022, 10:49 PMable-printer-41379
07/25/2022, 10:50 PMable-printer-41379
07/25/2022, 10:52 PMable-printer-41379
07/25/2022, 10:52 PMhallowed-ocean-84954
07/25/2022, 10:57 PMhallowed-ocean-84954
07/25/2022, 10:59 PMhallowed-ocean-84954
07/25/2022, 11:01 PMable-printer-41379
07/25/2022, 11:01 PMable-printer-41379
07/25/2022, 11:02 PMhallowed-ocean-84954
07/25/2022, 11:05 PMable-printer-41379
07/25/2022, 11:06 PMhallowed-ocean-84954
07/25/2022, 11:09 PMhallowed-ocean-84954
07/25/2022, 11:09 PMmany-addition-78652
07/25/2022, 11:31 PMLib.application.windows
has a private variable called __backend
which will give you a NativeWindow
on native targets like desktop. The NativeWindow
has a public variable called handle
which is the sdl window but it is Dynamic
. You will probably need to write some externs to set that opacity. I haven't done anything like that before, but that is where it is as far as I can tell.hallowed-ocean-84954
07/25/2022, 11:32 PM