aboutsummaryrefslogtreecommitdiff
path: root/spec/fltk-widgets.ads
diff options
context:
space:
mode:
Diffstat (limited to 'spec/fltk-widgets.ads')
-rw-r--r--spec/fltk-widgets.ads187
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;
+