type Key_Action is new Action with private;
type Resize_Action is new Action with private;
type Visibility_Action is new Action with private;
type Widget is abstract new Limited_Object with private;
type A_Key_Action is access all Key_Action'Class;
type Key_Listener is limited interface and Action_Listener;
type A_Key_Listener is access all Key_Listener'Class;
type A_Key_Handler is access procedure( action : A_Key_Action; handled : out Boolean );
type A_Resize_Action is access all Resize_Action'Class;
type Resize_Listener is limited interface and Action_Listener;
type A_Resize_Listener is access all Resize_Listener'Class;
type A_Visibility_Action is access all Visibility_Action'Class;
type Visibility_Listener is limited interface and Action_Listener;
type A_Visibility_Listener is access all Visibility_Listener'Class;
type Animated is limited interface and Process;
type A_Widget is access all Widget'Class;
Key_Press : constant Action_Id;
Widget_Resized : constant Action_Id;
Change_Visibility : constant Action_Id;
function Get_Key
( | this | : not null access Key_Action'Class ) return Integer; |
function Get_Modifiers
( | this | : not null access Key_Action'Class ) return Modifiers_Array; |
procedure Handle_Action
( | this | : access Key_Listener; |
action | : A_Key_Action; | |
handled | : out Boolean ) is abstract; |
procedure Handle_Action
( | this | : access Resize_Listener; |
action | : A_Resize_Action ) is abstract; |
function Is_Visible
( | this | : not null access Visibility_Action'Class ) return Boolean; |
procedure Handle_Action
( | this | : access Visibility_Listener; |
action | : A_Visibility_Action ) is abstract; |
procedure Add_Listener
( | this | : not null access Widget'Class; |
listener | : not null A_Key_Listener ); |
procedure Add_Listener
( | this | : not null access Widget'Class; |
key | : Integer; | |
modifiers | : Modifiers_Pattern; | |
handler | : not null A_Key_Handler ); |
procedure Add_Listener
( | this | : not null access Widget'Class; |
key | : Integer; | |
handler | : not null A_Key_Handler ); |
procedure Add_Listener
( | this | : not null access Widget'Class; |
listener | : not null A_Resize_Listener ); |
procedure Add_Listener
( | this | : not null access Widget'Class; |
listener | : not null A_Visibility_Listener ); |
function Get_Attribute
( | this | : not null access Widget'Class; |
name | : String ) return Integer; |
function Get_Attribute
( | this | : not null access Widget'Class; |
name | : String ) return String; |
function Get_Border
( | this | : not null access Widget'Class ) return Border_Type; |
function Get_Color
( | this | : access Widget; |
purpose | : Color_Purpose ) return Color_Type; |
function Get_Font_Name
( | this | : not null access Widget'Class ) return String; |
function Get_Font_Size
( | this | : not null access Widget'Class ) return Positive; |
function Get_Height
( | this | : not null access Widget'Class ) return Integer; |
function Get_Id
( | this | : not null access Widget'Class ) return String; |
function Get_View
( | this | : access Widget ) return access Game_Views.Game_View'Class; |
function Get_Width
( | this | : not null access Widget'Class ) return Natural; |
function Get_Zoom
( | this | : not null access Widget'Class ) return Float; |
function Is_Enabled
( | this | : not null access Widget'Class ) return Boolean; |
function Is_Visible
( | this | : not null access Widget'Class ) return Boolean; |
procedure Move
( | this | : not null access Widget'Class; |
xdist, ydist | : Integer ); |
procedure Move_To
( | this | : not null access Widget'Class; |
x, y | : Integer ); |
procedure Remove_Listener
( | this | : not null access Widget'Class; |
listener | : not null A_Key_Listener ); |
procedure Remove_Listener
( | this | : not null access Widget'Class; |
listener | : not null A_Resize_Listener ); |
procedure Remove_Listener
( | this | : not null access Widget'Class; |
listener | : not null A_Visibility_Listener ); |
procedure Redraw
( | this | : not null access Widget'Class ); |
procedure Scroll
( | this | : not null access Widget'Class; |
x, y | : Integer ); |
procedure Scroll_To
( | this | : not null access Widget'Class; |
x, y | : Integer ); |
procedure Set_Attribute
( | this | : not null access Widget'Class; |
name | : String; | |
val | : Integer ); |
procedure Set_Attribute
( | this | : not null access Widget'Class; |
name | : String; | |
val | : String ); |
procedure Set_Border
( | this | : not null access Widget'Class; |
border | : Border_Type ); |
procedure Set_Color
( | this | : access Widget; |
purpose | : Color_Purpose; | |
color | : Color_Type ); |
procedure Set_Enabled
( | this | : not null access Widget'Class; |
enabled | : Boolean ); |
procedure Set_Focusable
( | this | : not null access Widget'Class; |
focusable | : Boolean ); |
procedure Set_Focused
( | this | : not null access Widget'Class; |
focused | : Boolean ); |
procedure Set_Font
( | this | : not null access Widget'Class; |
name | : String := ""; | |
size | : Natural := 0 ); |
procedure Set_Layout_Center
( | this | : not null access Widget'Class; |
width, height | : Natural ); |
procedure Set_Layout_CenterH
( | this | : not null access Widget'Class; |
width | : Natural; | |
top, bottom | : Integer ); |
procedure Set_Layout_CenterHY
( | this | : not null access Widget'Class; |
width | : Natural; | |
y1, y2 | : Integer ); |
procedure Set_Layout_LTRB
( | this | : not null access Widget'Class; |
left, top, right, bottom | : Integer ); |
procedure Set_Layout_LTWH
( | this | : not null access Widget'Class; |
left, top | : Integer; | |
width, height | : Natural ); |
procedure Set_Layout_XYWH
( | this | : not null access Widget'Class; |
x, y | : Integer; | |
width, height | : Natural ); |
procedure Set_Min_Height
( | this | : not null access Widget'Class; |
height | : Natural ); |
procedure Set_Min_Width
( | this | : not null access Widget'Class; |
width | : Natural ); |
procedure Set_Next
( | this | : not null access Widget'Class; |
id | : String ); |
procedure Set_Prev
( | this | : not null access Widget'Class; |
id | : String ); |
procedure Set_Transparent
( | this | : not null access Widget'Class; |
transparent | : Boolean ); |
procedure Set_Visible
( | this | : not null access Widget'Class; |
visible | : Boolean ); |
procedure Set_Zoom
( | this | : access Widget; |
zoom | : Float ); |
procedure Smooth_Text
( | this | : not null access Widget'Class; |
enabled | : Boolean ); |