summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/blank_template.html55
-rw-r--r--doc/fl_box.html85
-rw-r--r--doc/fl_button.html203
-rw-r--r--doc/fl_check_button.html83
-rw-r--r--doc/fl_light_button.html87
-rw-r--r--doc/fl_radio_button.html83
-rw-r--r--doc/fl_radio_light_button.html83
-rw-r--r--doc/fl_radio_round_button.html83
-rw-r--r--doc/fl_repeat_button.html85
-rw-r--r--doc/fl_return_button.html87
-rw-r--r--doc/fl_round_button.html83
-rw-r--r--doc/fl_toggle_button.html83
-rw-r--r--doc/fl_tooltip.html265
-rw-r--r--doc/map.css38
-rw-r--r--progress.txt32
-rw-r--r--src/c_fl_box.h12
-rw-r--r--src/c_fl_button.cpp14
-rw-r--r--src/c_fl_button.h26
-rw-r--r--src/c_fl_check_button.h12
-rw-r--r--src/c_fl_light_button.h12
-rw-r--r--src/c_fl_radio_button.h12
-rw-r--r--src/c_fl_radio_light_button.h12
-rw-r--r--src/c_fl_radio_round_button.h12
-rw-r--r--src/c_fl_repeat_button.h12
-rw-r--r--src/c_fl_return_button.h12
-rw-r--r--src/c_fl_round_button.h12
-rw-r--r--src/c_fl_toggle_button.h12
-rw-r--r--src/c_fl_tooltip.h58
-rw-r--r--src/fltk-dialogs.adb2
-rw-r--r--src/fltk-dialogs.ads2
-rw-r--r--src/fltk-tooltips.adb35
-rw-r--r--src/fltk-tooltips.ads34
-rw-r--r--src/fltk-widgets-boxes.adb6
-rw-r--r--src/fltk-widgets-boxes.ads8
-rw-r--r--src/fltk-widgets-buttons-enter.adb6
-rw-r--r--src/fltk-widgets-buttons-enter.ads9
-rw-r--r--src/fltk-widgets-buttons-light-check.adb6
-rw-r--r--src/fltk-widgets-buttons-light-check.ads9
-rw-r--r--src/fltk-widgets-buttons-light-radio.adb6
-rw-r--r--src/fltk-widgets-buttons-light-radio.ads9
-rw-r--r--src/fltk-widgets-buttons-light-round-radio.adb6
-rw-r--r--src/fltk-widgets-buttons-light-round-radio.ads9
-rw-r--r--src/fltk-widgets-buttons-light-round.adb6
-rw-r--r--src/fltk-widgets-buttons-light-round.ads9
-rw-r--r--src/fltk-widgets-buttons-light.adb6
-rw-r--r--src/fltk-widgets-buttons-light.ads9
-rw-r--r--src/fltk-widgets-buttons-radio.adb6
-rw-r--r--src/fltk-widgets-buttons-radio.ads9
-rw-r--r--src/fltk-widgets-buttons-repeat.adb6
-rw-r--r--src/fltk-widgets-buttons-repeat.ads9
-rw-r--r--src/fltk-widgets-buttons-toggle.adb6
-rw-r--r--src/fltk-widgets-buttons-toggle.ads9
-rw-r--r--src/fltk-widgets-buttons.adb13
-rw-r--r--src/fltk-widgets-buttons.ads16
54 files changed, 1775 insertions, 129 deletions
diff --git a/doc/blank_template.html b/doc/blank_template.html
new file mode 100644
index 0000000..256c469
--- /dev/null
+++ b/doc/blank_template.html
@@ -0,0 +1,55 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title> Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2> Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+
+</pre></td>
+<td><pre>
+
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_box.html b/doc/fl_box.html
new file mode 100644
index 0000000..3f5c5f8
--- /dev/null
+++ b/doc/fl_box.html
@@ -0,0 +1,85 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Box Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Box Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Box</td>
+ <td>FLTK.Widgets.Boxes</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Box</td>
+ <td>Box</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Box_Reference</td>
+ </tr>
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Box (int X, int Y, int W, int H, const char *l=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Box;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+virtual int handle(int);
+</pre></td>
+<td><pre>
+function Handle
+ (This : in out Box;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+void draw();
+</pre></td>
+<td><pre>
+procedure Draw
+ (This : in out Box);
+</pre></td>
+ </tr>
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_button.html b/doc/fl_button.html
new file mode 100644
index 0000000..be21c60
--- /dev/null
+++ b/doc/fl_button.html
@@ -0,0 +1,203 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Button</td>
+ <td>FLTK.Widgets.Buttons</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Button</td>
+ <td>Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Button_Reference</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>State</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+int clear();
+</pre></td>
+<td>See int value();</td>
+ </tr>
+
+ <tr>
+<td><pre>
+Fl_Boxtype down_box() const;
+</pre></td>
+<td><pre>
+function Get_Down_Box
+ (This : in Button)
+ return Box_Kind;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+void down_box(Fl_Boxtype b);
+</pre></td>
+<td><pre>
+procedure Set_Down_Box
+ (This : in out Button;
+ To : in Box_Kind);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+Fl_Color down_color() const;
+</pre></td>
+<td>&nbsp;</td>
+ </tr>
+
+ <tr>
+<td><pre>
+void down_color(unsigned c);
+</pre></td>
+<td>&nbsp;</td>
+ </tr>
+
+ <tr>
+<td><pre>
+virtual void draw();
+</pre></td>
+<td><pre>
+procedure Draw
+ (This : in out Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+virtual int handle(int);
+</pre></td>
+<td><pre>
+function Handle
+ (This : in out Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+int set();
+</pre></td>
+<td>See int value();</td>
+ </tr>
+
+ <tr>
+<td><pre>
+void setonly();
+</pre></td>
+<td><pre>
+procedure Set_Only
+ (This : in out Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+int shortcut() const;
+</pre></td>
+<td><pre>
+function Get_Shortcut
+ (This : in Button)
+ return Shortcut_Key;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+void shortcut(int s);
+</pre></td>
+<td><pre>
+procedure Set_Shortcut
+ (This : in out Button;
+ Key : in Shortcut_Key);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+void shortcut(const char *s);
+</pre></td>
+<td>See void shortcut(int s);</td>
+ </tr>
+
+ <tr>
+<td><pre>
+int value(int v);
+</pre></td>
+<td><pre>
+procedure Set_State
+ (This : in out Button;
+ St : in State);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+char value() const;
+</pre></td>
+<td><pre>
+function Get_State
+ (This : in Button)
+ return State;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_check_button.html b/doc/fl_check_button.html
new file mode 100644
index 0000000..22405bd
--- /dev/null
+++ b/doc/fl_check_button.html
@@ -0,0 +1,83 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Check_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Check_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Check_Button</td>
+ <td>FLTK.Widgets.Buttons.Light.Check</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Check_Button</td>
+ <td>Check_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Check_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Check_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Check_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+procedure Draw
+ (This : in out Check_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+function Handle
+ (This : in out Check_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_light_button.html b/doc/fl_light_button.html
new file mode 100644
index 0000000..521d1be
--- /dev/null
+++ b/doc/fl_light_button.html
@@ -0,0 +1,87 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Light_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Light_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Light_Button</td>
+ <td>FLTK.Widgets.Buttons.Light</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Light_Button</td>
+ <td>Light_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Light_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Light_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Light_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+void draw();
+</pre></td>
+<td><pre>
+procedure Draw
+ (This : in out Light_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+int handle(int);
+</pre></td>
+<td><pre>
+function Handle
+ (This : in out Light_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_radio_button.html b/doc/fl_radio_button.html
new file mode 100644
index 0000000..03f2f92
--- /dev/null
+++ b/doc/fl_radio_button.html
@@ -0,0 +1,83 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Radio_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Radio_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Radio_Button</td>
+ <td>FLTK.Widgets.Buttons.Radio</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Radio_Button</td>
+ <td>Radio_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Radio_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Radio_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Radio_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+procedure Draw
+ (This : in out Radio_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+function Handle
+ (This : in out Radio_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_radio_light_button.html b/doc/fl_radio_light_button.html
new file mode 100644
index 0000000..bde57e4
--- /dev/null
+++ b/doc/fl_radio_light_button.html
@@ -0,0 +1,83 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Radio_Light_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Radio_Light_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Radio_Light_Button</td>
+ <td>FLTK.Widgets.Buttons.Light.Radio</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Radio_Light_Button</td>
+ <td>Radio_Light_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Radio_Light_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Radio_Light_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Radio_Light_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+procedure Draw
+ (This : in out Radio_Light_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+function Handle
+ (This : in out Radio_Light_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_radio_round_button.html b/doc/fl_radio_round_button.html
new file mode 100644
index 0000000..3cd67dd
--- /dev/null
+++ b/doc/fl_radio_round_button.html
@@ -0,0 +1,83 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Radio_Round_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Radio_Round_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Radio_Round_Button</td>
+ <td>FLTK.Widgets.Buttons.Light.Round.Radio</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Radio_Round_Button</td>
+ <td>Radio_Round_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Radio_Round_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Radio_Round_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Radio_Round_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+procedure Draw
+ (This : in out Radio_Round_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+function Handle
+ (This : in out Radio_Round_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_repeat_button.html b/doc/fl_repeat_button.html
new file mode 100644
index 0000000..852a1ce
--- /dev/null
+++ b/doc/fl_repeat_button.html
@@ -0,0 +1,85 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Repeat_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Repeat_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Repeat_Button</td>
+ <td>FLTK.Widgets.Buttons.Repeat</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Repeat_Button</td>
+ <td>Repeat_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Repeat_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Repeat_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Repeat_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+procedure Draw
+ (This : in out Repeat_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+int handle(int);
+</pre></td>
+<td><pre>
+function Handle
+ (This : in out Repeat_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_return_button.html b/doc/fl_return_button.html
new file mode 100644
index 0000000..2bbfac0
--- /dev/null
+++ b/doc/fl_return_button.html
@@ -0,0 +1,87 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Return_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Return_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Return_Button</td>
+ <td>FLTK.Widgets.Buttons.Enter</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Return_Button</td>
+ <td>Enter_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Enter_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Return_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Enter_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+void draw();
+</pre></td>
+<td><pre>
+procedure Draw
+ (This : in out Enter_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+int handle(int);
+</pre></td>
+<td><pre>
+function Handle
+ (This : in out Enter_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_round_button.html b/doc/fl_round_button.html
new file mode 100644
index 0000000..cc780f7
--- /dev/null
+++ b/doc/fl_round_button.html
@@ -0,0 +1,83 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Round_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Round_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Round_Button</td>
+ <td>FLTK.Widgets.Buttons.Light.Round</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Round_Button</td>
+ <td>Round_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Round_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Round_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Round_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+procedure Draw
+ (This : in out Round_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+function Handle
+ (This : in out Round_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_toggle_button.html b/doc/fl_toggle_button.html
new file mode 100644
index 0000000..1696895
--- /dev/null
+++ b/doc/fl_toggle_button.html
@@ -0,0 +1,83 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Toggle_Button Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Toggle_Button Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Toggle_Button</td>
+ <td>FLTK.Widgets.Buttons.Toggle</td>
+ </tr>
+</table>
+
+
+
+<table class="type">
+ <tr><th colspan="2">Types</th></tr>
+
+ <tr>
+ <td>Fl_Toggle_Button</td>
+ <td>Toggle_Button</td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td>Toggle_Button_Reference</td>
+ </tr>
+
+</table>
+
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+Fl_Toggle_Button(int X, int Y, int W, int H, const char *L=0);
+</pre></td>
+<td><pre>
+function Create
+ (X, Y, W, H : in Integer;
+ Text : in String)
+ return Toggle_Button;
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+procedure Draw
+ (This : in out Toggle_Button);
+</pre></td>
+ </tr>
+
+ <tr>
+<td>&nbsp;</td>
+<td><pre>
+function Handle
+ (This : in out Toggle_Button;
+ Event : in Event_Kind)
+ return Event_Outcome;
+</pre></td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/fl_tooltip.html b/doc/fl_tooltip.html
new file mode 100644
index 0000000..9c72207
--- /dev/null
+++ b/doc/fl_tooltip.html
@@ -0,0 +1,265 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Fl_Tooltip Binding Map</title>
+ <link href="map.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+<h2>Fl_Tooltip Binding Map</h2>
+
+
+<table class="package">
+ <tr><th colspan="2">Package name</th></tr>
+
+ <tr>
+ <td>Fl_Tooltip</td>
+ <td>FLTK.Tooltips</td>
+ </tr>
+</table>
+
+
+<table class="function">
+ <tr><th colspan="2">Functions and Procedures</th></tr>
+
+ <tr>
+<td><pre>
+static Fl_Color color();
+</pre></td>
+<td><pre>
+function Get_Background_Color
+ return Color;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void color(Fl_Color c);
+</pre></td>
+<td><pre>
+procedure Set_Background_Color
+ (To : in Color);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static Fl_Widget * current();
+</pre></td>
+<td><pre>
+function Get_Target
+ return access FLTK.Widgets.Widget'Class;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void current(Fl_Widget *);
+</pre></td>
+<td><pre>
+procedure Set_Target
+ (To : in FLTK.Widgets.Widget'Class);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static float delay();
+</pre></td>
+<td><pre>
+function Get_Delay
+ return Float;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void delay(float f);
+</pre></td>
+<td><pre>
+procedure Set_Delay
+ (To : in Float);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void disable();
+</pre></td>
+<td>See static void enable(int b=1);</td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void enable(int b=1);
+</pre></td>
+<td><pre>
+procedure Set_Enabled
+ (To : in Boolean);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static int enabled();
+</pre></td>
+<td><pre>
+function Is_Enabled
+ return Boolean;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void enter_area(Fl_Widget *w, int X, int Y, int W, int H, const char *tip);
+</pre></td>
+<td><pre>
+procedure Enter_Area
+ (Item : in FLTK.Widgets.Widget'Class;
+ X, Y, W, H : in Integer;
+ Tip : in String);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static Fl_Font font();
+</pre></td>
+<td><pre>
+function Get_Text_Font
+ return Font_Kind;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void font(Fl_Font i);
+</pre></td>
+<td><pre>
+procedure Set_Text_Font
+ (To : in Font_Kind);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static float hoverdelay();
+</pre></td>
+<td><pre>
+function Get_Hover_Delay
+ return Float;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void hoverdelay(float f);
+</pre></td>
+<td><pre>
+procedure Set_Hover_Delay
+ (To : in Float);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static int margin_height();
+</pre></td>
+<td><pre>
+function Get_Margin_Height
+ return Natural;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void margin_height(int v);
+</pre></td>
+<td>Disabled pending ABI version check bugfix in FLTK</td>
+ </tr>
+
+ <tr>
+<td><pre>
+static int margin_width();
+</pre></td>
+<td><pre>
+function Get_Margin_Width
+ return Natural;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void margin_width(int v);
+</pre></td>
+<td>Disabled pending ABI version check bugfix in FLTK</td>
+ </tr>
+
+ <tr>
+<td><pre>
+static Fl_Fontsize size();
+</pre></td>
+<td><pre>
+function Get_Text_Size
+ return Font_Size;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void size(Fl_Fontsize s);
+</pre></td>
+<td><pre>
+procedure Set_Text_Size
+ (To : in Font_Size);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static Fl_Color textcolor();
+</pre></td>
+<td><pre>
+function Get_Text_Color
+ return Color;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void textcolor(Fl_Color c);
+</pre></td>
+<td><pre>
+procedure Set_Text_Color
+ (To : in Color);
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static int wrap_width();
+</pre></td>
+<td><pre>
+function Get_Wrap_Width
+ return Natural;
+</pre></td>
+ </tr>
+
+ <tr>
+<td><pre>
+static void wrap_width(int v);
+</pre></td>
+<td>Disabled pending ABI version check bugfix in FLTK</td>
+ </tr>
+
+</table>
+
+
+ </body>
+</html>
+
diff --git a/doc/map.css b/doc/map.css
new file mode 100644
index 0000000..98513fe
--- /dev/null
+++ b/doc/map.css
@@ -0,0 +1,38 @@
+
+
+body {
+ width: 90%;
+ margin-left: 2em;
+ margin-right: 2em;
+}
+
+
+table.package, table.type {
+ min-width: 30%;
+}
+
+table.function {
+ min-width: 60%;
+}
+
+table {
+ margin-top: 4em;
+ margin-bottom: 4em;
+ border: 1px solid black;
+}
+
+
+th {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border: 1px solid black;
+}
+
+
+td {
+ width: 50%;
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ border: 1px solid black;
+}
+
+
diff --git a/progress.txt b/progress.txt
index d8504e7..b65afdb 100644
--- a/progress.txt
+++ b/progress.txt
@@ -12,6 +12,19 @@ Overall estimate: ???%
Polished:
+FLTK.Tooltips
+FLTK.Widgets.Boxes
+FLTK.Widgets.Buttons
+FLTK.Widgets.Buttons.Enter
+FLTK.Widgets.Buttons.Light
+FLTK.Widgets.Buttons.Light.Check
+FLTK.Widgets.Buttons.Light.Radio
+FLTK.Widgets.Buttons.Light.Round
+FLTK.Widgets.Buttons.Light.Round.Radio
+FLTK.Widgets.Buttons.Radio
+FLTK.Widgets.Buttons.Repeat
+FLTK.Widgets.Buttons.Toggle
+
@@ -32,18 +45,6 @@ FLTK.Images.RGB.JPEG
FLTK.Images.RGB.PNG
FLTK.Images.RGB.PNM
FLTK.Images.Shared
-FLTK.Tooltips
-FLTK.Widgets.Boxes
-FLTK.Widgets.Buttons
-FLTK.Widgets.Buttons.Enter
-FLTK.Widgets.Buttons.Light
-FLTK.Widgets.Buttons.Light.Check
-FLTK.Widgets.Buttons.Light.Radio
-FLTK.Widgets.Buttons.Light.Round
-FLTK.Widgets.Buttons.Light.Round.Radio
-FLTK.Widgets.Buttons.Radio
-FLTK.Widgets.Buttons.Repeat
-FLTK.Widgets.Buttons.Toggle
FLTK.Widgets.Charts
FLTK.Widgets.Clocks
FLTK.Widgets.Clocks.Updated
@@ -134,12 +135,17 @@ FL_GL_Window
FL_Glut_Window
FL_Cairo_Window
+
+(all these have to be done to put something in the polished category)
+
- mark all methods as inline
- make sure all C++ reinterpret_cast for methods is to the Fl object, not the My object, because inheriting
-- consistent unicode utf-8 support (is this even fully supported by FLTK?)
+- consistent unicode utf-8 support (is this even fully supported by FLTK? if not, nevermind...)
- make all protected methods available
- check FLTK library internals to see which char* return values need dealloc
- remove custom exception types in favour of Program_Error?
+- qualify all C++ virtual method calls with the class name to prevent dynamic dispatch on C++ side
+- provide documentation for how C++ methods map to Ada functions and procedures
diff --git a/src/c_fl_box.h b/src/c_fl_box.h
index 4c61c4e..10e0d5f 100644
--- a/src/c_fl_box.h
+++ b/src/c_fl_box.h
@@ -11,16 +11,16 @@ typedef void* BOX;
-extern "C" void box_set_draw_hook(BOX n, void * d);
-extern "C" void fl_box_draw(BOX n);
-extern "C" void box_set_handle_hook(BOX n, void * h);
-extern "C" int fl_box_handle(BOX n, int e);
+extern "C" inline void box_set_draw_hook(BOX n, void * d);
+extern "C" inline void fl_box_draw(BOX n);
+extern "C" inline void box_set_handle_hook(BOX n, void * h);
+extern "C" inline int fl_box_handle(BOX n, int e);
-extern "C" BOX new_fl_box(int x, int y, int w, int h, char * label);
-extern "C" void free_fl_box(BOX b);
+extern "C" inline BOX new_fl_box(int x, int y, int w, int h, char * label);
+extern "C" inline void free_fl_box(BOX b);
#endif
diff --git a/src/c_fl_button.cpp b/src/c_fl_button.cpp
index bdd3eb3..749913d 100644
--- a/src/c_fl_button.cpp
+++ b/src/c_fl_button.cpp
@@ -71,34 +71,34 @@ void free_fl_button(BUTTON b) {
int fl_button_get_state(BUTTON b) {
- return reinterpret_cast<Fl_Button*>(b)->value();
+ return reinterpret_cast<Fl_Button*>(b)->Fl_Button::value();
}
void fl_button_set_state(BUTTON b, int s) {
- reinterpret_cast<Fl_Button*>(b)->value(s);
+ reinterpret_cast<Fl_Button*>(b)->Fl_Button::value(s);
}
void fl_button_set_only(BUTTON b) {
- reinterpret_cast<Fl_Button*>(b)->setonly();
+ reinterpret_cast<Fl_Button*>(b)->Fl_Button::setonly();
}
int fl_button_get_down_box(BUTTON b) {
- return reinterpret_cast<Fl_Button*>(b)->down_box();
+ return reinterpret_cast<Fl_Button*>(b)->Fl_Button::down_box();
}
void fl_button_set_down_box(BUTTON b, int t) {
- reinterpret_cast<Fl_Button*>(b)->down_box(static_cast<Fl_Boxtype>(t));
+ reinterpret_cast<Fl_Button*>(b)->Fl_Button::down_box(static_cast<Fl_Boxtype>(t));
}
int fl_button_get_shortcut(BUTTON b) {
- return reinterpret_cast<Fl_Button*>(b)->shortcut();
+ return reinterpret_cast<Fl_Button*>(b)->Fl_Button::shortcut();
}
void fl_button_set_shortcut(BUTTON b, int k) {
- reinterpret_cast<Fl_Button*>(b)->shortcut(k);
+ reinterpret_cast<Fl_Button*>(b)->Fl_Button::shortcut(k);
}
diff --git a/src/c_fl_button.h b/src/c_fl_button.h
index 33120ad..2a71fd2 100644
--- a/src/c_fl_button.h
+++ b/src/c_fl_button.h
@@ -11,29 +11,29 @@ typedef void* BUTTON;
-extern "C" void button_set_draw_hook(BUTTON b, void * d);
-extern "C" void fl_button_draw(BUTTON b);
-extern "C" void button_set_handle_hook(BUTTON b, void * h);
-extern "C" int fl_button_handle(BUTTON b, int e);
+extern "C" inline void button_set_draw_hook(BUTTON b, void * d);
+extern "C" inline void fl_button_draw(BUTTON b);
+extern "C" inline void button_set_handle_hook(BUTTON b, void * h);
+extern "C" inline int fl_button_handle(BUTTON b, int e);
-extern "C" BUTTON new_fl_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_button(BUTTON b);
+extern "C" inline BUTTON new_fl_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_button(BUTTON b);
-extern "C" int fl_button_get_state(BUTTON b);
-extern "C" void fl_button_set_state(BUTTON b, int s);
-extern "C" void fl_button_set_only(BUTTON b);
+extern "C" inline int fl_button_get_state(BUTTON b);
+extern "C" inline void fl_button_set_state(BUTTON b, int s);
+extern "C" inline void fl_button_set_only(BUTTON b);
-extern "C" int fl_button_get_down_box(BUTTON b);
-extern "C" void fl_button_set_down_box(BUTTON b, int t);
-extern "C" int fl_button_get_shortcut(BUTTON b);
-extern "C" void fl_button_set_shortcut(BUTTON b, int k);
+extern "C" inline int fl_button_get_down_box(BUTTON b);
+extern "C" inline void fl_button_set_down_box(BUTTON b, int t);
+extern "C" inline int fl_button_get_shortcut(BUTTON b);
+extern "C" inline void fl_button_set_shortcut(BUTTON b, int k);
#endif
diff --git a/src/c_fl_check_button.h b/src/c_fl_check_button.h
index 24fff48..fb415e9 100644
--- a/src/c_fl_check_button.h
+++ b/src/c_fl_check_button.h
@@ -11,16 +11,16 @@ typedef void* CHECKBUTTON;
-extern "C" void check_button_set_draw_hook(CHECKBUTTON b, void * d);
-extern "C" void fl_check_button_draw(CHECKBUTTON b);
-extern "C" void check_button_set_handle_hook(CHECKBUTTON b, void * h);
-extern "C" int fl_check_button_handle(CHECKBUTTON b, int e);
+extern "C" inline void check_button_set_draw_hook(CHECKBUTTON b, void * d);
+extern "C" inline void fl_check_button_draw(CHECKBUTTON b);
+extern "C" inline void check_button_set_handle_hook(CHECKBUTTON b, void * h);
+extern "C" inline int fl_check_button_handle(CHECKBUTTON b, int e);
-extern "C" CHECKBUTTON new_fl_check_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_check_button(CHECKBUTTON b);
+extern "C" inline CHECKBUTTON new_fl_check_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_check_button(CHECKBUTTON b);
#endif
diff --git a/src/c_fl_light_button.h b/src/c_fl_light_button.h
index 1a9fab4..7c4a258 100644
--- a/src/c_fl_light_button.h
+++ b/src/c_fl_light_button.h
@@ -11,16 +11,16 @@ typedef void* LIGHTBUTTON;
-extern "C" void light_button_set_draw_hook(LIGHTBUTTON b, void * d);
-extern "C" void fl_light_button_draw(LIGHTBUTTON b);
-extern "C" void light_button_set_handle_hook(LIGHTBUTTON b, void * h);
-extern "C" int fl_light_button_handle(LIGHTBUTTON b, int e);
+extern "C" inline void light_button_set_draw_hook(LIGHTBUTTON b, void * d);
+extern "C" inline void fl_light_button_draw(LIGHTBUTTON b);
+extern "C" inline void light_button_set_handle_hook(LIGHTBUTTON b, void * h);
+extern "C" inline int fl_light_button_handle(LIGHTBUTTON b, int e);
-extern "C" LIGHTBUTTON new_fl_light_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_light_button(LIGHTBUTTON b);
+extern "C" inline LIGHTBUTTON new_fl_light_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_light_button(LIGHTBUTTON b);
#endif
diff --git a/src/c_fl_radio_button.h b/src/c_fl_radio_button.h
index 0a517e8..3b85026 100644
--- a/src/c_fl_radio_button.h
+++ b/src/c_fl_radio_button.h
@@ -11,16 +11,16 @@ typedef void* RADIOBUTTON;
-extern "C" void radio_button_set_draw_hook(RADIOBUTTON b, void * d);
-extern "C" void fl_radio_button_draw(RADIOBUTTON b);
-extern "C" void radio_button_set_handle_hook(RADIOBUTTON b, void * h);
-extern "C" int fl_radio_button_handle(RADIOBUTTON b, int e);
+extern "C" inline void radio_button_set_draw_hook(RADIOBUTTON b, void * d);
+extern "C" inline void fl_radio_button_draw(RADIOBUTTON b);
+extern "C" inline void radio_button_set_handle_hook(RADIOBUTTON b, void * h);
+extern "C" inline int fl_radio_button_handle(RADIOBUTTON b, int e);
-extern "C" RADIOBUTTON new_fl_radio_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_radio_button(RADIOBUTTON b);
+extern "C" inline RADIOBUTTON new_fl_radio_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_radio_button(RADIOBUTTON b);
#endif
diff --git a/src/c_fl_radio_light_button.h b/src/c_fl_radio_light_button.h
index 57d56b0..546ed85 100644
--- a/src/c_fl_radio_light_button.h
+++ b/src/c_fl_radio_light_button.h
@@ -11,16 +11,16 @@ typedef void* RADIOLIGHTBUTTON;
-extern "C" void radio_light_button_set_draw_hook(RADIOLIGHTBUTTON b, void * d);
-extern "C" void fl_radio_light_button_draw(RADIOLIGHTBUTTON b);
-extern "C" void radio_light_button_set_handle_hook(RADIOLIGHTBUTTON b, void * h);
-extern "C" int fl_radio_light_button_handle(RADIOLIGHTBUTTON b, int e);
+extern "C" inline void radio_light_button_set_draw_hook(RADIOLIGHTBUTTON b, void * d);
+extern "C" inline void fl_radio_light_button_draw(RADIOLIGHTBUTTON b);
+extern "C" inline void radio_light_button_set_handle_hook(RADIOLIGHTBUTTON b, void * h);
+extern "C" inline int fl_radio_light_button_handle(RADIOLIGHTBUTTON b, int e);
-extern "C" RADIOLIGHTBUTTON new_fl_radio_light_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_radio_light_button(RADIOLIGHTBUTTON b);
+extern "C" inline RADIOLIGHTBUTTON new_fl_radio_light_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_radio_light_button(RADIOLIGHTBUTTON b);
#endif
diff --git a/src/c_fl_radio_round_button.h b/src/c_fl_radio_round_button.h
index 04c8748..b4d8c3b 100644
--- a/src/c_fl_radio_round_button.h
+++ b/src/c_fl_radio_round_button.h
@@ -11,16 +11,16 @@ typedef void* RADIOROUNDBUTTON;
-extern "C" void radio_round_button_set_draw_hook(RADIOROUNDBUTTON b, void * d);
-extern "C" void fl_radio_round_button_draw(RADIOROUNDBUTTON b);
-extern "C" void radio_round_button_set_handle_hook(RADIOROUNDBUTTON b, void * h);
-extern "C" int fl_radio_round_button_handle(RADIOROUNDBUTTON b, int e);
+extern "C" inline void radio_round_button_set_draw_hook(RADIOROUNDBUTTON b, void * d);
+extern "C" inline void fl_radio_round_button_draw(RADIOROUNDBUTTON b);
+extern "C" inline void radio_round_button_set_handle_hook(RADIOROUNDBUTTON b, void * h);
+extern "C" inline int fl_radio_round_button_handle(RADIOROUNDBUTTON b, int e);
-extern "C" RADIOROUNDBUTTON new_fl_radio_round_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_radio_round_button(RADIOROUNDBUTTON b);
+extern "C" inline RADIOROUNDBUTTON new_fl_radio_round_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_radio_round_button(RADIOROUNDBUTTON b);
#endif
diff --git a/src/c_fl_repeat_button.h b/src/c_fl_repeat_button.h
index fdc3320..d24024e 100644
--- a/src/c_fl_repeat_button.h
+++ b/src/c_fl_repeat_button.h
@@ -11,16 +11,16 @@ typedef void* REPEATBUTTON;
-extern "C" void repeat_button_set_draw_hook(REPEATBUTTON b, void * d);
-extern "C" void fl_repeat_button_draw(REPEATBUTTON b);
-extern "C" void repeat_button_set_handle_hook(REPEATBUTTON b, void * h);
-extern "C" int fl_repeat_button_handle(REPEATBUTTON b, int e);
+extern "C" inline void repeat_button_set_draw_hook(REPEATBUTTON b, void * d);
+extern "C" inline void fl_repeat_button_draw(REPEATBUTTON b);
+extern "C" inline void repeat_button_set_handle_hook(REPEATBUTTON b, void * h);
+extern "C" inline int fl_repeat_button_handle(REPEATBUTTON b, int e);
-extern "C" REPEATBUTTON new_fl_repeat_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_repeat_button(REPEATBUTTON b);
+extern "C" inline REPEATBUTTON new_fl_repeat_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_repeat_button(REPEATBUTTON b);
#endif
diff --git a/src/c_fl_return_button.h b/src/c_fl_return_button.h
index 59928a7..b2ebf44 100644
--- a/src/c_fl_return_button.h
+++ b/src/c_fl_return_button.h
@@ -11,16 +11,16 @@ typedef void* RETURNBUTTON;
-extern "C" void return_button_set_draw_hook(RETURNBUTTON b, void * d);
-extern "C" void fl_return_button_draw(RETURNBUTTON b);
-extern "C" void return_button_set_handle_hook(RETURNBUTTON b, void * h);
-extern "C" int fl_return_button_handle(RETURNBUTTON b, int e);
+extern "C" inline void return_button_set_draw_hook(RETURNBUTTON b, void * d);
+extern "C" inline void fl_return_button_draw(RETURNBUTTON b);
+extern "C" inline void return_button_set_handle_hook(RETURNBUTTON b, void * h);
+extern "C" inline int fl_return_button_handle(RETURNBUTTON b, int e);
-extern "C" RETURNBUTTON new_fl_return_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_return_button(RETURNBUTTON b);
+extern "C" inline RETURNBUTTON new_fl_return_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_return_button(RETURNBUTTON b);
#endif
diff --git a/src/c_fl_round_button.h b/src/c_fl_round_button.h
index f812746..8deecc9 100644
--- a/src/c_fl_round_button.h
+++ b/src/c_fl_round_button.h
@@ -11,16 +11,16 @@ typedef void* ROUNDBUTTON;
-extern "C" void round_button_set_draw_hook(ROUNDBUTTON b, void * d);
-extern "C" void fl_round_button_draw(ROUNDBUTTON b);
-extern "C" void round_button_set_handle_hook(ROUNDBUTTON b, void * h);
-extern "C" int fl_round_button_handle(ROUNDBUTTON b, int e);
+extern "C" inline void round_button_set_draw_hook(ROUNDBUTTON b, void * d);
+extern "C" inline void fl_round_button_draw(ROUNDBUTTON b);
+extern "C" inline void round_button_set_handle_hook(ROUNDBUTTON b, void * h);
+extern "C" inline int fl_round_button_handle(ROUNDBUTTON b, int e);
-extern "C" ROUNDBUTTON new_fl_round_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_round_button(ROUNDBUTTON b);
+extern "C" inline ROUNDBUTTON new_fl_round_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_round_button(ROUNDBUTTON b);
#endif
diff --git a/src/c_fl_toggle_button.h b/src/c_fl_toggle_button.h
index 88dcbae..af32249 100644
--- a/src/c_fl_toggle_button.h
+++ b/src/c_fl_toggle_button.h
@@ -11,16 +11,16 @@ typedef void* TOGGLEBUTTON;
-extern "C" void toggle_button_set_draw_hook(TOGGLEBUTTON b, void * d);
-extern "C" void fl_toggle_button_draw(TOGGLEBUTTON b);
-extern "C" void toggle_button_set_handle_hook(TOGGLEBUTTON b, void * h);
-extern "C" int fl_toggle_button_handle(TOGGLEBUTTON b, int e);
+extern "C" inline void toggle_button_set_draw_hook(TOGGLEBUTTON b, void * d);
+extern "C" inline void fl_toggle_button_draw(TOGGLEBUTTON b);
+extern "C" inline void toggle_button_set_handle_hook(TOGGLEBUTTON b, void * h);
+extern "C" inline int fl_toggle_button_handle(TOGGLEBUTTON b, int e);
-extern "C" TOGGLEBUTTON new_fl_toggle_button(int x, int y, int w, int h, char* label);
-extern "C" void free_fl_toggle_button(TOGGLEBUTTON b);
+extern "C" inline TOGGLEBUTTON new_fl_toggle_button(int x, int y, int w, int h, char* label);
+extern "C" inline void free_fl_toggle_button(TOGGLEBUTTON b);
#endif
diff --git a/src/c_fl_tooltip.h b/src/c_fl_tooltip.h
index b5a3644..b45657a 100644
--- a/src/c_fl_tooltip.h
+++ b/src/c_fl_tooltip.h
@@ -6,35 +6,35 @@
-extern "C" void * fl_tooltip_get_current(void);
-extern "C" void fl_tooltip_set_current(void * i);
-extern "C" int fl_tooltip_enabled(void);
-extern "C" void fl_tooltip_enable(int v);
-extern "C" void fl_tooltip_enter_area(void * i, int x, int y, int w, int h, const char * t);
-
-
-extern "C" float fl_tooltip_get_delay(void);
-extern "C" void fl_tooltip_set_delay(float v);
-extern "C" float fl_tooltip_get_hoverdelay(void);
-extern "C" void fl_tooltip_set_hoverdelay(float v);
-
-
-extern "C" unsigned int fl_tooltip_get_color(void);
-extern "C" void fl_tooltip_set_color(unsigned int v);
-extern "C" int fl_tooltip_get_margin_height(void);
-//extern "C" void fl_tooltip_set_margin_height(int v);
-extern "C" int fl_tooltip_get_margin_width(void);
-//extern "C" void fl_tooltip_set_margin_width(int v);
-extern "C" int fl_tooltip_get_wrap_width(void);
-//extern "C" void fl_tooltip_set_wrap_width(int v);
-
-
-extern "C" unsigned int fl_tooltip_get_textcolor(void);
-extern "C" void fl_tooltip_set_textcolor(unsigned int v);
-extern "C" int fl_tooltip_get_font(void);
-extern "C" void fl_tooltip_set_font(int v);
-extern "C" int fl_tooltip_get_size(void);
-extern "C" void fl_tooltip_set_size(int v);
+extern "C" inline void * fl_tooltip_get_current(void);
+extern "C" inline void fl_tooltip_set_current(void * i);
+extern "C" inline int fl_tooltip_enabled(void);
+extern "C" inline void fl_tooltip_enable(int v);
+extern "C" inline void fl_tooltip_enter_area(void * i, int x, int y, int w, int h, const char * t);
+
+
+extern "C" inline float fl_tooltip_get_delay(void);
+extern "C" inline void fl_tooltip_set_delay(float v);
+extern "C" inline float fl_tooltip_get_hoverdelay(void);
+extern "C" inline void fl_tooltip_set_hoverdelay(float v);
+
+
+extern "C" inline unsigned int fl_tooltip_get_color(void);
+extern "C" inline void fl_tooltip_set_color(unsigned int v);
+extern "C" inline int fl_tooltip_get_margin_height(void);
+//extern "C" inline void fl_tooltip_set_margin_height(int v);
+extern "C" inline int fl_tooltip_get_margin_width(void);
+//extern "C" inline void fl_tooltip_set_margin_width(int v);
+extern "C" inline int fl_tooltip_get_wrap_width(void);
+//extern "C" inline void fl_tooltip_set_wrap_width(int v);
+
+
+extern "C" inline unsigned int fl_tooltip_get_textcolor(void);
+extern "C" inline void fl_tooltip_set_textcolor(unsigned int v);
+extern "C" inline int fl_tooltip_get_font(void);
+extern "C" inline void fl_tooltip_set_font(int v);
+extern "C" inline int fl_tooltip_get_size(void);
+extern "C" inline void fl_tooltip_set_size(int v);
#endif
diff --git a/src/fltk-dialogs.adb b/src/fltk-dialogs.adb
index 20f4c6b..46c14ad 100644
--- a/src/fltk-dialogs.adb
+++ b/src/fltk-dialogs.adb
@@ -259,7 +259,7 @@ package body FLTK.Dialogs is
function Get_Message_Icon
- return FLTK.Widgets.Boxes.Box_Cursor is
+ return FLTK.Widgets.Boxes.Box_Reference is
begin
return (Data => Icon_Box'Access);
end Get_Message_Icon;
diff --git a/src/fltk-dialogs.ads b/src/fltk-dialogs.ads
index 0368834..03d1416 100644
--- a/src/fltk-dialogs.ads
+++ b/src/fltk-dialogs.ads
@@ -78,7 +78,7 @@ package FLTK.Dialogs is
Size : in Font_Size);
function Get_Message_Icon
- return FLTK.Widgets.Boxes.Box_Cursor;
+ return FLTK.Widgets.Boxes.Box_Reference;
procedure Set_Message_Title
(To : in String);
diff --git a/src/fltk-tooltips.adb b/src/fltk-tooltips.adb
index 38bcf66..720e417 100644
--- a/src/fltk-tooltips.adb
+++ b/src/fltk-tooltips.adb
@@ -7,7 +7,8 @@ with
use type
- Interfaces.C.int;
+ Interfaces.C.int,
+ System.Address;
package body FLTK.Tooltips is
@@ -16,24 +17,29 @@ package body FLTK.Tooltips is
function fl_tooltip_get_current
return System.Address;
pragma Import (C, fl_tooltip_get_current, "fl_tooltip_get_current");
+ pragma Inline (fl_tooltip_get_current);
procedure fl_tooltip_set_current
(I : in System.Address);
pragma Import (C, fl_tooltip_set_current, "fl_tooltip_set_current");
+ pragma Inline (fl_tooltip_set_current);
function fl_tooltip_enabled
return Interfaces.C.int;
pragma Import (C, fl_tooltip_enabled, "fl_tooltip_enabled");
+ pragma Inline (fl_tooltip_enabled);
procedure fl_tooltip_enable
(V : in Interfaces.C.int);
pragma Import (C, fl_tooltip_enable, "fl_tooltip_enable");
+ pragma Inline (fl_tooltip_enable);
procedure fl_tooltip_enter_area
(I : in System.Address;
X, Y, W, H : in Interfaces.C.int;
T : in Interfaces.C.char_array);
pragma Import (C, fl_tooltip_enter_area, "fl_tooltip_enter_area");
+ pragma Inline (fl_tooltip_enter_area);
@@ -41,18 +47,22 @@ package body FLTK.Tooltips is
function fl_tooltip_get_delay
return Interfaces.C.C_float;
pragma Import (C, fl_tooltip_get_delay, "fl_tooltip_get_delay");
+ pragma Inline (fl_tooltip_get_delay);
procedure fl_tooltip_set_delay
(V : in Interfaces.C.C_float);
pragma Import (C, fl_tooltip_set_delay, "fl_tooltip_set_delay");
+ pragma Inline (fl_tooltip_set_delay);
function fl_tooltip_get_hoverdelay
return Interfaces.C.C_float;
pragma Import (C, fl_tooltip_get_hoverdelay, "fl_tooltip_get_hoverdelay");
+ pragma Inline (fl_tooltip_get_hoverdelay);
procedure fl_tooltip_set_hoverdelay
(V : in Interfaces.C.C_float);
pragma Import (C, fl_tooltip_set_hoverdelay, "fl_tooltip_set_hoverdelay");
+ pragma Inline (fl_tooltip_set_hoverdelay);
@@ -60,34 +70,42 @@ package body FLTK.Tooltips is
function fl_tooltip_get_color
return Interfaces.C.unsigned;
pragma Import (C, fl_tooltip_get_color, "fl_tooltip_get_color");
+ pragma Inline (fl_tooltip_get_color);
procedure fl_tooltip_set_color
(V : in Interfaces.C.unsigned);
pragma Import (C, fl_tooltip_set_color, "fl_tooltip_set_color");
+ pragma Inline (fl_tooltip_set_color);
function fl_tooltip_get_margin_height
return Interfaces.C.int;
pragma Import (C, fl_tooltip_get_margin_height, "fl_tooltip_get_margin_height");
+ pragma Inline (fl_tooltip_get_margin_height);
-- procedure fl_tooltip_set_margin_height
-- (V : in Interfaces.C.int);
-- pragma Import (C, fl_tooltip_set_margin_height, "fl_tooltip_set_margin_height");
+ -- pragma Inline (fl_tooltip_set_margin_height);
function fl_tooltip_get_margin_width
return Interfaces.C.int;
pragma Import (C, fl_tooltip_get_margin_width, "fl_tooltip_get_margin_width");
+ pragma Inline (fl_tooltip_get_margin_width);
-- procedure fl_tooltip_set_margin_width
-- (V : in Interfaces.C.int);
-- pragma Import (C, fl_tooltip_set_margin_width, "fl_tooltip_set_margin_width");
+ -- pragma Inline (fl_tooltip_set_margin_width);
function fl_tooltip_get_wrap_width
return Interfaces.C.int;
pragma Import (C, fl_tooltip_get_wrap_width, "fl_tooltip_get_wrap_width");
+ pragma Inline (fl_tooltip_get_wrap_width);
-- procedure fl_tooltip_set_wrap_width
-- (V : in Interfaces.C.int);
-- pragma Import (C, fl_tooltip_set_wrap_width, "fl_tooltip_set_wrap_width");
+ -- pragma Inline (fl_tooltip_set_wrap_width);
@@ -95,26 +113,32 @@ package body FLTK.Tooltips is
function fl_tooltip_get_textcolor
return Interfaces.C.unsigned;
pragma Import (C, fl_tooltip_get_textcolor, "fl_tooltip_get_textcolor");
+ pragma Inline (fl_tooltip_get_textcolor);
procedure fl_tooltip_set_textcolor
(V : in Interfaces.C.unsigned);
pragma Import (C, fl_tooltip_set_textcolor, "fl_tooltip_set_textcolor");
+ pragma Inline (fl_tooltip_set_textcolor);
function fl_tooltip_get_font
return Interfaces.C.int;
pragma Import (C, fl_tooltip_get_font, "fl_tooltip_get_font");
+ pragma Inline (fl_tooltip_get_font);
procedure fl_tooltip_set_font
(V : in Interfaces.C.int);
pragma Import (C, fl_tooltip_set_font, "fl_tooltip_set_font");
+ pragma Inline (fl_tooltip_set_font);
function fl_tooltip_get_size
return Interfaces.C.int;
pragma Import (C, fl_tooltip_get_size, "fl_tooltip_get_size");
+ pragma Inline (fl_tooltip_get_size);
procedure fl_tooltip_set_size
(V : in Interfaces.C.int);
pragma Import (C, fl_tooltip_set_size, "fl_tooltip_set_size");
+ pragma Inline (fl_tooltip_set_size);
@@ -123,6 +147,7 @@ package body FLTK.Tooltips is
(W : in System.Address)
return System.Address;
pragma Import (C, fl_widget_get_user_data, "fl_widget_get_user_data");
+ pragma Inline (fl_widget_get_user_data);
package Widget_Convert is new
System.Address_To_Access_Conversions (FLTK.Widgets.Widget'Class);
@@ -134,10 +159,12 @@ package body FLTK.Tooltips is
return access FLTK.Widgets.Widget'Class
is
Widget_Ptr : System.Address := fl_tooltip_get_current;
- Actual_Widget : access FLTK.Widgets.Widget'Class :=
- Widget_Convert.To_Pointer (fl_widget_get_user_data (Widget_Ptr));
begin
- return Actual_Widget;
+ if Widget_Ptr /= System.Null_Address then
+ return Widget_Convert.To_Pointer (fl_widget_get_user_data (Widget_Ptr));
+ else
+ return null;
+ end if;
end Get_Target;
diff --git a/src/fltk-tooltips.ads b/src/fltk-tooltips.ads
index 153825f..f4b3044 100644
--- a/src/fltk-tooltips.ads
+++ b/src/fltk-tooltips.ads
@@ -89,5 +89,39 @@ package FLTK.Tooltips is
(To : in Font_Size);
+private
+
+
+ pragma Inline (Get_Target);
+ pragma Inline (Set_Target);
+ pragma Inline (Is_Enabled);
+ pragma Inline (Set_Enabled);
+ pragma Inline (Enter_Area);
+
+
+ pragma Inline (Get_Delay);
+ pragma Inline (Set_Delay);
+ pragma Inline (Get_Hover_Delay);
+ pragma Inline (Set_Hover_Delay);
+
+
+ pragma Inline (Get_Background_Color);
+ pragma Inline (Set_Background_Color);
+ pragma Inline (Get_Margin_Height);
+ -- pragma Inline (Set_Margin_Height);
+ pragma Inline (Get_Margin_Width);
+ -- pragma Inline (Set_Margin_Width);
+ pragma Inline (Get_Wrap_Width);
+ -- pragma Inline (Set_Wrap_Width);
+
+
+ pragma Inline (Get_Text_Color);
+ pragma Inline (Set_Text_Color);
+ pragma Inline (Get_Text_Font);
+ pragma Inline (Set_Text_Font);
+ pragma Inline (Get_Text_Size);
+ pragma Inline (Set_Text_Size);
+
+
end FLTK.Tooltips;
diff --git a/src/fltk-widgets-boxes.adb b/src/fltk-widgets-boxes.adb
index e60f0f7..b6f7fc6 100644
--- a/src/fltk-widgets-boxes.adb
+++ b/src/fltk-widgets-boxes.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Boxes is
procedure box_set_draw_hook
(W, D : in System.Address);
pragma Import (C, box_set_draw_hook, "box_set_draw_hook");
+ pragma Inline (box_set_draw_hook);
procedure box_set_handle_hook
(W, H : in System.Address);
pragma Import (C, box_set_handle_hook, "box_set_handle_hook");
+ pragma Inline (box_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Boxes is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_box, "new_fl_box");
+ pragma Inline (new_fl_box);
procedure free_fl_box
(B : in System.Address);
pragma Import (C, free_fl_box, "free_fl_box");
+ pragma Inline (free_fl_box);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Boxes is
procedure fl_box_draw
(W : in System.Address);
pragma Import (C, fl_box_draw, "fl_box_draw");
+ pragma Inline (fl_box_draw);
function fl_box_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_box_handle, "fl_box_handle");
+ pragma Inline (fl_box_handle);
diff --git a/src/fltk-widgets-boxes.ads b/src/fltk-widgets-boxes.ads
index ef551b5..db64e0c 100644
--- a/src/fltk-widgets-boxes.ads
+++ b/src/fltk-widgets-boxes.ads
@@ -5,7 +5,7 @@ package FLTK.Widgets.Boxes is
type Box is new Widget with private;
- type Box_Cursor (Data : access Box'Class) is limited null record
+ type Box_Reference (Data : not null access Box'Class) is limited null record
with Implicit_Dereference => Data;
@@ -41,5 +41,11 @@ private
(This : in out Box);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Boxes;
diff --git a/src/fltk-widgets-buttons-enter.adb b/src/fltk-widgets-buttons-enter.adb
index 2fcb2a8..2edd991 100644
--- a/src/fltk-widgets-buttons-enter.adb
+++ b/src/fltk-widgets-buttons-enter.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Enter is
procedure return_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, return_button_set_draw_hook, "return_button_set_draw_hook");
+ pragma Inline (return_button_set_draw_hook);
procedure return_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, return_button_set_handle_hook, "return_button_set_handle_hook");
+ pragma Inline (return_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Enter is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_return_button, "new_fl_return_button");
+ pragma Inline (new_fl_return_button);
procedure free_fl_return_button
(B : in System.Address);
pragma Import (C, free_fl_return_button, "free_fl_return_button");
+ pragma Inline (free_fl_return_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Enter is
procedure fl_return_button_draw
(W : in System.Address);
pragma Import (C, fl_return_button_draw, "fl_return_button_draw");
+ pragma Inline (fl_return_button_draw);
function fl_return_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_return_button_handle, "fl_return_button_handle");
+ pragma Inline (fl_return_button_handle);
diff --git a/src/fltk-widgets-buttons-enter.ads b/src/fltk-widgets-buttons-enter.ads
index 1b9ceab..8492cca 100644
--- a/src/fltk-widgets-buttons-enter.ads
+++ b/src/fltk-widgets-buttons-enter.ads
@@ -8,6 +8,9 @@ package FLTK.Widgets.Buttons.Enter is
type Enter_Button is new Button with private;
+ type Enter_Button_Reference (Data : not null access Enter_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -41,5 +44,11 @@ private
(This : in out Enter_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Enter;
diff --git a/src/fltk-widgets-buttons-light-check.adb b/src/fltk-widgets-buttons-light-check.adb
index df54720..415a91b 100644
--- a/src/fltk-widgets-buttons-light-check.adb
+++ b/src/fltk-widgets-buttons-light-check.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light.Check is
procedure check_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, check_button_set_draw_hook, "check_button_set_draw_hook");
+ pragma Inline (check_button_set_draw_hook);
procedure check_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, check_button_set_handle_hook, "check_button_set_handle_hook");
+ pragma Inline (check_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light.Check is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_check_button, "new_fl_check_button");
+ pragma Inline (new_fl_check_button);
procedure free_fl_check_button
(B : in System.Address);
pragma Import (C, free_fl_check_button, "free_fl_check_button");
+ pragma Inline (free_fl_check_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light.Check is
procedure fl_check_button_draw
(W : in System.Address);
pragma Import (C, fl_check_button_draw, "fl_check_button_draw");
+ pragma Inline (fl_check_button_draw);
function fl_check_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_check_button_handle, "fl_check_button_handle");
+ pragma Inline (fl_check_button_handle);
diff --git a/src/fltk-widgets-buttons-light-check.ads b/src/fltk-widgets-buttons-light-check.ads
index 0e746d9..87ef863 100644
--- a/src/fltk-widgets-buttons-light-check.ads
+++ b/src/fltk-widgets-buttons-light-check.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light.Check is
type Check_Button is new Light_Button with private;
+ type Check_Button_Reference (Data : not null access Check_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -38,5 +41,11 @@ private
(This : in out Check_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Light.Check;
diff --git a/src/fltk-widgets-buttons-light-radio.adb b/src/fltk-widgets-buttons-light-radio.adb
index 6df1abd..8f0db60 100644
--- a/src/fltk-widgets-buttons-light-radio.adb
+++ b/src/fltk-widgets-buttons-light-radio.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light.Radio is
procedure radio_light_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, radio_light_button_set_draw_hook, "radio_light_button_set_draw_hook");
+ pragma Inline (radio_light_button_set_draw_hook);
procedure radio_light_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, radio_light_button_set_handle_hook, "radio_light_button_set_handle_hook");
+ pragma Inline (radio_light_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light.Radio is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_radio_light_button, "new_fl_radio_light_button");
+ pragma Inline (new_fl_radio_light_button);
procedure free_fl_radio_light_button
(B : in System.Address);
pragma Import (C, free_fl_radio_light_button, "free_fl_radio_light_button");
+ pragma Inline (free_fl_radio_light_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light.Radio is
procedure fl_radio_light_button_draw
(W : in System.Address);
pragma Import (C, fl_radio_light_button_draw, "fl_radio_light_button_draw");
+ pragma Inline (fl_radio_light_button_draw);
function fl_radio_light_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_radio_light_button_handle, "fl_radio_light_button_handle");
+ pragma Inline (fl_radio_light_button_handle);
diff --git a/src/fltk-widgets-buttons-light-radio.ads b/src/fltk-widgets-buttons-light-radio.ads
index 6536d5d..385de81 100644
--- a/src/fltk-widgets-buttons-light-radio.ads
+++ b/src/fltk-widgets-buttons-light-radio.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light.Radio is
type Radio_Light_Button is new Light_Button with private;
+ type Radio_Light_Button_Reference (Data : not null access Radio_Light_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -38,5 +41,11 @@ private
(This : in out Radio_Light_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Light.Radio;
diff --git a/src/fltk-widgets-buttons-light-round-radio.adb b/src/fltk-widgets-buttons-light-round-radio.adb
index 6bdc8b3..b97b714 100644
--- a/src/fltk-widgets-buttons-light-round-radio.adb
+++ b/src/fltk-widgets-buttons-light-round-radio.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light.Round.Radio is
procedure radio_round_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, radio_round_button_set_draw_hook, "radio_round_button_set_draw_hook");
+ pragma Inline (radio_round_button_set_draw_hook);
procedure radio_round_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, radio_round_button_set_handle_hook, "radio_round_button_set_handle_hook");
+ pragma Inline (radio_round_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light.Round.Radio is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_radio_round_button, "new_fl_radio_round_button");
+ pragma Inline (new_fl_radio_round_button);
procedure free_fl_radio_round_button
(B : in System.Address);
pragma Import (C, free_fl_radio_round_button, "free_fl_radio_round_button");
+ pragma Inline (free_fl_radio_round_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light.Round.Radio is
procedure fl_radio_round_button_draw
(W : in System.Address);
pragma Import (C, fl_radio_round_button_draw, "fl_radio_round_button_draw");
+ pragma Inline (fl_radio_round_button_draw);
function fl_radio_round_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_radio_round_button_handle, "fl_radio_round_button_handle");
+ pragma Inline (fl_radio_round_button_handle);
diff --git a/src/fltk-widgets-buttons-light-round-radio.ads b/src/fltk-widgets-buttons-light-round-radio.ads
index 00a3c90..a4715a8 100644
--- a/src/fltk-widgets-buttons-light-round-radio.ads
+++ b/src/fltk-widgets-buttons-light-round-radio.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light.Round.Radio is
type Radio_Round_Button is new Round_Button with private;
+ type Radio_Round_Button_Reference (Data : not null access Radio_Round_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -38,5 +41,11 @@ private
(This : in out Radio_Round_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Light.Round.Radio;
diff --git a/src/fltk-widgets-buttons-light-round.adb b/src/fltk-widgets-buttons-light-round.adb
index 3287308..dd3fa29 100644
--- a/src/fltk-widgets-buttons-light-round.adb
+++ b/src/fltk-widgets-buttons-light-round.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light.Round is
procedure round_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, round_button_set_draw_hook, "round_button_set_draw_hook");
+ pragma Inline (round_button_set_draw_hook);
procedure round_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, round_button_set_handle_hook, "round_button_set_handle_hook");
+ pragma Inline (round_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light.Round is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_round_button, "new_fl_round_button");
+ pragma Inline (new_fl_round_button);
procedure free_fl_round_button
(B : in System.Address);
pragma Import (C, free_fl_round_button, "free_fl_round_button");
+ pragma Inline (free_fl_round_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light.Round is
procedure fl_round_button_draw
(W : in System.Address);
pragma Import (C, fl_round_button_draw, "fl_round_button_draw");
+ pragma Inline (fl_round_button_draw);
function fl_round_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_round_button_handle, "fl_round_button_handle");
+ pragma Inline (fl_round_button_handle);
diff --git a/src/fltk-widgets-buttons-light-round.ads b/src/fltk-widgets-buttons-light-round.ads
index 22736b6..52d5e78 100644
--- a/src/fltk-widgets-buttons-light-round.ads
+++ b/src/fltk-widgets-buttons-light-round.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light.Round is
type Round_Button is new Light_Button with private;
+ type Round_Button_Reference (Data : not null access Round_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -38,5 +41,11 @@ private
(This : in out Round_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Light.Round;
diff --git a/src/fltk-widgets-buttons-light.adb b/src/fltk-widgets-buttons-light.adb
index 21c9efc..dc258b2 100644
--- a/src/fltk-widgets-buttons-light.adb
+++ b/src/fltk-widgets-buttons-light.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light is
procedure light_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, light_button_set_draw_hook, "light_button_set_draw_hook");
+ pragma Inline (light_button_set_draw_hook);
procedure light_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, light_button_set_handle_hook, "light_button_set_handle_hook");
+ pragma Inline (light_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_light_button, "new_fl_light_button");
+ pragma Inline (new_fl_light_button);
procedure free_fl_light_button
(B : in System.Address);
pragma Import (C, free_fl_light_button, "free_fl_light_button");
+ pragma Inline (free_fl_light_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light is
procedure fl_light_button_draw
(W : in System.Address);
pragma Import (C, fl_light_button_draw, "fl_light_button_draw");
+ pragma Inline (fl_light_button_draw);
function fl_light_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_light_button_handle, "fl_light_button_handle");
+ pragma Inline (fl_light_button_handle);
diff --git a/src/fltk-widgets-buttons-light.ads b/src/fltk-widgets-buttons-light.ads
index b7429ed..e270ba9 100644
--- a/src/fltk-widgets-buttons-light.ads
+++ b/src/fltk-widgets-buttons-light.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light is
type Light_Button is new Button with private;
+ type Light_Button_Reference (Data : not null access Light_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -38,5 +41,11 @@ private
(This : in out Light_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Light;
diff --git a/src/fltk-widgets-buttons-radio.adb b/src/fltk-widgets-buttons-radio.adb
index 6a5ff01..d6ae492 100644
--- a/src/fltk-widgets-buttons-radio.adb
+++ b/src/fltk-widgets-buttons-radio.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Radio is
procedure radio_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, radio_button_set_draw_hook, "radio_button_set_draw_hook");
+ pragma Inline (radio_button_set_draw_hook);
procedure radio_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, radio_button_set_handle_hook, "radio_button_set_handle_hook");
+ pragma Inline (radio_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Radio is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_radio_button, "new_fl_radio_button");
+ pragma Inline (new_fl_radio_button);
procedure free_fl_radio_button
(B : in System.Address);
pragma Import (C, free_fl_radio_button, "free_fl_radio_button");
+ pragma Inline (free_fl_radio_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Radio is
procedure fl_radio_button_draw
(W : in System.Address);
pragma Import (C, fl_radio_button_draw, "fl_radio_button_draw");
+ pragma Inline (fl_radio_button_draw);
function fl_radio_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_radio_button_handle, "fl_radio_button_handle");
+ pragma Inline (fl_radio_button_handle);
diff --git a/src/fltk-widgets-buttons-radio.ads b/src/fltk-widgets-buttons-radio.ads
index b62847a..2125af9 100644
--- a/src/fltk-widgets-buttons-radio.ads
+++ b/src/fltk-widgets-buttons-radio.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Radio is
type Radio_Button is new Button with private;
+ type Radio_Button_Reference (Data : not null access Radio_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -38,5 +41,11 @@ private
(This : in out Radio_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Radio;
diff --git a/src/fltk-widgets-buttons-repeat.adb b/src/fltk-widgets-buttons-repeat.adb
index 7bbc6b1..eaebeb4 100644
--- a/src/fltk-widgets-buttons-repeat.adb
+++ b/src/fltk-widgets-buttons-repeat.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Repeat is
procedure repeat_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, repeat_button_set_draw_hook, "repeat_button_set_draw_hook");
+ pragma Inline (repeat_button_set_draw_hook);
procedure repeat_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, repeat_button_set_handle_hook, "repeat_button_set_handle_hook");
+ pragma Inline (repeat_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Repeat is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_repeat_button, "new_fl_repeat_button");
+ pragma Inline (new_fl_repeat_button);
procedure free_fl_repeat_button
(B : in System.Address);
pragma Import (C, free_fl_repeat_button, "free_fl_repeat_button");
+ pragma Inline (free_fl_repeat_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Repeat is
procedure fl_repeat_button_draw
(W : in System.Address);
pragma Import (C, fl_repeat_button_draw, "fl_repeat_button_draw");
+ pragma Inline (fl_repeat_button_draw);
function fl_repeat_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_repeat_button_handle, "fl_repeat_button_handle");
+ pragma Inline (fl_repeat_button_handle);
diff --git a/src/fltk-widgets-buttons-repeat.ads b/src/fltk-widgets-buttons-repeat.ads
index 2f495db..0273741 100644
--- a/src/fltk-widgets-buttons-repeat.ads
+++ b/src/fltk-widgets-buttons-repeat.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Repeat is
type Repeat_Button is new Button with private;
+ type Repeat_Button_Reference (Data : not null access Repeat_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -38,5 +41,11 @@ private
(This : in out Repeat_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Repeat;
diff --git a/src/fltk-widgets-buttons-toggle.adb b/src/fltk-widgets-buttons-toggle.adb
index 60f8de3..bf945e5 100644
--- a/src/fltk-widgets-buttons-toggle.adb
+++ b/src/fltk-widgets-buttons-toggle.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Toggle is
procedure toggle_button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, toggle_button_set_draw_hook, "toggle_button_set_draw_hook");
+ pragma Inline (toggle_button_set_draw_hook);
procedure toggle_button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, toggle_button_set_handle_hook, "toggle_button_set_handle_hook");
+ pragma Inline (toggle_button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Toggle is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_toggle_button, "new_fl_toggle_button");
+ pragma Inline (new_fl_toggle_button);
procedure free_fl_toggle_button
(B : in System.Address);
pragma Import (C, free_fl_toggle_button, "free_fl_toggle_button");
+ pragma Inline (free_fl_toggle_button);
@@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Toggle is
procedure fl_toggle_button_draw
(W : in System.Address);
pragma Import (C, fl_toggle_button_draw, "fl_toggle_button_draw");
+ pragma Inline (fl_toggle_button_draw);
function fl_toggle_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_toggle_button_handle, "fl_toggle_button_handle");
+ pragma Inline (fl_toggle_button_handle);
diff --git a/src/fltk-widgets-buttons-toggle.ads b/src/fltk-widgets-buttons-toggle.ads
index d2f26a1..90c898e 100644
--- a/src/fltk-widgets-buttons-toggle.ads
+++ b/src/fltk-widgets-buttons-toggle.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Toggle is
type Toggle_Button is new Button with private;
+ type Toggle_Button_Reference (Data : not null access Toggle_Button'Class) is
+ limited null record with Implicit_Dereference => Data;
+
@@ -38,5 +41,11 @@ private
(This : in out Toggle_Button);
+
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons.Toggle;
diff --git a/src/fltk-widgets-buttons.adb b/src/fltk-widgets-buttons.adb
index 9024f8e..050c571 100644
--- a/src/fltk-widgets-buttons.adb
+++ b/src/fltk-widgets-buttons.adb
@@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons is
procedure button_set_draw_hook
(W, D : in System.Address);
pragma Import (C, button_set_draw_hook, "button_set_draw_hook");
+ pragma Inline (button_set_draw_hook);
procedure button_set_handle_hook
(W, H : in System.Address);
pragma Import (C, button_set_handle_hook, "button_set_handle_hook");
+ pragma Inline (button_set_handle_hook);
@@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons is
Text : in Interfaces.C.char_array)
return System.Address;
pragma Import (C, new_fl_button, "new_fl_button");
+ pragma Inline (new_fl_button);
procedure free_fl_button
(B : in System.Address);
pragma Import (C, free_fl_button, "free_fl_button");
+ pragma Inline (free_fl_button);
@@ -41,15 +45,18 @@ package body FLTK.Widgets.Buttons is
(B : in System.Address)
return Interfaces.C.int;
pragma Import (C, fl_button_get_state, "fl_button_get_state");
+ pragma Inline (fl_button_get_state);
procedure fl_button_set_state
(B : in System.Address;
S : in Interfaces.C.int);
pragma Import (C, fl_button_set_state, "fl_button_set_state");
+ pragma Inline (fl_button_set_state);
procedure fl_button_set_only
(B : in System.Address);
pragma Import (C, fl_button_set_only, "fl_button_set_only");
+ pragma Inline (fl_button_set_only);
@@ -58,21 +65,25 @@ package body FLTK.Widgets.Buttons is
(B : in System.Address)
return Interfaces.C.int;
pragma Import (C, fl_button_get_down_box, "fl_button_get_down_box");
+ pragma Inline (fl_button_get_down_box);
procedure fl_button_set_down_box
(B : in System.Address;
T : in Interfaces.C.int);
pragma Import (C, fl_button_set_down_box, "fl_button_set_down_box");
+ pragma Inline (fl_button_set_down_box);
function fl_button_get_shortcut
(B : in System.Address)
return Interfaces.C.int;
pragma Import (C, fl_button_get_shortcut, "fl_button_get_shortcut");
+ pragma Inline (fl_button_get_shortcut);
procedure fl_button_set_shortcut
(B : in System.Address;
T : in Interfaces.C.int);
pragma Import (C, fl_button_set_shortcut, "fl_button_set_shortcut");
+ pragma Inline (fl_button_set_shortcut);
@@ -80,12 +91,14 @@ package body FLTK.Widgets.Buttons is
procedure fl_button_draw
(W : in System.Address);
pragma Import (C, fl_button_draw, "fl_button_draw");
+ pragma Inline (fl_button_draw);
function fl_button_handle
(W : in System.Address;
E : in Interfaces.C.int)
return Interfaces.C.int;
pragma Import (C, fl_button_handle, "fl_button_handle");
+ pragma Inline (fl_button_handle);
diff --git a/src/fltk-widgets-buttons.ads b/src/fltk-widgets-buttons.ads
index f740b32..7c70c2e 100644
--- a/src/fltk-widgets-buttons.ads
+++ b/src/fltk-widgets-buttons.ads
@@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons is
type Button is new Widget with private;
+ type Button_Reference (Data : not null access Button'Class) is limited null record
+ with Implicit_Dereference => Data;
+
type State is (Off, On);
@@ -73,5 +76,18 @@ private
(This : in out Button);
+
+
+ pragma Inline (Get_State);
+ pragma Inline (Set_State);
+ pragma Inline (Set_Only);
+ pragma Inline (Get_Down_Box);
+ pragma Inline (Set_Down_Box);
+ pragma Inline (Get_Shortcut);
+ pragma Inline (Set_Shortcut);
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
end FLTK.Widgets.Buttons;