with Claw.Frame_Window,
     Claw.Canvas;

package Bigjob_Interface is

  type Counts is range 0 .. 1_000;

  procedure Start;

  procedure Post_Status(So_Far         : in     Counts;
                        To_Go          : in     Counts;
                        Quit_Requested :    out Boolean);

  procedure Finish;

private

  type Displays is new Claw.Frame_Window.Frame_Window_Type with null record;

  procedure When_Command (Window : in out Displays;
			  From   : in Claw.Command_Source_Type;
			  Command_Id : in Claw.Menu_Identifier_Type;
                          Unknown_Command : in out Boolean);
      -- Called when a menu command is executed.

  procedure When_Draw(Window  : in out Displays;
                      Easel   : in out Claw.Canvas.Basic_Canvas_Type'Class;
                      Erase_Background: in Boolean;
                      Area    : in     Claw.Rectangle_Type);

end Bigjob_Interface;