1. --private with Physics.Clip_Maps; 
  2.  
  3. package Widgets.Containers.Scenes.Keen is 
  4.  
  5.     function Create_Scene( view : not null access Game_Views.Game_View'Class; 
  6.                            id   : String ) return A_Scene; 
  7.     pragma Precondition( id'Length > 0 ); 
  8.     pragma Postcondition( Create_Scene'Result /= null ); 
  9.  
  10. private 
  11.  
  12. --    use Physics.Clip_Maps; 
  13.  
  14.     type Keen_Scene is new Scene with null record; 
  15. --        record 
  16. --            clipMap : A_Clip_Map := null; 
  17. --        end record; 
  18.  
  19.     procedure Construct( this : access Keen_Scene; 
  20.                          view : not null access Game_Views.Game_View'Class; 
  21.                          id   : String ); 
  22.     pragma Precondition( id'Length > 0 ); 
  23.  
  24.     procedure Delete( this : in out Keen_Scene ); 
  25.  
  26.     procedure Draw_Layer( this   : access Keen_Scene; 
  27.                           dc     : Drawing_Context; 
  28.                           layer  : Positive; 
  29.                           startX, 
  30.                           startY : Integer; 
  31.                           tileX1, 
  32.                           tileY1, 
  33.                           tileX2, 
  34.                           tileY2 : Integer ); 
  35. -- 
  36. --    procedure Draw_Layer_Overlay( this   : access Keen_Scene; 
  37. --                                  dc     : Drawing_Context; 
  38. --                                  startX, 
  39. --                                  startY : Integer; 
  40. --                                  tileX1, 
  41. --                                  tileY1, 
  42. --                                  tileX2, 
  43. --                                  tileY2 : Integer ); 
  44. -- 
  45.  
  46.     procedure Handle_Event( this : access Keen_Scene; 
  47.                             evt  : in out A_Event; 
  48.                             resp : out Response_Type ); 
  49.     pragma Precondition( evt /= null ); 
  50.  
  51.     procedure Handle_New_World( this : access Keen_Scene; 
  52.                                 evt  : not null A_New_World_Event ); 
  53.  
  54.  
  55.     procedure Handle_World_Property_Changed( this : access Keen_Scene; 
  56.                                              evt  : not null A_World_Property_Changed_Event ); 
  57.  
  58. end Widgets.Containers.Scenes.Keen;