31 lines
678 B
Ada
31 lines
678 B
Ada
with Interfaces.C.Pointers;
|
|
with System.Storage_Elements;
|
|
use System.Storage_Elements;
|
|
|
|
package body Video.Backends.SDL.Surfaces is
|
|
|
|
package body Raster_Conversions is
|
|
|
|
type Pixel_Array is array (Integer range <>) of Pixel;
|
|
|
|
procedure Copy (
|
|
Source : in Raster;
|
|
Target : in out Surface)
|
|
is
|
|
begin
|
|
for Y in Source'Range (1) loop
|
|
declare
|
|
Line : Pixel_Array (Source'Range (2)) with
|
|
Import, Address => Target.Pixels
|
|
+ Storage_Offset (Y - Source'First (1));
|
|
begin
|
|
for X in Source'Range (2) loop
|
|
Line (X) := Source (Y, X);
|
|
end loop;
|
|
end;
|
|
end loop;
|
|
end;
|
|
end Raster_Conversions;
|
|
|
|
end Video.Backends.SDL.Surfaces;
|