diff options
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> </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> </td> + <td>Button_Reference</td> + </tr> + + <tr> + <td> </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> </td> + </tr> + + <tr> +<td><pre> +void down_color(unsigned c); +</pre></td> +<td> </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> </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> </td> +<td><pre> +procedure Draw + (This : in out Check_Button); +</pre></td> + </tr> + + <tr> +<td> </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> </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> </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> </td> +<td><pre> +procedure Draw + (This : in out Radio_Button); +</pre></td> + </tr> + + <tr> +<td> </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> </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> </td> +<td><pre> +procedure Draw + (This : in out Radio_Light_Button); +</pre></td> + </tr> + + <tr> +<td> </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> </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> </td> +<td><pre> +procedure Draw + (This : in out Radio_Round_Button); +</pre></td> + </tr> + + <tr> +<td> </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> </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> </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> </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> </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> </td> +<td><pre> +procedure Draw + (This : in out Round_Button); +</pre></td> + </tr> + + <tr> +<td> </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> </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> </td> +<td><pre> +procedure Draw + (This : in out Toggle_Button); +</pre></td> + </tr> + + <tr> +<td> </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; |