Mit dieser Funktion kann die Größe einer Offscreenbitmap verändert werden. RESIZE BITMAP kann auch ein eigener Speicherbereich übergeben werden, für den dann folgende Punkte eingehalten werden müssen:
Wer das nicht beachtet, wird u.U. mit Speicherschießern gesegnet. Wir empfehlen daher die Speicheranforderung NVDI zu überlassen!
Dekl.: int16 v_resize_bm( int16 handle, int16 width, int16 height, int32 byte_width, uint8 *addr );
Aufruf: ok = v_resize_bm( handle, width, height, 0, 0 );
Variable Belegung Bedeutung
Eingaben:
contrl[0] 100
contrl[1] 0 Einträge in ptsin
contrl[3] 6 Einträge in intin
contrl[5] 2 2: v_resize_bm
contrl[6] handle
intin[0] width neue Breite in Pixeln
intin[1] height neue Höhe in Pixeln
intin[2/3] byte_width Breite einer Zeile in Bytes (nur wenn addr gültig ist)
intin[4/5] addr Zeiger auf eigenen Speicherbereich oder 0L
Ausgaben:
contrl[2] 0 Einträge in ptsout
contrl[4] 1 Einträge in intout
intout[0] ok 0: Fehler -> v_clsbm() aufrufen
1: alles in Ordnung
Wenn das Funktionsresultat 0 ist, konnte die neue Bitmap nicht aufgebaut werden. Da die alte Bitmap in diesem Fall bereits freigegeben worden ist, kann versucht werden, eine kleinere Bitmap anzulegen, oder die Bitmap muß mit v_clsbm() geschlossen werden.
Diese Funktion ist verfügbar ab EdDi-Version 1.20.