1. -- 
  2. -- Copyright (c) 2012 Kevin Wellwood 
  3. -- All rights reserved. 
  4. -- 
  5. -- This source code is distributed under the Modified BSD License. For terms and 
  6. -- conditions, see license.txt. 
  7. -- 
  8.  
  9. --private with Physics.Clip_Maps; 
  10.  
  11. package Widgets.Containers.Scenes.Keen is 
  12.  
  13.     function Create_Scene( view : not null access Game_Views.Game_View'Class; 
  14.                            id   : String ) return A_Scene; 
  15.     pragma Precondition( id'Length > 0 ); 
  16.     pragma Postcondition( Create_Scene'Result /= null ); 
  17.  
  18. private 
  19.  
  20. --    use Physics.Clip_Maps; 
  21.  
  22.     type Keen_Scene is new Scene with null record; 
  23. --        record 
  24. --            clipMap : A_Clip_Map := null; 
  25. --        end record; 
  26.  
  27.     procedure Construct( this : access Keen_Scene; 
  28.                          view : not null access Game_Views.Game_View'Class; 
  29.                          id   : String ); 
  30.     pragma Precondition( id'Length > 0 ); 
  31.  
  32.     procedure Delete( this : in out Keen_Scene ); 
  33.  
  34.     procedure Draw_Layer( this   : access Keen_Scene; 
  35.                           dc     : Drawing_Context; 
  36.                           layer  : Positive; 
  37.                           startX, 
  38.                           startY : Integer; 
  39.                           tileX1, 
  40.                           tileY1, 
  41.                           tileX2, 
  42.                           tileY2 : Integer ); 
  43. -- 
  44. --    procedure Draw_Layer_Overlay( this   : access Keen_Scene; 
  45. --                                  dc     : Drawing_Context; 
  46. --                                  startX, 
  47. --                                  startY : Integer; 
  48. --                                  tileX1, 
  49. --                                  tileY1, 
  50. --                                  tileX2, 
  51. --                                  tileY2 : Integer ); 
  52. -- 
  53.  
  54.     procedure Handle_Event( this : access Keen_Scene; 
  55.                             evt  : in out A_Event; 
  56.                             resp : out Response_Type ); 
  57.     pragma Precondition( evt /= null ); 
  58.  
  59.     procedure Handle_World_Loaded( this : access Keen_Scene; 
  60.                                    evt  : not null A_World_Loaded_Event ); 
  61.  
  62.  
  63.     procedure Handle_World_Property_Changed( this : access Keen_Scene; 
  64.                                              evt  : not null A_World_Property_Changed_Event ); 
  65.  
  66. end Widgets.Containers.Scenes.Keen;