bulk data dump
Amiga 1000 complete system demonstration
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
-----------------------
|
||||
-- Jason Bou-Samra --
|
||||
-- Paragon 02/23 --
|
||||
-----------------------
|
||||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
with Ada.Command_Line; use Ada.Text_IO;
|
||||
|
||||
with SDL.Video.Windows.Makers;
|
||||
with SDL.Video.Renderers.Makers;
|
||||
with SDL.Video.Surfaces.Makers;
|
||||
with SDL.Video.Textures.Makers;
|
||||
|
||||
with SDL.Images.IO;
|
||||
with SDL.Events.Events;
|
||||
with SDL.Error;
|
||||
use SDL.C;
|
||||
|
||||
procedure Main is
|
||||
|
||||
Window_Title : constant String := "Amiga Complete System";
|
||||
Image_Name : constant String := "./img/AmigaSys.ilbm.png";
|
||||
quit : Boolean := FALSE;
|
||||
|
||||
|
||||
use SDL.Video;
|
||||
use type Windows.Window_Flags;
|
||||
use type Renderers.Renderer_flags;
|
||||
use type SDL.Events.Event_Types;
|
||||
|
||||
Win : Windows.Window;
|
||||
Ren : Renderers.Renderer;
|
||||
Bmp : Surfaces.Surface;
|
||||
Tex : Textures.Texture;
|
||||
|
||||
Event : SDL.Events.Events.Events;
|
||||
Dummy : Boolean;
|
||||
|
||||
begin
|
||||
|
||||
-- Initialise SDL
|
||||
if not SDL.Initialise or not SDL.Images.Initialise then
|
||||
Ada.Text_IO.Put_Line (Ada.Text_IO.Standard_Error,
|
||||
"SDL.Initialize error: " & SDL.Error.Get);
|
||||
Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
|
||||
return;
|
||||
end if;
|
||||
|
||||
-- Create window
|
||||
Windows.Makers.Create (Win,
|
||||
Title => Window_Title,
|
||||
Position => (100, 100),
|
||||
Size => (640, 400),
|
||||
Flags => Windows.Shown);
|
||||
|
||||
-- Create renderer
|
||||
Renderers.Makers.Create (Rend => Ren,
|
||||
Window => Win,
|
||||
Flags => (Renderers.Accelerated or
|
||||
Renderers.Present_V_Sync));
|
||||
|
||||
-- Create image
|
||||
SDL.Images.IO.Create (Surface => Bmp,
|
||||
File_Name => Image_Name);
|
||||
|
||||
-- Create texture
|
||||
Textures.Makers.Create (Tex => Tex,
|
||||
Renderer => Ren,
|
||||
Surface => Bmp);
|
||||
|
||||
-- Present texture
|
||||
Ren.Clear;
|
||||
Ren.Copy (Copy_From => Tex);
|
||||
Ren.Present;
|
||||
|
||||
-- Event loop
|
||||
-- Exit after 2 seconds
|
||||
-- for I in 1 ..10200 loop
|
||||
-- Dummy := SDL.Events.Events.Poll (Event);
|
||||
-- exit when Event.Common.Event_Type = SDL.Events.Quit;
|
||||
-- delay 0.01;
|
||||
-- end loop;
|
||||
|
||||
-- my code
|
||||
Main : loop
|
||||
while SDL.Events.Events.Poll (Event) loop
|
||||
if Event.Common.Event_Type = SDL.Events.Quit then
|
||||
exit Main;
|
||||
end if;
|
||||
|
||||
-- Renderer.Clear;
|
||||
-- Renderer.Copy (Texture);
|
||||
-- Renderer.Present;
|
||||
end loop;
|
||||
end loop Main;
|
||||
-- end my code
|
||||
|
||||
-- Not really needed since these will soon go out of scope
|
||||
Tex.Finalize; -- textire
|
||||
Ren.Finalize; -- renderer
|
||||
Win.Finalize; -- window
|
||||
SDL.Finalise; -- SDL
|
||||
|
||||
end Main;
|
||||
Reference in New Issue
Block a user