1. -- 
  2. -- Jan & Uwe R. Zimmer, Australia, July 2011 
  3. -- 
  4.  
  5. with Float_Type;            use Float_Type; 
  6. with GLOBE_3D; 
  7. with Graphics_Data;         use Graphics_Data; 
  8. with Graphics_Structures;   use Graphics_Structures; 
  9. with Rotations;             use Rotations; 
  10. with Vectors_3D;            use Vectors_3D; 
  11.  
  12. package Graphics_OpenGL is 
  13.  
  14.    pragma Elaborate_Body; 
  15.  
  16.    procedure Position_Camera (C : Camera := Cam); 
  17.  
  18.    procedure Draw (Draw_Object        : GLOBE_3D.p_Object_3D; 
  19.                    In_Object_Position : Vector_3D; 
  20.                    In_Object_Rotation : Quaternion_Rotation); 
  21.  
  22.    procedure Draw_Lines (Points : Points_3D); 
  23.    procedure Draw_Line  (Line : Line_3D; Line_Radius : Real); 
  24.  
  25.    procedure Draw_Laser (Line_Start, Line_End     : Vector_3D; 
  26.                          Beam_Radius, Aura_Radius : Real; 
  27.                          Beam_Colour              : RGBA_Colour); 
  28.  
  29.    package Cursor_Management is 
  30.       function Cursor return Point_2D; 
  31.       procedure Home; 
  32.       procedure Line_Feed; 
  33.       procedure Paragraph_Feed; 
  34.       procedure Indend (Set_x : Natural); 
  35.    private 
  36.       Leading           : constant Natural  := 12; 
  37.       Paragraph_Spacing : constant Natural  := Leading + 10; 
  38.       Home_Pos          : constant Point_2D := (2, 10); 
  39.       Cursor_Pos        :          Point_2D := Home_Pos; 
  40.    end Cursor_Management; 
  41.  
  42.    procedure Text_2D (S : String; C : Point_2D := Cursor_Management.Cursor); 
  43.    procedure Text_3D (S : String; P : Vector_3D); 
  44.  
  45.    procedure Show_Drawing; 
  46.  
  47.    package Full_Screen_Mode is 
  48.       procedure Change_Full_Screen; 
  49.    private 
  50.       Memoried_Viewer_Size     : Size_2D; 
  51.       Memoried_Viewer_Position : Point_2D; 
  52.    end Full_Screen_Mode; 
  53.  
  54.    procedure Set_Colour   (Colour   : RGB_Colour); 
  55.    procedure Set_Colour   (Colour   : RGBA_Colour); 
  56.    procedure Set_Material (Material : Materials); 
  57.  
  58. end Graphics_OpenGL;