limited with Game_Views;
package Widgets.Buttons.Pushes.Retry_Buttons is
type Retry_Button is new Push_Button and Animated with private;
type A_Retry_Button is access all Retry_Button'Class;
function Create_Retry_Button( view : not null access Game_Views.Game_View'Class;
id : String;
text : String := "";
icon : String := "" ) return A_Button;
pragma Precondition( id'Length > 0 );
pragma Postcondition( Create_Retry_Button'Result /= null );
private
type Retry_Button is new Push_Button and Animated with null record;
procedure Construct( this : access Retry_Button;
view : not null access Game_Views.Game_View'Class;
id : String;
text : String;
icon : String );
pragma Precondition( id'Length > 0 );
procedure Draw_Content( this : access Retry_Button; dc : Drawing_Context );
function Handle_Key_Press( this : access Retry_Button;
evt : not null A_Key_Event ) return Boolean;
procedure Tick( this : access Retry_Button; time : Tick_Time );
end Widgets.Buttons.Pushes.Retry_Buttons;