diff options
Diffstat (limited to 'spec/fltk-widgets.ads')
-rw-r--r-- | spec/fltk-widgets.ads | 187 |
1 files changed, 160 insertions, 27 deletions
diff --git a/spec/fltk-widgets.ads b/spec/fltk-widgets.ads index 07f9b2e..67c1625 100644 --- a/spec/fltk-widgets.ads +++ b/spec/fltk-widgets.ads @@ -30,14 +30,6 @@ package FLTK.Widgets is type Widget_Callback is access procedure (Item : in out Widget'Class); - type Callback_Flag is private; - function "+" (Left, Right : in Callback_Flag) return Callback_Flag; - Call_Never : constant Callback_Flag; - When_Changed : constant Callback_Flag; - When_Interact : constant Callback_Flag; - When_Release : constant Callback_Flag; - When_Enter_Key : constant Callback_Flag; - @@ -59,6 +51,8 @@ package FLTK.Widgets is + -- Activity -- + procedure Activate (This : in out Widget); @@ -74,28 +68,53 @@ package FLTK.Widgets is return Boolean; procedure Set_Active + (This : in out Widget); + + procedure Set_Active (This : in out Widget; To : in Boolean); + procedure Clear_Active + (This : in out Widget); + + -- Changed and Output -- + function Has_Changed (This : in Widget) return Boolean; procedure Set_Changed + (This : in out Widget); + + procedure Set_Changed (This : in out Widget; To : in Boolean); + procedure Clear_Changed + (This : in out Widget); + function Is_Output_Only (This : in Widget) return Boolean; procedure Set_Output_Only + (This : in out Widget); + + procedure Set_Output_Only (This : in out Widget; To : in Boolean); + procedure Clear_Output_Only + (This : in out Widget); + + + + + -- Visibility -- + function Is_Visible (This : in Widget) return Boolean; @@ -105,20 +124,40 @@ package FLTK.Widgets is return Boolean; procedure Set_Visible + (This : in out Widget); + + procedure Set_Visible (This : in out Widget; To : in Boolean); + procedure Clear_Visible + (This : in out Widget); + + procedure Show + (This : in out Widget); + + procedure Hide + (This : in out Widget); + + + -- Focus -- function Has_Visible_Focus (This : in Widget) return Boolean; procedure Set_Visible_Focus + (This : in out Widget); + + procedure Set_Visible_Focus (This : in out Widget; To : in Boolean); + procedure Clear_Visible_Focus + (This : in out Widget); + function Take_Focus (This : in out Widget) return Boolean; @@ -130,6 +169,8 @@ package FLTK.Widgets is + -- Colors -- + function Get_Background_Color (This : in Widget) return Color; @@ -146,8 +187,14 @@ package FLTK.Widgets is (This : in out Widget; To : in Color); + procedure Set_Colors + (This : in out Widget; + Back, Sel : in Color); + + + -- Relatives -- function Parent (This : in Widget) @@ -172,13 +219,15 @@ package FLTK.Widgets is return access FLTK.Widgets.Groups.Windows.Window'Class; function Top_Window_Offset - (This : in Widget; - Offset_X, Offset_Y : out Integer) + (This : in Widget; + Offset_X, Offset_Y : out Integer) return access FLTK.Widgets.Groups.Windows.Window'Class; + -- Alignment, Box, Tooltip -- + function Get_Alignment (This : in Widget) return Alignment; @@ -206,6 +255,8 @@ package FLTK.Widgets is + -- Labels -- + function Get_Label (This : in Widget) return String; @@ -214,6 +265,11 @@ package FLTK.Widgets is (This : in out Widget; Text : in String); + procedure Set_Label + (This : in out Widget; + Kind : in Label_Kind; + Text : in String); + function Get_Label_Color (This : in Widget) return Color; @@ -253,6 +309,8 @@ package FLTK.Widgets is + -- Callbacks -- + function Get_Callback (This : in Widget) return Widget_Callback; @@ -264,6 +322,13 @@ package FLTK.Widgets is procedure Do_Callback (This : in out Widget); + procedure Do_Callback + (This : in Widget; + Using : in out Widget); + + procedure Default_Callback + (This : in out Widget'Class); + function Get_When (This : in Widget) return Callback_Flag; @@ -275,6 +340,8 @@ package FLTK.Widgets is + -- Dimensions -- + function Get_X (This : in Widget) return Integer; @@ -295,6 +362,10 @@ package FLTK.Widgets is (This : in out Widget; W, H : in Integer); + procedure Resize + (This : in out Widget; + X, Y, W, H : in Integer); + procedure Reposition (This : in out Widget; X, Y : in Integer); @@ -302,6 +373,8 @@ package FLTK.Widgets is + -- Images -- + function Get_Image (This : in Widget) return access FLTK.Images.Image'Class; @@ -321,26 +394,68 @@ package FLTK.Widgets is + -- Damage, Drawing, Events -- + function Is_Damaged (This : in Widget) return Boolean; - procedure Set_Damaged + function Get_Damage + (This : in Widget) + return Damage_Mask; + + procedure Set_Damage (This : in out Widget; - To : in Boolean); + Mask : in Damage_Mask); - procedure Set_Damaged + procedure Set_Damage (This : in out Widget; - To : in Boolean; + Mask : in Damage_Mask; X, Y, W, H : in Integer); + procedure Clear_Damage + (This : in out Widget; + Mask : in Damage_Mask := Damage_None); + procedure Draw (This : in out Widget); procedure Draw_Label - (This : in Widget; - X, Y, W, H : in Integer; - Align : in Alignment); + (This : in out Widget); + + procedure Draw_Label + (This : in out Widget; + X, Y, W, H : in Integer); + + procedure Draw_Label + (This : in out Widget; + X, Y, W, H : in Integer; + Align : in Alignment); + + procedure Draw_Backdrop + (This : in out Widget); + + procedure Draw_Box + (This : in out Widget); + + procedure Draw_Box + (This : in out Widget; + Kind : in Box_Kind; + Hue : in Color); + + procedure Draw_Box + (This : in out Widget; + Kind : in Box_Kind; + X, Y, W, H : in Integer; + Hue : in Color); + + procedure Draw_Focus + (This : in out Widget); + + procedure Draw_Focus + (This : in out Widget; + Kind : in Box_Kind; + X, Y, W, H : in Integer); procedure Redraw (This : in out Widget); @@ -354,6 +469,16 @@ package FLTK.Widgets is return Event_Outcome; + + + -- Miscellaneous -- + + -- Only relevant to MacOS + function Uses_Accents_Menu + (This : in Widget) + return Boolean; + + private @@ -391,15 +516,6 @@ private (This : in out Widget); - type Callback_Flag is new Interfaces.C.unsigned; - - Call_Never : constant Callback_Flag := 0; - When_Changed : constant Callback_Flag := 1; - When_Interact : constant Callback_Flag := 2; - When_Release : constant Callback_Flag := 4; - When_Enter_Key : constant Callback_Flag := 8; - - -- the user data portion should always be a reference back to the Ada binding procedure Callback_Hook (W, U : in Storage.Integer_Address); @@ -457,16 +573,24 @@ private pragma Inline (Is_Active); pragma Inline (Is_Tree_Active); pragma Inline (Set_Active); + pragma Inline (Clear_Active); pragma Inline (Has_Changed); pragma Inline (Set_Changed); + pragma Inline (Clear_Changed); pragma Inline (Is_Output_Only); pragma Inline (Set_Output_Only); + pragma Inline (Clear_Output_Only); + pragma Inline (Is_Visible); pragma Inline (Set_Visible); + pragma Inline (Clear_Visible); + pragma Inline (Show); + pragma Inline (Hide); pragma Inline (Has_Visible_Focus); pragma Inline (Set_Visible_Focus); + pragma Inline (Clear_Visible_Focus); pragma Inline (Take_Focus); pragma Inline (Takes_Events); @@ -474,6 +598,7 @@ private pragma Inline (Set_Background_Color); pragma Inline (Get_Selection_Color); pragma Inline (Set_Selection_Color); + pragma Inline (Set_Colors); pragma Inline (Parent); pragma Inline (Contains); @@ -504,6 +629,7 @@ private pragma Inline (Get_Callback); pragma Inline (Set_Callback); pragma Inline (Do_Callback); + pragma Inline (Default_Callback); pragma Inline (Get_When); pragma Inline (Set_When); @@ -520,13 +646,20 @@ private pragma Inline (Set_Inactive_Image); pragma Inline (Is_Damaged); - pragma Inline (Set_Damaged); + pragma Inline (Get_Damage); + pragma Inline (Set_Damage); pragma Inline (Draw); pragma Inline (Draw_Label); + pragma Inline (Draw_Backdrop); + pragma Inline (Draw_Box); + pragma Inline (Draw_Focus); pragma Inline (Redraw); pragma Inline (Redraw_Label); pragma Inline (Handle); + pragma Inline (Uses_Accents_Menu); + end FLTK.Widgets; + |