diff options
author | Jed Barber <jjbarber@y7mail.com> | 2018-04-17 16:00:26 +1000 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2018-04-17 16:00:26 +1000 |
commit | 617353265e4dc4e0280b565f2cd9e7749ce52bfd (patch) | |
tree | b03cbfad780fb426ef42660ff6e112cdcaeda9f4 | |
parent | a4b6a06f372923fb38ae4d3c7e0429ce93ea7748 (diff) |
More polishing
69 files changed, 3177 insertions, 222 deletions
diff --git a/doc/blank_template.html b/doc/blank_template.html index 256c469..d624fee 100644 --- a/doc/blank_template.html +++ b/doc/blank_template.html @@ -18,8 +18,9 @@ <tr><th colspan="2">Package name</th></tr> <tr> - + </tr> + </table> @@ -28,7 +29,7 @@ <tr><th colspan="2">Types</th></tr> <tr> - + </tr> </table> diff --git a/doc/common_dialogs.html b/doc/common_dialogs.html new file mode 100644 index 0000000..0676bf8 --- /dev/null +++ b/doc/common_dialogs.html @@ -0,0 +1,263 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Common Dialogs Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Common Dialogs Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Ask</td> + <td>FLTK.Dialogs</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Beep</td> + <td>Beep_Kind</td> + </tr> + + <tr> + <td> </td> + <td>Choice</td> + </tr> + + <tr> + <td> </td> + <td>RGB_Float</td> + </tr> + + <tr> + <td> </td> + <td>RGB_Int</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +void fl_alert(const char *fmt,...); +</pre></td> +<td><pre> +procedure Alert + (Message : String); +</pre></td> + </tr> + + <tr> +<td><pre> +int fl_ask(const char *fmt,...); +</pre></td> +<td>Present but disabled due to fl_ask being deprecated</td> + </tr> + + <tr> +<td><pre> +void fl_beep(int type); +</pre></td> +<td><pre> +procedure Beep + (Kind : in Beep_Kind); +</pre></td> + </tr> + + <tr> +<td><pre> +int fl_choice(const char *fmt, const char *b0, const char *b1, const char *b2,...); +</pre></td> +<td><pre> +function Three_Way_Choice + (Message, Button1, Button2, Button3 : in String) + return Choice; +</pre></td> + </tr> + + <tr> +<td><pre> +int fl_color_chooser(const char *name, double &r, double &g, double &b, int cmode); +</pre></td> +<td><pre> +function Color_Chooser + (Title : in String; + R, G, B : in out RGB_Float; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) + return Boolean; +</pre></td> + </tr> + + <tr> +<td><pre> +int fl_color_chooser(const char *name, uchar &r, uchar &g, uchar &b, int cmode); +</pre></td> +<td><pre> +function Color_Chooser + (Title : in String; + R, G, B : in out RGB_Int; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) + return Boolean; +</pre></td> + </tr> + + <tr> +<td><pre> +char * fl_dir_chooser(const char *message, const char *fname, int relative); +</pre></td> +<td><pre> +function Dir_Chooser + (Message, Default : in String; + Relative : in Boolean := False) + return String; +</pre></td> + </tr> + + <tr> +<td><pre> +char * fl_file_chooser(const char *message, const char *pat, const char *fname, int relative); +</pre></td> +<td><pre> +function File_Chooser + (Message, Filter_Pattern, Default : in String; + Relative : in Boolean := False) + return String; +</pre></td> + </tr> + + <tr> +<td><pre> +void fl_file_chooser_callback(void(*cb)(const char *)); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +void fl_file_chooser_ok_label(const char *l); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +const char * fl_input(const char *fmt, const char *defstr,...); +</pre></td> +<td><pre> +function Text_Input + (Message : in String; + Default : in String := "") + return String; +</pre></td> + </tr> + + <tr> +<td><pre> +void fl_message(const char *fmt,...); +</pre></td> +<td><pre> +procedure Message_Box + (Message : in String); +</pre></td> + </tr> + + <tr> +<td><pre> +void fl_message_font(Fl_Font f, Fl_Fontsize s); +</pre></td> +<td><pre> +procedure Set_Message_Font + (Font : in Font_Kind; + Size : in Font_Size); +</pre></td> + </tr> + + <tr> +<td><pre> +void fl_message_hotspot(int enable); +</pre></td> +<td><pre> +procedure Set_Hotspot + (To : in Boolean); +</pre></td> + </tr> + + <tr> +<td><pre> +int fl_message_hotspot(void); +</pre></td> +<td><pre> +function Get_Hotspot + return Boolean; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Widget * fl_message_icon(); +</pre></td> +<td><pre> +function Get_Message_Icon + return FLTK.Widgets.Boxes.Box_Reference; +</pre></td> + </tr> + + <tr> +<td><pre> +void fl_message_title(const char *title); +</pre></td> +<td><pre> +procedure Set_Message_Title + (To : in String); +</pre></td> + </tr> + + <tr> +<td><pre> +void fl_message_title_default(const char *title); +</pre></td> +<td><pre> +procedure Set_Message_Title_Default + (To : in String); +</pre></td> + </tr> + + <tr> +<td><pre> +const char * fl_password(const char *fmt, const char *defstr,...); +</pre></td> +<td><pre> +function Password + (Message : in String; + Default : in String := "") + return String; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_clock.html b/doc/fl_clock.html new file mode 100644 index 0000000..5e37577 --- /dev/null +++ b/doc/fl_clock.html @@ -0,0 +1,107 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Clock Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Clock Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Clock</td> + <td>FLTK.Widgets.Clocks.Updated</td> + </tr> +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Clock</td> + <td>Updated_Clock</td> + </tr> + + <tr> + <td> </td> + <td>Updated_Clock_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Clock(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 Updated_Clock; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Clock(uchar t, int X, int Y, int W, int H, const char *L); +</pre></td> +<td><pre> +function Create + (Kind : in Box_Kind; + X, Y, W, H : in Integer; + Text : in String) + return Updated_Clock; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Updated_Clock); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +int handle(int); +</pre></td> +<td><pre> +function Handle + (This : in out Updated_Clock; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_clock_output.html b/doc/fl_clock_output.html new file mode 100644 index 0000000..92aaf37 --- /dev/null +++ b/doc/fl_clock_output.html @@ -0,0 +1,184 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Clock_Output Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Clock_Output Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Clock_Output</td> + <td>FLTK.Widgets.Clocks</td> + </tr> +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Clock_Output</td> + <td>Clock</td> + </tr> + + <tr> + <td> </td> + <td>Clock_Reference</td> + </tr> + + <tr> + <td> </td> + <td>Hour</td> + </tr> + + <tr> + <td> </td> + <td>Minute</td> + </tr> + + <tr> + <td> </td> + <td>Second</td> + </tr> + + <tr> + <td> </td> + <td>Time_Value</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Clock_Output(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 Clock; +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(); +</pre></td> +<td><pre> +procedure Draw + (This : in out Clock); +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(int X, int Y, int W, int H); +</pre></td> +<td><pre> +procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Clock; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +int hour() const; +</pre></td> +<td><pre> +function Get_Hour + (This : in Clock) + return Hour; +</pre></td> + </tr> + + <tr> +<td><pre> +int minute() const; +</pre></td> +<td><pre> +function Get_Minute + (This : in Clock) + return Minute; +</pre></td> + </tr> + + <tr> +<td><pre> +int second() const; +</pre></td> +<td><pre> +function Get_Second + (This : in Clock) + return Second; +</pre></td> + </tr> + + <tr> +<td><pre> +void value(ulong v); +</pre></td> +<td><pre> +procedure Set_Time + (This : in out Clock; + To : in Time_Value); +</pre></td> + </tr> + + <tr> +<td><pre> +void value(int H, int m, int s); +</pre></td> +<td><pre> +procedure Set_Time + (This : in out Clock; + Hours : in Hour; + Minutes : in Minute; + Seconds : in Second); +</pre></td> + </tr> + + <tr> +<td><pre> +ulong value() const; +</pre></td> +<td><pre> +function Get_Time + (This : in Clock) + return Time_Value; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_double_window.html b/doc/fl_double_window.html new file mode 100644 index 0000000..88656a4 --- /dev/null +++ b/doc/fl_double_window.html @@ -0,0 +1,139 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Double_Window Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Double_Window Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Double_Window</td> + <td>FLTK.Widgets.Groups.Windows.Double</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Double_Window</td> + <td>Double_Window</td> + </tr> + + <tr> + <td> </td> + <td>Double_Window_Reference</td> + <tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Double_Window(int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (W, H : in Integer) + return Double_Window; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Double_Window(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 Double_Window; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Double_Window); +</pre></td> + </tr> + + <tr> +<td><pre> +void flush(); +</pre></td> +<td><pre> +procedure Flush + (This : in out Double_Window); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Double_Window; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +void hide(); +</pre></td> +<td><pre> +procedure Hide + (This : in out Double_Window); +</pre></td> + </tr> + + <tr> +<td><pre> +void resize(int,int,int,int); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +void show(); +</pre></td> +<td><pre> +procedure Show + (This : in out Double_Window); +</pre></td> + </tr> + + <tr> +<td><pre> +void show(int a, char **b); +</pre></td> +<td> </td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_file_input.html b/doc/fl_file_input.html new file mode 100644 index 0000000..d98c29c --- /dev/null +++ b/doc/fl_file_input.html @@ -0,0 +1,155 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_File_Input Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_File_Input Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_File_Input</td> + <td>FLTK.Widgets.Inputs.File</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_File_Input</td> + <td>File_Input</td> + </tr> + + <tr> + <td> </td> + <td>File_Input_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_File_Input(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 File_Input; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Boxtype down_box() const; +</pre></td> +<td><pre> +function Get_Down_Box + (This : in File_Input) + 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 File_Input; + To : in Box_Kind); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void draw(); +</pre></td> +<td><pre> +procedure Draw + (This : in out File_Input); +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Color errorcolor() const; +</pre></td> +<td><pre> +function Get_Error_Color + (This : in File_Input) + return Color; +</pre></td> + </tr> + + <tr> +<td><pre> +void errorcolor(Fl_Color c); +</pre></td> +<td><pre> +procedure Set_Error_Color + (This : in out File_Input; + To : in Color); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual int handle(int event); +</pre></td> +<td><pre> +function Handle + (This : in out File_Input; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +int value(const char *str); +int value(const char *str, int len); +</pre></td> +<td><pre> +procedure Set_Value + (This : in out Input; + To : in String); +</pre></td> + </tr> + + <tr> +<td><pre> +const char * value(); +</pre></td> +<td><pre> +function Get_Value + (This : in Input) + return String; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_float_input.html b/doc/fl_float_input.html new file mode 100644 index 0000000..04afafe --- /dev/null +++ b/doc/fl_float_input.html @@ -0,0 +1,93 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Float_Input Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Float_Input Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Float_Input</td> + <td>FLTK.Widgets.Inputs.Float</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Float_Input</td> + <td>Float_Input</td> + </tr> + + <tr> + <td> </td> + <td>Float_Input_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Float_Input(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 Float_Input; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Float_Input); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Get_Value + (This : in Float_Input) + return Standard.Float; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Float_Input; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_input.html b/doc/fl_input.html new file mode 100644 index 0000000..f93b4c8 --- /dev/null +++ b/doc/fl_input.html @@ -0,0 +1,545 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Input Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Input Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Input_<br>Fl_Input</td> + <td>FLTK.Widgets.Inputs</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Input_<br>Fl_Input</td> + <td>Input</td> + </tr> + + <tr> + <td> </td> + <td>Input_Reference</td> + </tr> + + <tr> + <td> </td> + <td>Input_Kind</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Input_(int, int, int, int, const char*=0); +Fl_Input(int, int, int, int, const char*=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Input; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Has_Changed + (This : in Input) + return Boolean; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Clear_Changed + (This : in out Input); +</pre></td> + </tr> + + <tr> +<td><pre> +int copy(int clipboard); +</pre></td> +<td><pre> +procedure Copy + (This : in out Input); +</pre></td> + </tr> + + <tr> +<td><pre> +int copy_cuts(); +</pre></td> +<td><pre> +procedure Copy_Cuts + (This : in out Input); +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Color cursor_color() const; +</pre></td> +<td><pre> +function Get_Cursor_Color + (This : in Input) + return Color; +</pre></td> + </tr> + + <tr> +<td><pre> +void cursor_color(Fl_Color n); +</pre></td> +<td><pre> +procedure Set_Cursor_Color + (This : in out Input; + To : in Color); +</pre></td> + </tr> + + <tr> +<td><pre> +int cut(); +</pre></td> +<td><pre> +procedure Cut + (This : in out Input); +</pre></td> + </tr> + + <tr> +<td><pre> +int cut(int n); +</pre></td> +<td><pre> +procedure Cut + (This : in out Input; + Num_Bytes : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +int cut(int a, int b); +</pre></td> +<td><pre> +procedure Cut + (This : in out Input; + Start, Finish : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(); +</pre></td> +<td><pre> +procedure Draw + (This : in out Input); +</pre></td> + </tr> + + <tr> +<td><pre> +int handle(int); +</pre></td> +<td><pre> +function Handle + (This : in out Input; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Char index(int i) const; +</pre></td> +<td><pre> +function Index + (This : in Input; + Place : in Integer) + return Character; +</pre></td> + </tr> + + <tr> +<td><pre> +int input_type() const; +</pre></td> +<td><pre> +function Get_Input_Type + (This : in Input) + return Input_Kind; +</pre></td> + </tr> + + <tr> +<td><pre> +void input_type(int t); +</pre></td> +<td><pre> +procedure Set_Input_Type + (This : in out Input; + To : in Input_Kind); +</pre></td> + </tr> + + <tr> +<td><pre> +int insert(const char *t, int l=0); +</pre></td> +<td><pre> +procedure Insert + (This : in out Input; + Str : in String); +</pre></td> + </tr> + + <tr> +<td><pre> +int mark() const; +</pre></td> +<td><pre> +function Get_Mark + (This : in Input) + return Natural; +</pre></td> + </tr> + + <tr> +<td><pre> +int mark(int m); +</pre></td> +<td><pre> +procedure Set_Mark + (This : in out Input; + To : in Natural); +</pre></td> + </tr> + + <tr> +<td><pre> +int maximum_size() const; +</pre></td> +<td><pre> +function Get_Maximum_Size + (This : in Input) + return Natural; +</pre></td> + </tr> + + <tr> +<td><pre> +void maximum_size(int m); +</pre></td> +<td><pre> +procedure Set_Maximum_Size + (This : in out Input; + To : in Natural); +</pre></td> + </tr> + + <tr> +<td><pre> +int position() const; +</pre></td> +<td><pre> +function Get_Position + (This : in Input) + return Natural; +</pre></td> + </tr> + + <tr> +<td><pre> +int position(int p, int m); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +int position(int p); +</pre></td> +<td><pre> +procedure Set_Position + (This : in out Input; + To : in Natural); +</pre></td> + </tr> + + <tr> +<td><pre> +int readonly() const; +</pre></td> +<td><pre> +function Is_Readonly + (This : in Input) + return Boolean; +</pre></td> + </tr> + + <tr> +<td><pre> +void readonly(int b); +</pre></td> +<td><pre> +procedure Set_Readonly + (This : in out Input; + To : in Boolean); +</pre></td> + </tr> + + <tr> +<td><pre> +int replace(int b, int e, const char *text, int ilen=0); +</pre></td> +<td><pre> +procedure Replace + (This : in out Input; + From, To : in Natural; + New_Text : in String); +</pre></td> + </tr> + + <tr> +<td><pre> +void resize(int, int, int, int); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +int shortcut() const; +</pre></td> +<td><pre> +function Get_Shortcut_Key + (This : in Input) + return Shortcut_Key; +</pre></td> + </tr> + + <tr> +<td><pre> +void shortcut(int s); +</pre></td> +<td><pre> +procedure Set_Shortcut_Key + (This : in out Input; + To : in Shortcut_Key); +</pre></td> + </tr> + + <tr> +<td><pre> +int size() const; +</pre></td> +<td><pre> +function Size + (This : in Input) + return Natural; +</pre></td> + </tr> + + <tr> +<td><pre> +void size(int W, int H); +</pre></td> +<td><pre> +procedure Resize + (This : in out Input; + W, H : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +int static_value(const char *); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +int static_value(const char *, int); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +void tab_nav(int val); +</pre></td> +<td><pre> +procedure Set_Tab_Nav + (This : in out Input; + To : in Boolean); +</pre></td> + </tr> + + <tr> +<td><pre> +int tab_nav() const; +</pre></td> +<td><pre> +function Is_Tab_Nav + (This : in Input) + return Boolean; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Color textcolor() const; +</pre></td> +<td><pre> +function Get_Text_Color + (This : in Input) + return Color; +</pre></td> + </tr> + + <tr> +<td><pre> +void textcolor(Fl_Color n); +</pre></td> +<td><pre> +procedure Set_Text_Color + (This : in out Input; + To : in Color); +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Font textfont() const; +</pre></td> +<td><pre> +function Get_Text_Font + (This : in Input) + return Font_Kind; +</pre></td> + </tr> + + <tr> +<td><pre> +void textfont(Fl_Font s); +</pre></td> +<td><pre> +procedure Set_Text_Font + (This : in out Input; + To : in Font_Kind); +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Fontsize textsize() const; +</pre></td> +<td><pre> +function Get_Text_Size + (This : in Input) + return Font_Size; +</pre></td> + </tr> + + <tr> +<td><pre> +void textsize(Fl_Fontsize s); +</pre></td> +<td><pre> +procedure Set_Text_Size + (This : in out Input; + To : in Font_Size); +</pre></td> + </tr> + + <tr> +<td><pre> +int undo(); +</pre></td> +<td><pre> +procedure Undo + (This : in out Input); +</pre></td> + </tr> + + <tr> +<td><pre> +int value(const char *); +int value(const char *, int); +</pre></td> +<td><pre> +procedure Set_Value + (This : in out Input; + To : in String); +</pre></td> + </tr> + + <tr> +<td><pre> +const char * value() const; +</pre></td> +<td><pre> +function Get_Value + (This : in Input) + return String; +</pre></td> + </tr> + + <tr> +<td><pre> +int wrap() const; +</pre></td> +<td><pre> +function Is_Wrap + (This : in Input) + return Boolean; +</pre></td> + </tr> + + <tr> +<td><pre> +void wrap(int b); +</pre></td> +<td><pre> +procedure Set_Wrap + (This : in out Input; + To : in Boolean); +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_int_input.html b/doc/fl_int_input.html new file mode 100644 index 0000000..5acce80 --- /dev/null +++ b/doc/fl_int_input.html @@ -0,0 +1,93 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Int_Input Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Int_Input Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Int_Input</td> + <td>FLTK.Widgets.Inputs.Integer</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Int_Input</td> + <td>Integer_Input</td> + </tr> + + <tr> + <td> </td> + <td>Integer_Input_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Int_Input(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 Integer_Input; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Integer_Input); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Get_Value + (This : in Integer_Input) + return Standard.Integer; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Integer_Input; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_menu_window.html b/doc/fl_menu_window.html new file mode 100644 index 0000000..74ca9b7 --- /dev/null +++ b/doc/fl_menu_window.html @@ -0,0 +1,161 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Menu_Window Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Menu_Window Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Menu_Window</td> + <td>FLTK.Widgets.Groups.Windows.Single.Menu</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Menu_Window</td> + <td>Menu_Window</td> + </tr> + + <tr> + <td> </td> + <td>Menu_Window_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Menu_Window(int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (W, H : in Integer) + return Menu_Window; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Menu_Window(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 Menu_Window; +</pre></td> + </tr> + + <tr> +<td><pre> +void clear_overlay(); +</pre></td> +<td>See set_overlay();</td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Menu_Window); +</pre></td> + </tr> + + <tr> +<td><pre> +void erase(); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +void flush(); +</pre></td> +<td><pre> +procedure Flush + (This : in out Menu_Window); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Menu_Window; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +void hide(); +</pre></td> +<td><pre> +procedure Hide + (This : in out Menu_Window); +</pre></td> + </tr> + + <tr> +<td><pre> +unsigned int overlay(); +</pre></td> +<td><pre> +function Is_Overlay + (This : in Menu_Window) + return Boolean; +</pre></td> + </tr> + + <tr> +<td><pre> +void set_overlay(); +</pre></td> +<td><pre> +procedure Set_Overlay + (This : in out Menu_Window; + Value : in Boolean); +</pre></td> + </tr> + + <tr> +<td><pre> +void show(); +</pre></td> +<td><pre> +procedure Show + (This : in out Menu_Window); +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_multiline_input.html b/doc/fl_multiline_input.html new file mode 100644 index 0000000..54d8ce0 --- /dev/null +++ b/doc/fl_multiline_input.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Multiline_Input Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Multiline_Input Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Multiline_Input</td> + <td>FLTK.Widgets.Inputs.Multiline</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Multiline_Input</td> + <td>Multiline_Input</td> + </tr> + + <tr> + <td> </td> + <td>Multiline_Input_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Multiline_Input(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 Multiline_Input; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Multiline_Input); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Multiline_Input; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_multiline_output.html b/doc/fl_multiline_output.html new file mode 100644 index 0000000..982c48d --- /dev/null +++ b/doc/fl_multiline_output.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Multiline_Output Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Multiline_Output Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Multiline_Output</td> + <td>FLTK.Widgets.Inputs.Outputs.Multiline</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_MultilineOutput</td> + <td>Multiline_Output</td> + </tr> + + <tr> + <td> </td> + <td>Multiline_Output_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Multiline_Output(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 Multiline_Output; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Multiline_Output); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Multiline_Output; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_output.html b/doc/fl_output.html new file mode 100644 index 0000000..a8b7502 --- /dev/null +++ b/doc/fl_output.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Output Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Output Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Output</td> + <td>FLTK.Widgets.Inputs.Outputs</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Output</td> + <td>Output</td> + </tr> + + <tr> + <td> </td> + <td>Output_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Output(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 Output; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Output); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Output; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_round_clock.html b/doc/fl_round_clock.html new file mode 100644 index 0000000..9049459 --- /dev/null +++ b/doc/fl_round_clock.html @@ -0,0 +1,93 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Round_Clock Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Round_Clock Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Round_Clock</td> + <td>FLTK.Widgets.Clocks.Updated.Round</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Round_Clock</td> + <td>Round_Clock</td> + </tr> + + <tr> + <td> </td> + <td>Round_Clock_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Round_Clock(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_Clock; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Round_Clock); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Round_Clock; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_secret_input.html b/doc/fl_secret_input.html new file mode 100644 index 0000000..43e5226 --- /dev/null +++ b/doc/fl_secret_input.html @@ -0,0 +1,86 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Secret_Input Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Secret_Input Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Secret_Input</td> + <td>FLTK.Widgets.Inputs.Secret</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Secret_Input</td> + <td>Secret_Input</td> + </tr> + + <tr> + <td> </td> + <td>Secret_Input_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Secret_Input(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 Secret_Input; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Secret_Input); +</pre></td> + </tr> + + <tr> +<td><pre> +int handle(int); +</pre></td> +<td><pre> +function Handle + (This : in out Secret_Input; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_single_window.html b/doc/fl_single_window.html new file mode 100644 index 0000000..4044d5c --- /dev/null +++ b/doc/fl_single_window.html @@ -0,0 +1,129 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Single_Window Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Single_Window Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Single_Window</td> + <td>FLTK.Widgets.Groups.Windows.Single</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Single_Window</td> + <td>Single_Window</td> + </tr> + + <tr> + <td> </td> + <td>Single_Window_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Single_Window(int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (W, H : in Integer) + return Single_Window; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Single_Window(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 Single_Window; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Single_Window); +</pre></td> + </tr> + + <tr> +<td><pre> +void flush(); +</pre></td> +<td><pre> +procedure Flush + (This : in out Single_Window); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Single_Window; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +int make_current(); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +void show(); +</pre></td> +<td><pre> +procedure Show + (This : in out Single_Window); +</pre></td> + </tr> + + <tr> +<td><pre> +void show(int a, char **b); +</pre></td> +<td> </td> + </tr> + +</table> + + + </body> +</html> + diff --git a/progress.txt b/progress.txt index b65afdb..7724f4c 100644 --- a/progress.txt +++ b/progress.txt @@ -12,6 +12,7 @@ Overall estimate: ???% Polished: +FLTK.Dialogs FLTK.Tooltips FLTK.Widgets.Boxes FLTK.Widgets.Buttons @@ -24,6 +25,20 @@ FLTK.Widgets.Buttons.Light.Round.Radio FLTK.Widgets.Buttons.Radio FLTK.Widgets.Buttons.Repeat FLTK.Widgets.Buttons.Toggle +FLTK.Widgets.Clocks +FLTK.Widgets.Clocks.Updated +FLTK.Widgets.Clocks.Updated.Round +FLTK.Widgets.Groups.Windows.Double +FLTK.Widgets.Groups.Windows.Single +FLTK.Widgets.Groups.Windows.Single.Menu +FLTK.Widgets.Inputs +FLTK.Widgets.Inputs.File +FLTK.Widgets.Inputs.Float +FLTK.Widgets.Inputs.Integer +FLTK.Widgets.Inputs.Multiline +FLTK.Widgets.Inputs.Outputs +FLTK.Widgets.Inputs.Outputs.Multiline +FLTK.Widgets.Inputs.Secret @@ -35,7 +50,6 @@ FLTK.Devices.Surfaces.Copy FLTK.Devices.Surfaces.Image FLTK.Devices.Surfaces.Paged FLTK.Devices.Surfaces.Paged.Printers -FLTK.Dialogs FLTK.Images FLTK.Images.Bitmaps FLTK.Images.Bitmaps.XBM @@ -46,9 +60,6 @@ FLTK.Images.RGB.PNG FLTK.Images.RGB.PNM FLTK.Images.Shared FLTK.Widgets.Charts -FLTK.Widgets.Clocks -FLTK.Widgets.Clocks.Updated -FLTK.Widgets.Clocks.Updated.Round FLTK.Widgets.Groups.Color_Choosers FLTK.Widgets.Groups.Input_Choices FLTK.Widgets.Groups.Packed @@ -57,18 +68,7 @@ FLTK.Widgets.Groups.Spinners FLTK.Widgets.Groups.Tabbed FLTK.Widgets.Groups.Text_Displays.Text_Editors FLTK.Widgets.Groups.Tiled -FLTK.Widgets.Groups.Windows.Double -FLTK.Widgets.Groups.Windows.Single -FLTK.Widgets.Groups.Windows.Single.Menu FLTK.Widgets.Groups.Wizards -FLTK.Widgets.Inputs -FLTK.Widgets.Inputs.File -FLTK.Widgets.Inputs.Float -FLTK.Widgets.Inputs.Integer -FLTK.Widgets.Inputs.Multiline -FLTK.Widgets.Inputs.Outputs -FLTK.Widgets.Inputs.Outputs.Multiline -FLTK.Widgets.Inputs.Secret FLTK.Widgets.Menus.Menu_Bars FLTK.Widgets.Menus.Menu_Buttons FLTK.Widgets.Progress_Bars @@ -141,13 +141,17 @@ FL_Cairo_Window - 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? 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 +(delay this until figure out an easier way to expose protected methods) + +- make all protected methods available + + Bugs to fix: diff --git a/src/c_fl_clock.cpp b/src/c_fl_clock.cpp index 89b19bc..10a8ad7 100644 --- a/src/c_fl_clock.cpp +++ b/src/c_fl_clock.cpp @@ -14,6 +14,7 @@ class My_Clock : public Fl_Clock { friend void fl_clock_draw(CLOCK c); friend void clock_set_handle_hook(CLOCK c, void * h); friend int fl_clock_handle(CLOCK c, int e); + friend void fl_clock_draw2(CLOCK c, int x, int y, int w, int h); protected: void draw(); void real_draw(); @@ -63,8 +64,20 @@ CLOCK new_fl_clock(int x, int y, int w, int h, char* label) { return c; } +CLOCK new_fl_clock2(uchar k, int x, int y, int w, int h, char* label) { + My_Clock *c = new My_Clock(k,x,y,w,h,label); + return c; +} + void free_fl_clock(CLOCK c) { delete reinterpret_cast<My_Clock*>(c); } + + +void fl_clock_draw2(CLOCK c, int x, int y, int w, int h) { + reinterpret_cast<My_Clock*>(c)->Fl_Clock::draw(x,y,w,h); +} + + diff --git a/src/c_fl_clock.h b/src/c_fl_clock.h index 844f428..26255b0 100644 --- a/src/c_fl_clock.h +++ b/src/c_fl_clock.h @@ -11,16 +11,22 @@ typedef void* CLOCK; -extern "C" void clock_set_draw_hook(CLOCK c, void * d); -extern "C" void fl_clock_draw(CLOCK c); -extern "C" void clock_set_handle_hook(CLOCK c, void * h); -extern "C" int fl_clock_handle(CLOCK c, int e); +extern "C" inline void clock_set_draw_hook(CLOCK c, void * d); +extern "C" inline void fl_clock_draw(CLOCK c); +extern "C" inline void clock_set_handle_hook(CLOCK c, void * h); +extern "C" inline int fl_clock_handle(CLOCK c, int e); -extern "C" CLOCK new_fl_clock(int x, int y, int w, int h, char* label); -extern "C" void free_fl_clock(CLOCK c); +extern "C" inline CLOCK new_fl_clock(int x, int y, int w, int h, char* label); +extern "C" inline CLOCK new_fl_clock2(uchar k, int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_clock(CLOCK c); + + + + +extern "C" inline void fl_clock_draw2(CLOCK c, int x, int y, int w, int h); #endif diff --git a/src/c_fl_clock_output.cpp b/src/c_fl_clock_output.cpp index 62f5e1b..b427068 100644 --- a/src/c_fl_clock_output.cpp +++ b/src/c_fl_clock_output.cpp @@ -14,6 +14,7 @@ class My_Clock_Output : public Fl_Clock_Output { friend void fl_clock_output_draw(CLOCK_OUTPUT c); friend void clock_output_set_handle_hook(CLOCK_OUTPUT c, void * h); friend int fl_clock_output_handle(CLOCK_OUTPUT c, int e); + friend void fl_clock_output_draw2(CLOCK_OUTPUT c, int x, int y, int w, int h); protected: void draw(); void real_draw(); @@ -71,27 +72,35 @@ void free_fl_clock_output(CLOCK_OUTPUT c) { int fl_clock_output_get_hour(CLOCK_OUTPUT c) { - return reinterpret_cast<My_Clock_Output*>(c)->hour(); + return reinterpret_cast<Fl_Clock_Output*>(c)->Fl_Clock_Output::hour(); } int fl_clock_output_get_minute(CLOCK_OUTPUT c) { - return reinterpret_cast<My_Clock_Output*>(c)->minute(); + return reinterpret_cast<Fl_Clock_Output*>(c)->Fl_Clock_Output::minute(); } int fl_clock_output_get_second(CLOCK_OUTPUT c) { - return reinterpret_cast<My_Clock_Output*>(c)->second(); + return reinterpret_cast<Fl_Clock_Output*>(c)->Fl_Clock_Output::second(); } ulong fl_clock_output_get_value(CLOCK_OUTPUT c) { - return reinterpret_cast<My_Clock_Output*>(c)->value(); + return reinterpret_cast<Fl_Clock_Output*>(c)->Fl_Clock_Output::value(); } void fl_clock_output_set_value(CLOCK_OUTPUT c, ulong v) { - reinterpret_cast<My_Clock_Output*>(c)->value(v); + reinterpret_cast<Fl_Clock_Output*>(c)->Fl_Clock_Output::value(v); } void fl_clock_output_set_value2(CLOCK_OUTPUT c, int h, int m, int s) { - reinterpret_cast<My_Clock_Output*>(c)->value(h,m,s); + reinterpret_cast<Fl_Clock_Output*>(c)->Fl_Clock_Output::value(h,m,s); } + + + +void fl_clock_output_draw2(CLOCK_OUTPUT c, int x, int y, int w, int h) { + reinterpret_cast<My_Clock_Output*>(c)->Fl_Clock_Output::draw(x,y,w,h); +} + + diff --git a/src/c_fl_clock_output.h b/src/c_fl_clock_output.h index 6a606a5..bb3b11f 100644 --- a/src/c_fl_clock_output.h +++ b/src/c_fl_clock_output.h @@ -11,28 +11,31 @@ typedef void* CLOCK_OUTPUT; -extern "C" void clock_output_set_draw_hook(CLOCK_OUTPUT c, void * d); -extern "C" void fl_clock_output_draw(CLOCK_OUTPUT c); -extern "C" void clock_output_set_handle_hook(CLOCK_OUTPUT c, void * h); -extern "C" int fl_clock_output_handle(CLOCK_OUTPUT c, int e); +extern "C" inline void clock_output_set_draw_hook(CLOCK_OUTPUT c, void * d); +extern "C" inline void fl_clock_output_draw(CLOCK_OUTPUT c); +extern "C" inline void clock_output_set_handle_hook(CLOCK_OUTPUT c, void * h); +extern "C" inline int fl_clock_output_handle(CLOCK_OUTPUT c, int e); -extern "C" CLOCK_OUTPUT new_fl_clock_output(int x, int y, int w, int h, char* label); -extern "C" void free_fl_clock_output(CLOCK_OUTPUT c); +extern "C" inline CLOCK_OUTPUT new_fl_clock_output(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_clock_output(CLOCK_OUTPUT c); -extern "C" int fl_clock_output_get_hour(CLOCK_OUTPUT c); -extern "C" int fl_clock_output_get_minute(CLOCK_OUTPUT c); -extern "C" int fl_clock_output_get_second(CLOCK_OUTPUT c); +extern "C" inline int fl_clock_output_get_hour(CLOCK_OUTPUT c); +extern "C" inline int fl_clock_output_get_minute(CLOCK_OUTPUT c); +extern "C" inline int fl_clock_output_get_second(CLOCK_OUTPUT c); -extern "C" ulong fl_clock_output_get_value(CLOCK_OUTPUT c); -extern "C" void fl_clock_output_set_value(CLOCK_OUTPUT c, ulong v); -extern "C" void fl_clock_output_set_value2(CLOCK_OUTPUT c, int h, int m, int s); +extern "C" inline ulong fl_clock_output_get_value(CLOCK_OUTPUT c); +extern "C" inline void fl_clock_output_set_value(CLOCK_OUTPUT c, ulong v); +extern "C" inline void fl_clock_output_set_value2(CLOCK_OUTPUT c, int h, int m, int s); + + +extern "C" inline void fl_clock_output_draw2(CLOCK_OUTPUT c, int x, int y, int w, int h); #endif diff --git a/src/c_fl_dialog.cpp b/src/c_fl_dialog.cpp index b73c05c..1929859 100644 --- a/src/c_fl_dialog.cpp +++ b/src/c_fl_dialog.cpp @@ -41,6 +41,10 @@ int dialog_fl_color_chooser(const char * n, double & r, double & g, double & b, return fl_color_chooser(n, r, g, b, m); } +int dialog_fl_color_chooser2(const char * n, uchar & r, uchar & g, uchar & b, int m) { + return fl_color_chooser(n, r, g, b, m); +} + char * dialog_fl_dir_chooser(const char * m, const char * d, int r) { return fl_dir_chooser(m, d, r); } diff --git a/src/c_fl_dialog.h b/src/c_fl_dialog.h index b366d2c..21765aa 100644 --- a/src/c_fl_dialog.h +++ b/src/c_fl_dialog.h @@ -4,26 +4,27 @@ #define FL_DIALOG_GUARD -extern "C" void dialog_fl_alert(const char * m); -//extern "C" int dialog_fl_ask(const char * m); -extern "C" void dialog_fl_beep(int b); -extern "C" int dialog_fl_choice(const char * m, const char * a, const char * b, const char * c); -extern "C" const char * dialog_fl_input(const char * m, const char * d); -extern "C" void dialog_fl_message(const char * m); -extern "C" const char * dialog_fl_password(const char * m, const char * d); - - -extern "C" int dialog_fl_color_chooser(const char * n, double & r, double & g, double & b, int m); -extern "C" char * dialog_fl_dir_chooser(const char * m, const char * d, int r); -extern "C" char * dialog_fl_file_chooser(const char * m, const char * p, const char * d, int r); - - -extern "C" int dialog_fl_get_message_hotspot(void); -extern "C" void dialog_fl_set_message_hotspot(int v); -extern "C" void dialog_fl_message_font(int f, int s); -extern "C" void * dialog_fl_message_icon(void); -extern "C" void dialog_fl_message_title(const char * t); -extern "C" void dialog_fl_message_title_default(const char * t); +extern "C" inline void dialog_fl_alert(const char * m); +//extern "C" inline int dialog_fl_ask(const char * m); +extern "C" inline void dialog_fl_beep(int b); +extern "C" inline int dialog_fl_choice(const char * m, const char * a, const char * b, const char * c); +extern "C" inline const char * dialog_fl_input(const char * m, const char * d); +extern "C" inline void dialog_fl_message(const char * m); +extern "C" inline const char * dialog_fl_password(const char * m, const char * d); + + +extern "C" inline int dialog_fl_color_chooser(const char * n, double & r, double & g, double & b, int m); +extern "C" inline int dialog_fl_color_chooser2(const char * n, uchar & r, uchar & g, uchar & b, int m); +extern "C" inline char * dialog_fl_dir_chooser(const char * m, const char * d, int r); +extern "C" inline char * dialog_fl_file_chooser(const char * m, const char * p, const char * d, int r); + + +extern "C" inline int dialog_fl_get_message_hotspot(void); +extern "C" inline void dialog_fl_set_message_hotspot(int v); +extern "C" inline void dialog_fl_message_font(int f, int s); +extern "C" inline void * dialog_fl_message_icon(void); +extern "C" inline void dialog_fl_message_title(const char * t); +extern "C" inline void dialog_fl_message_title_default(const char * t); #endif diff --git a/src/c_fl_double_window.h b/src/c_fl_double_window.h index 96b6a1d..8334058 100644 --- a/src/c_fl_double_window.h +++ b/src/c_fl_double_window.h @@ -11,24 +11,24 @@ typedef void* DOUBLEWINDOW; -extern "C" void double_window_set_draw_hook(DOUBLEWINDOW n, void * d); -extern "C" void fl_double_window_draw(DOUBLEWINDOW n); -extern "C" void double_window_set_handle_hook(DOUBLEWINDOW n, void * h); -extern "C" int fl_double_window_handle(DOUBLEWINDOW n, int e); +extern "C" inline void double_window_set_draw_hook(DOUBLEWINDOW n, void * d); +extern "C" inline void fl_double_window_draw(DOUBLEWINDOW n); +extern "C" inline void double_window_set_handle_hook(DOUBLEWINDOW n, void * h); +extern "C" inline int fl_double_window_handle(DOUBLEWINDOW n, int e); -extern "C" DOUBLEWINDOW new_fl_double_window(int x, int y, int w, int h, char* label); -extern "C" DOUBLEWINDOW new_fl_double_window2(int w, int h); -extern "C" void free_fl_double_window(DOUBLEWINDOW d); +extern "C" inline DOUBLEWINDOW new_fl_double_window(int x, int y, int w, int h, char* label); +extern "C" inline DOUBLEWINDOW new_fl_double_window2(int w, int h); +extern "C" inline void free_fl_double_window(DOUBLEWINDOW d); -extern "C" void fl_double_window_show(DOUBLEWINDOW d); -extern "C" void fl_double_window_hide(DOUBLEWINDOW d); -extern "C" void fl_double_window_flush(DOUBLEWINDOW d); +extern "C" inline void fl_double_window_show(DOUBLEWINDOW d); +extern "C" inline void fl_double_window_hide(DOUBLEWINDOW d); +extern "C" inline void fl_double_window_flush(DOUBLEWINDOW d); #endif diff --git a/src/c_fl_file_input.cpp b/src/c_fl_file_input.cpp index 50b600f..f4fcc4f 100644 --- a/src/c_fl_file_input.cpp +++ b/src/c_fl_file_input.cpp @@ -87,3 +87,14 @@ void fl_file_input_set_errorcolor(FILE_INPUT i, unsigned int t) { } + + +const char * fl_file_input_get_value(FILE_INPUT i) { + return reinterpret_cast<Fl_File_Input*>(i)->value(); +} + +void fl_file_input_set_value(FILE_INPUT i, const char * s, int len) { + reinterpret_cast<Fl_File_Input*>(i)->value(s,len); +} + + diff --git a/src/c_fl_file_input.h b/src/c_fl_file_input.h index 18d977e..f86fb3f 100644 --- a/src/c_fl_file_input.h +++ b/src/c_fl_file_input.h @@ -11,24 +11,28 @@ typedef void* FILE_INPUT; -extern "C" void file_input_set_draw_hook(FILE_INPUT i, void * d); -extern "C" void fl_file_input_draw(FILE_INPUT i); -extern "C" void file_input_set_handle_hook(FILE_INPUT i, void * h); -extern "C" int fl_file_input_handle(FILE_INPUT i, int e); +extern "C" inline void file_input_set_draw_hook(FILE_INPUT i, void * d); +extern "C" inline void fl_file_input_draw(FILE_INPUT i); +extern "C" inline void file_input_set_handle_hook(FILE_INPUT i, void * h); +extern "C" inline int fl_file_input_handle(FILE_INPUT i, int e); -extern "C" FILE_INPUT new_fl_file_input(int x, int y, int w, int h, char* label); -extern "C" void free_fl_file_input(FILE_INPUT i); +extern "C" inline FILE_INPUT new_fl_file_input(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_file_input(FILE_INPUT i); -extern "C" int fl_file_input_get_down_box(FILE_INPUT i); -extern "C" void fl_file_input_set_down_box(FILE_INPUT i, int t); -extern "C" unsigned int fl_file_input_get_errorcolor(FILE_INPUT i); -extern "C" void fl_file_input_set_errorcolor(FILE_INPUT i, unsigned int t); +extern "C" inline int fl_file_input_get_down_box(FILE_INPUT i); +extern "C" inline void fl_file_input_set_down_box(FILE_INPUT i, int t); +extern "C" inline unsigned int fl_file_input_get_errorcolor(FILE_INPUT i); +extern "C" inline void fl_file_input_set_errorcolor(FILE_INPUT i, unsigned int t); + + +extern "C" inline const char * fl_file_input_get_value(FILE_INPUT i); +extern "C" inline void fl_file_input_set_value(FILE_INPUT i, const char * s, int len); #endif diff --git a/src/c_fl_float_input.h b/src/c_fl_float_input.h index a49d0f7..5b97446 100644 --- a/src/c_fl_float_input.h +++ b/src/c_fl_float_input.h @@ -11,16 +11,16 @@ typedef void* FLOAT_INPUT; -extern "C" void float_input_set_draw_hook(FLOAT_INPUT i, void * d); -extern "C" void fl_float_input_draw(FLOAT_INPUT i); -extern "C" void float_input_set_handle_hook(FLOAT_INPUT i, void * h); -extern "C" int fl_float_input_handle(FLOAT_INPUT i, int e); +extern "C" inline void float_input_set_draw_hook(FLOAT_INPUT i, void * d); +extern "C" inline void fl_float_input_draw(FLOAT_INPUT i); +extern "C" inline void float_input_set_handle_hook(FLOAT_INPUT i, void * h); +extern "C" inline int fl_float_input_handle(FLOAT_INPUT i, int e); -extern "C" FLOAT_INPUT new_fl_float_input(int x, int y, int w, int h, char* label); -extern "C" void free_fl_float_input(FLOAT_INPUT i); +extern "C" inline FLOAT_INPUT new_fl_float_input(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_float_input(FLOAT_INPUT i); #endif diff --git a/src/c_fl_input.h b/src/c_fl_input.h index 38bfc7e..23bee96 100644 --- a/src/c_fl_input.h +++ b/src/c_fl_input.h @@ -11,69 +11,69 @@ typedef void* INPUT; -extern "C" void input_set_draw_hook(INPUT n, void * d); -extern "C" void fl_input_draw(INPUT n); -extern "C" void input_set_handle_hook(INPUT i, void * h); -extern "C" int fl_input_handle(INPUT i, int e); +extern "C" inline void input_set_draw_hook(INPUT n, void * d); +extern "C" inline void fl_input_draw(INPUT n); +extern "C" inline void input_set_handle_hook(INPUT i, void * h); +extern "C" inline int fl_input_handle(INPUT i, int e); -extern "C" INPUT new_fl_input(int x, int y, int w, int h, char* label); -extern "C" void free_fl_input(INPUT i); +extern "C" inline INPUT new_fl_input(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_input(INPUT i); -extern "C" int fl_input_copy(INPUT i); -extern "C" int fl_input_cut(INPUT i); -extern "C" int fl_input_cut2(INPUT i, int b); -extern "C" int fl_input_cut3(INPUT i, int a, int b); -extern "C" int fl_input_copy_cuts(INPUT i); -extern "C" int fl_input_undo(INPUT i); +extern "C" inline int fl_input_copy(INPUT i); +extern "C" inline int fl_input_cut(INPUT i); +extern "C" inline int fl_input_cut2(INPUT i, int b); +extern "C" inline int fl_input_cut3(INPUT i, int a, int b); +extern "C" inline int fl_input_copy_cuts(INPUT i); +extern "C" inline int fl_input_undo(INPUT i); -extern "C" int fl_input_get_readonly(INPUT i); -extern "C" void fl_input_set_readonly(INPUT i, int t); -extern "C" int fl_input_get_tab_nav(INPUT i); -extern "C" void fl_input_set_tab_nav(INPUT i, int t); -extern "C" int fl_input_get_wrap(INPUT i); -extern "C" void fl_input_set_wrap(INPUT i, int t); +extern "C" inline int fl_input_get_readonly(INPUT i); +extern "C" inline void fl_input_set_readonly(INPUT i, int t); +extern "C" inline int fl_input_get_tab_nav(INPUT i); +extern "C" inline void fl_input_set_tab_nav(INPUT i, int t); +extern "C" inline int fl_input_get_wrap(INPUT i); +extern "C" inline void fl_input_set_wrap(INPUT i, int t); -extern "C" int fl_input_get_input_type(INPUT i); -extern "C" void fl_input_set_input_type(INPUT i, int t); -extern "C" unsigned long fl_input_get_shortcut(INPUT i); -extern "C" void fl_input_set_shortcut(INPUT i, unsigned long t); -extern "C" int fl_input_get_mark(INPUT i); -extern "C" int fl_input_set_mark(INPUT i, int t); -extern "C" int fl_input_get_position(INPUT i); -extern "C" int fl_input_set_position(INPUT i, int t); +extern "C" inline int fl_input_get_input_type(INPUT i); +extern "C" inline void fl_input_set_input_type(INPUT i, int t); +extern "C" inline unsigned long fl_input_get_shortcut(INPUT i); +extern "C" inline void fl_input_set_shortcut(INPUT i, unsigned long t); +extern "C" inline int fl_input_get_mark(INPUT i); +extern "C" inline int fl_input_set_mark(INPUT i, int t); +extern "C" inline int fl_input_get_position(INPUT i); +extern "C" inline int fl_input_set_position(INPUT i, int t); -extern "C" unsigned int fl_input_index(INPUT i, int p); -extern "C" int fl_input_insert(INPUT i, const char * s, int l); -extern "C" int fl_input_replace(INPUT i, int b, int e, const char * s, int l); -extern "C" const char * fl_input_get_value(INPUT i); -extern "C" void fl_input_set_value(INPUT i, char * s, int len); +extern "C" inline unsigned int fl_input_index(INPUT i, int p); +extern "C" inline int fl_input_insert(INPUT i, const char * s, int l); +extern "C" inline int fl_input_replace(INPUT i, int b, int e, const char * s, int l); +extern "C" inline const char * fl_input_get_value(INPUT i); +extern "C" inline void fl_input_set_value(INPUT i, char * s, int len); -extern "C" int fl_input_get_maximum_size(INPUT i); -extern "C" void fl_input_set_maximum_size(INPUT i, int t); -extern "C" int fl_input_get_size(INPUT i); +extern "C" inline int fl_input_get_maximum_size(INPUT i); +extern "C" inline void fl_input_set_maximum_size(INPUT i, int t); +extern "C" inline int fl_input_get_size(INPUT i); -extern "C" unsigned int fl_input_get_cursor_color(INPUT i); -extern "C" void fl_input_set_cursor_color(INPUT i, unsigned int t); -extern "C" unsigned int fl_input_get_textcolor(INPUT i); -extern "C" void fl_input_set_textcolor(INPUT i, unsigned int t); -extern "C" int fl_input_get_textfont(INPUT i); -extern "C" void fl_input_set_textfont(INPUT i, int t); -extern "C" int fl_input_get_textsize(INPUT i); -extern "C" void fl_input_set_textsize(INPUT i, int t); +extern "C" inline unsigned int fl_input_get_cursor_color(INPUT i); +extern "C" inline void fl_input_set_cursor_color(INPUT i, unsigned int t); +extern "C" inline unsigned int fl_input_get_textcolor(INPUT i); +extern "C" inline void fl_input_set_textcolor(INPUT i, unsigned int t); +extern "C" inline int fl_input_get_textfont(INPUT i); +extern "C" inline void fl_input_set_textfont(INPUT i, int t); +extern "C" inline int fl_input_get_textsize(INPUT i); +extern "C" inline void fl_input_set_textsize(INPUT i, int t); -extern "C" void fl_input_set_size(INPUT i, int w, int h); +extern "C" inline void fl_input_set_size(INPUT i, int w, int h); #endif diff --git a/src/c_fl_int_input.h b/src/c_fl_int_input.h index 907c041..bd5e408 100644 --- a/src/c_fl_int_input.h +++ b/src/c_fl_int_input.h @@ -11,16 +11,16 @@ typedef void* INT_INPUT; -extern "C" void int_input_set_draw_hook(INT_INPUT i, void * d); -extern "C" void fl_int_input_draw(INT_INPUT i); -extern "C" void int_input_set_handle_hook(INT_INPUT i, void * h); -extern "C" int fl_int_input_handle(INT_INPUT i, int e); +extern "C" inline void int_input_set_draw_hook(INT_INPUT i, void * d); +extern "C" inline void fl_int_input_draw(INT_INPUT i); +extern "C" inline void int_input_set_handle_hook(INT_INPUT i, void * h); +extern "C" inline int fl_int_input_handle(INT_INPUT i, int e); -extern "C" INT_INPUT new_fl_int_input(int x, int y, int w, int h, char* label); -extern "C" void free_fl_int_input(INT_INPUT i); +extern "C" inline INT_INPUT new_fl_int_input(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_int_input(INT_INPUT i); #endif diff --git a/src/c_fl_menu_window.h b/src/c_fl_menu_window.h index 402f50a..cd7a0f4 100644 --- a/src/c_fl_menu_window.h +++ b/src/c_fl_menu_window.h @@ -11,29 +11,29 @@ typedef void* MENUWINDOW; -extern "C" void menu_window_set_draw_hook(MENUWINDOW n, void * d); -extern "C" void fl_menu_window_draw(MENUWINDOW n); -extern "C" void menu_window_set_handle_hook(MENUWINDOW n, void * h); -extern "C" int fl_menu_window_handle(MENUWINDOW n, int e); +extern "C" inline void menu_window_set_draw_hook(MENUWINDOW n, void * d); +extern "C" inline void fl_menu_window_draw(MENUWINDOW n); +extern "C" inline void menu_window_set_handle_hook(MENUWINDOW n, void * h); +extern "C" inline int fl_menu_window_handle(MENUWINDOW n, int e); -extern "C" MENUWINDOW new_fl_menu_window(int x, int y, int w, int h, char* label); -extern "C" MENUWINDOW new_fl_menu_window2(int w, int h); -extern "C" void free_fl_menu_window(MENUWINDOW m); +extern "C" inline MENUWINDOW new_fl_menu_window(int x, int y, int w, int h, char* label); +extern "C" inline MENUWINDOW new_fl_menu_window2(int w, int h); +extern "C" inline void free_fl_menu_window(MENUWINDOW m); -extern "C" void fl_menu_window_show(MENUWINDOW m); -extern "C" void fl_menu_window_hide(MENUWINDOW m); -extern "C" void fl_menu_window_flush(MENUWINDOW m); +extern "C" inline void fl_menu_window_show(MENUWINDOW m); +extern "C" inline void fl_menu_window_hide(MENUWINDOW m); +extern "C" inline void fl_menu_window_flush(MENUWINDOW m); -extern "C" void fl_menu_window_set_overlay(MENUWINDOW m); -extern "C" void fl_menu_window_clear_overlay(MENUWINDOW m); -extern "C" unsigned int fl_menu_window_overlay(MENUWINDOW m); +extern "C" inline void fl_menu_window_set_overlay(MENUWINDOW m); +extern "C" inline void fl_menu_window_clear_overlay(MENUWINDOW m); +extern "C" inline unsigned int fl_menu_window_overlay(MENUWINDOW m); #endif diff --git a/src/c_fl_multiline_input.h b/src/c_fl_multiline_input.h index 177567b..eb19332 100644 --- a/src/c_fl_multiline_input.h +++ b/src/c_fl_multiline_input.h @@ -11,16 +11,16 @@ typedef void* MULTILINE_INPUT; -extern "C" void multiline_input_set_draw_hook(MULTILINE_INPUT i, void * d); -extern "C" void fl_multiline_input_draw(MULTILINE_INPUT i); -extern "C" void multiline_input_set_handle_hook(MULTILINE_INPUT i, void * h); -extern "C" int fl_multiline_input_handle(MULTILINE_INPUT i, int e); +extern "C" inline void multiline_input_set_draw_hook(MULTILINE_INPUT i, void * d); +extern "C" inline void fl_multiline_input_draw(MULTILINE_INPUT i); +extern "C" inline void multiline_input_set_handle_hook(MULTILINE_INPUT i, void * h); +extern "C" inline int fl_multiline_input_handle(MULTILINE_INPUT i, int e); -extern "C" MULTILINE_INPUT new_fl_multiline_input(int x, int y, int w, int h, char* label); -extern "C" void free_fl_multiline_input(MULTILINE_INPUT i); +extern "C" inline MULTILINE_INPUT new_fl_multiline_input(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_multiline_input(MULTILINE_INPUT i); #endif diff --git a/src/c_fl_multiline_output.h b/src/c_fl_multiline_output.h index fae3da8..ebd5886 100644 --- a/src/c_fl_multiline_output.h +++ b/src/c_fl_multiline_output.h @@ -11,16 +11,16 @@ typedef void* MULTILINE_OUTPUT; -extern "C" void multiline_output_set_draw_hook(MULTILINE_OUTPUT i, void * d); -extern "C" void fl_multiline_output_draw(MULTILINE_OUTPUT i); -extern "C" void multiline_output_set_handle_hook(MULTILINE_OUTPUT i, void * h); -extern "C" int fl_multiline_output_handle(MULTILINE_OUTPUT i, int e); +extern "C" inline void multiline_output_set_draw_hook(MULTILINE_OUTPUT i, void * d); +extern "C" inline void fl_multiline_output_draw(MULTILINE_OUTPUT i); +extern "C" inline void multiline_output_set_handle_hook(MULTILINE_OUTPUT i, void * h); +extern "C" inline int fl_multiline_output_handle(MULTILINE_OUTPUT i, int e); -extern "C" MULTILINE_OUTPUT new_fl_multiline_output(int x, int y, int w, int h, char* label); -extern "C" void free_fl_multiline_output(MULTILINE_OUTPUT i); +extern "C" inline MULTILINE_OUTPUT new_fl_multiline_output(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_multiline_output(MULTILINE_OUTPUT i); #endif diff --git a/src/c_fl_output.h b/src/c_fl_output.h index 002240c..d5959ec 100644 --- a/src/c_fl_output.h +++ b/src/c_fl_output.h @@ -7,21 +7,22 @@ // using just "OUTPUT" doesn't compile for some reason +// some sort of name clash? typedef void* OUTPUTT; -extern "C" void output_set_draw_hook(OUTPUTT i, void * d); -extern "C" void fl_output_draw(OUTPUTT i); -extern "C" void output_set_handle_hook(OUTPUTT i, void * h); -extern "C" int fl_output_handle(OUTPUTT i, int e); +extern "C" inline void output_set_draw_hook(OUTPUTT i, void * d); +extern "C" inline void fl_output_draw(OUTPUTT i); +extern "C" inline void output_set_handle_hook(OUTPUTT i, void * h); +extern "C" inline int fl_output_handle(OUTPUTT i, int e); -extern "C" OUTPUTT new_fl_output(int x, int y, int w, int h, char* label); -extern "C" void free_fl_output(OUTPUTT i); +extern "C" inline OUTPUTT new_fl_output(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_output(OUTPUTT i); #endif diff --git a/src/c_fl_round_clock.cpp b/src/c_fl_round_clock.cpp index 56179fc..c37fd77 100644 --- a/src/c_fl_round_clock.cpp +++ b/src/c_fl_round_clock.cpp @@ -14,6 +14,7 @@ class My_Round_Clock : public Fl_Round_Clock { friend void fl_round_clock_draw(ROUND_CLOCK c); friend void round_clock_set_handle_hook(ROUND_CLOCK c, void * h); friend int fl_round_clock_handle(ROUND_CLOCK c, int e); + friend void fl_round_clock_draw2(ROUND_CLOCK c, int x, int y, int w, int h); protected: void draw(); void real_draw(); @@ -68,3 +69,10 @@ void free_fl_round_clock(ROUND_CLOCK c) { } + + +void fl_round_clock_draw2(ROUND_CLOCK c, int x, int y, int w, int h) { + reinterpret_cast<My_Round_Clock*>(c)->Fl_Round_Clock::draw(x,y,w,h); +} + + diff --git a/src/c_fl_round_clock.h b/src/c_fl_round_clock.h index c0e6585..06ec30c 100644 --- a/src/c_fl_round_clock.h +++ b/src/c_fl_round_clock.h @@ -11,16 +11,21 @@ typedef void* ROUND_CLOCK; -extern "C" void round_clock_set_draw_hook(ROUND_CLOCK c, void * d); -extern "C" void fl_round_clock_draw(ROUND_CLOCK c); -extern "C" void round_clock_set_handle_hook(ROUND_CLOCK c, void * h); -extern "C" int fl_round_clock_handle(ROUND_CLOCK c, int e); +extern "C" inline void round_clock_set_draw_hook(ROUND_CLOCK c, void * d); +extern "C" inline void fl_round_clock_draw(ROUND_CLOCK c); +extern "C" inline void round_clock_set_handle_hook(ROUND_CLOCK c, void * h); +extern "C" inline int fl_round_clock_handle(ROUND_CLOCK c, int e); -extern "C" ROUND_CLOCK new_fl_round_clock(int x, int y, int w, int h, char* label); -extern "C" void free_fl_round_clock(ROUND_CLOCK c); +extern "C" inline ROUND_CLOCK new_fl_round_clock(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_round_clock(ROUND_CLOCK c); + + + + +extern "C" inline void fl_round_clock_draw2(ROUND_CLOCK c, int x, int y, int w, int h); #endif diff --git a/src/c_fl_secret_input.h b/src/c_fl_secret_input.h index 604626d..4f92349 100644 --- a/src/c_fl_secret_input.h +++ b/src/c_fl_secret_input.h @@ -11,16 +11,16 @@ typedef void* SECRET_INPUT; -extern "C" void secret_input_set_draw_hook(SECRET_INPUT i, void * d); -extern "C" void fl_secret_input_draw(SECRET_INPUT i); -extern "C" void secret_input_set_handle_hook(SECRET_INPUT i, void * h); -extern "C" int fl_secret_input_handle(SECRET_INPUT i, int e); +extern "C" inline void secret_input_set_draw_hook(SECRET_INPUT i, void * d); +extern "C" inline void fl_secret_input_draw(SECRET_INPUT i); +extern "C" inline void secret_input_set_handle_hook(SECRET_INPUT i, void * h); +extern "C" inline int fl_secret_input_handle(SECRET_INPUT i, int e); -extern "C" SECRET_INPUT new_fl_secret_input(int x, int y, int w, int h, char* label); -extern "C" void free_fl_secret_input(SECRET_INPUT i); +extern "C" inline SECRET_INPUT new_fl_secret_input(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_secret_input(SECRET_INPUT i); #endif diff --git a/src/c_fl_single_window.h b/src/c_fl_single_window.h index 02a6619..31ca7d3 100644 --- a/src/c_fl_single_window.h +++ b/src/c_fl_single_window.h @@ -11,23 +11,23 @@ typedef void* SINGLEWINDOW; -extern "C" void single_window_set_draw_hook(SINGLEWINDOW n, void * d); -extern "C" void fl_single_window_draw(SINGLEWINDOW n); -extern "C" void single_window_set_handle_hook(SINGLEWINDOW n, void * h); -extern "C" int fl_single_window_handle(SINGLEWINDOW n, int e); +extern "C" inline void single_window_set_draw_hook(SINGLEWINDOW n, void * d); +extern "C" inline void fl_single_window_draw(SINGLEWINDOW n); +extern "C" inline void single_window_set_handle_hook(SINGLEWINDOW n, void * h); +extern "C" inline int fl_single_window_handle(SINGLEWINDOW n, int e); -extern "C" SINGLEWINDOW new_fl_single_window(int x, int y, int w, int h, char* label); -extern "C" SINGLEWINDOW new_fl_single_window2(int x, int y); -extern "C" void free_fl_single_window(SINGLEWINDOW w); +extern "C" inline SINGLEWINDOW new_fl_single_window(int x, int y, int w, int h, char* label); +extern "C" inline SINGLEWINDOW new_fl_single_window2(int x, int y); +extern "C" inline void free_fl_single_window(SINGLEWINDOW w); -extern "C" void fl_single_window_show(SINGLEWINDOW w); -extern "C" void fl_single_window_flush(SINGLEWINDOW w); +extern "C" inline void fl_single_window_show(SINGLEWINDOW w); +extern "C" inline void fl_single_window_flush(SINGLEWINDOW w); #endif diff --git a/src/fltk-dialogs.adb b/src/fltk-dialogs.adb index 46c14ad..7f0629c 100644 --- a/src/fltk-dialogs.adb +++ b/src/fltk-dialogs.adb @@ -17,34 +17,41 @@ package body FLTK.Dialogs is procedure dialog_fl_alert (M : in Interfaces.C.char_array); pragma Import (C, dialog_fl_alert, "dialog_fl_alert"); + pragma Inline (dialog_fl_alert); -- function dialog_fl_ask -- (M : in Interfaces.C.char_array) -- return Interfaces.C.int; -- pragma Import (C, dialog_fl_ask, "dialog_fl_ask"); + -- pragma Inline (dialog_fl_ask); procedure dialog_fl_beep (B : in Interfaces.C.int); pragma Import (C, dialog_fl_beep, "dialog_fl_beep"); + pragma Inline (dialog_fl_beep); function dialog_fl_choice (M, A, B, C : in Interfaces.C.char_array) return Interfaces.C.int; pragma Import (C, dialog_fl_choice, "dialog_fl_choice"); + pragma Inline (dialog_fl_choice); function dialog_fl_input (M, D : in Interfaces.C.char_array) return Interfaces.C.Strings.chars_ptr; pragma Import (C, dialog_fl_input, "dialog_fl_input"); + pragma Inline (dialog_fl_input); procedure dialog_fl_message (M : in Interfaces.C.char_array); pragma Import (C, dialog_fl_message, "dialog_fl_message"); + pragma Inline (dialog_fl_message); function dialog_fl_password (M, D : in Interfaces.C.char_array) return Interfaces.C.Strings.chars_ptr; pragma Import (C, dialog_fl_password, "dialog_fl_password"); + pragma Inline (dialog_fl_password); @@ -55,18 +62,29 @@ package body FLTK.Dialogs is M : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, dialog_fl_color_chooser, "dialog_fl_color_chooser"); + pragma Inline (dialog_fl_color_chooser); + + function dialog_fl_color_chooser2 + (N : in Interfaces.C.char_array; + R, G, B : in out Interfaces.C.unsigned_char; + M : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, dialog_fl_color_chooser2, "dialog_fl_color_chooser2"); + pragma Inline (dialog_fl_color_chooser2); function dialog_fl_dir_chooser (M, D : in Interfaces.C.char_array; R : in Interfaces.C.int) return Interfaces.C.Strings.chars_ptr; pragma Import (C, dialog_fl_dir_chooser, "dialog_fl_dir_chooser"); + pragma Inline (dialog_fl_dir_chooser); function dialog_fl_file_chooser (M, P, D : in Interfaces.C.char_array; R : in Interfaces.C.int) return Interfaces.C.Strings.chars_ptr; pragma Import (C, dialog_fl_file_chooser, "dialog_fl_file_chooser"); + pragma Inline (dialog_fl_file_chooser); @@ -74,26 +92,32 @@ package body FLTK.Dialogs is function dialog_fl_get_message_hotspot return Interfaces.C.int; pragma Import (C, dialog_fl_get_message_hotspot, "dialog_fl_get_message_hotspot"); + pragma Inline (dialog_fl_get_message_hotspot); procedure dialog_fl_set_message_hotspot (V : in Interfaces.C.int); pragma Import (C, dialog_fl_set_message_hotspot, "dialog_fl_set_message_hotspot"); + pragma Inline (dialog_fl_set_message_hotspot); procedure dialog_fl_message_font (F, S : in Interfaces.C.int); pragma Import (C, dialog_fl_message_font, "dialog_fl_message_font"); + pragma Inline (dialog_fl_message_font); function dialog_fl_message_icon return System.Address; pragma Import (C, dialog_fl_message_icon, "dialog_fl_message_icon"); + pragma Inline (dialog_fl_message_icon); procedure dialog_fl_message_title (T : in Interfaces.C.char_array); pragma Import (C, dialog_fl_message_title, "dialog_fl_message_title"); + pragma Inline (dialog_fl_message_title); procedure dialog_fl_message_title_default (T : in Interfaces.C.char_array); pragma Import (C, dialog_fl_message_title_default, "dialog_fl_message_title_default"); + pragma Inline (dialog_fl_message_title_default); @@ -143,11 +167,8 @@ package body FLTK.Dialogs is (Interfaces.C.To_C (Message), Interfaces.C.To_C (Default)); begin - if Result = Interfaces.C.Strings.Null_Ptr then - return ""; - else - return Interfaces.C.Strings.Value (Result); - end if; + -- string does not need dealloc + return Interfaces.C.Strings.Value (Result); end Text_Input; @@ -167,11 +188,8 @@ package body FLTK.Dialogs is (Interfaces.C.To_C (Message), Interfaces.C.To_C (Default)); begin - if Result = Interfaces.C.Strings.Null_Ptr then - return ""; - else - return Interfaces.C.Strings.Value (Result); - end if; + -- string does not need dealloc + return Interfaces.C.Strings.Value (Result); end Password; @@ -179,8 +197,9 @@ package body FLTK.Dialogs is function Color_Chooser (Title : in String; - R, G, B : in out Long_Float; - Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode) + R, G, B : in out RGB_Float; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) return Boolean is C_R : Interfaces.C.double := Interfaces.C.double (R); @@ -190,9 +209,30 @@ package body FLTK.Dialogs is Result : Boolean := dialog_fl_color_chooser (Interfaces.C.To_C (Title), C_R, C_G, C_B, M) /= 0; begin - R := Long_Float (C_R); - G := Long_Float (C_G); - B := Long_Float (C_B); + R := RGB_Float (C_R); + G := RGB_Float (C_G); + B := RGB_Float (C_B); + return Result; + end Color_Chooser; + + + function Color_Chooser + (Title : in String; + R, G, B : in out RGB_Int; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) + return Boolean + is + C_R : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (R); + C_G : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (G); + C_B : Interfaces.C.unsigned_char := Interfaces.C.unsigned_char (B); + M : Interfaces.C.int := FLTK.Widgets.Groups.Color_Choosers.Color_Mode'Pos (Mode); + Result : Boolean := dialog_fl_color_chooser2 + (Interfaces.C.To_C (Title), C_R, C_G, C_B, M) /= 0; + begin + R := RGB_Int (C_R); + G := RGB_Int (C_G); + B := RGB_Int (C_B); return Result; end Color_Chooser; @@ -207,11 +247,8 @@ package body FLTK.Dialogs is Interfaces.C.To_C (Default), Boolean'Pos (Relative)); begin - if Result = Interfaces.C.Strings.Null_Ptr then - return ""; - else - return Interfaces.C.Strings.Value (Result); - end if; + -- I'm... fairly sure the string does not need dealloc? + return Interfaces.C.Strings.Value (Result); end Dir_Chooser; @@ -226,11 +263,8 @@ package body FLTK.Dialogs is Interfaces.C.To_C (Default), Boolean'Pos (Relative)); begin - if Result = Interfaces.C.Strings.Null_Ptr then - return ""; - else - return Interfaces.C.Strings.Value (Result); - end if; + -- I'm... fairly sure the string does not need dealloc? + return Interfaces.C.Strings.Value (Result); end File_Chooser; diff --git a/src/fltk-dialogs.ads b/src/fltk-dialogs.ads index 03d1416..96a6bcf 100644 --- a/src/fltk-dialogs.ads +++ b/src/fltk-dialogs.ads @@ -15,6 +15,10 @@ package FLTK.Dialogs is type Choice is (First, Second, Third); + type RGB_Float is new Long_Float range 0.0 .. 1.0; + + type RGB_Int is mod 256; + @@ -50,8 +54,16 @@ package FLTK.Dialogs is function Color_Chooser (Title : in String; - R, G, B : in out Long_Float; - Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode) + R, G, B : in out RGB_Float; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) + return Boolean; + + function Color_Chooser + (Title : in String; + R, G, B : in out RGB_Int; + Mode : in FLTK.Widgets.Groups.Color_Choosers.Color_Mode := + FLTK.Widgets.Groups.Color_Choosers.RGB) return Boolean; function Dir_Chooser @@ -93,5 +105,29 @@ private Icon_Box : aliased FLTK.Widgets.Boxes.Box; + + + pragma Inline (Alert); + -- pragma Inline (Ask); + pragma Inline (Beep); + pragma Inline (Three_Way_Choice); + pragma Inline (Text_Input); + pragma Inline (Message_Box); + pragma Inline (Password); + + + pragma Inline (Color_Chooser); + pragma Inline (Dir_Chooser); + pragma Inline (File_Chooser); + + + pragma Inline (Get_Hotspot); + pragma Inline (Set_Hotspot); + pragma Inline (Set_Message_Font); + pragma Inline (Get_Message_Icon); + pragma Inline (Set_Message_Title); + pragma Inline (Set_Message_Title_Default); + + end FLTK.Dialogs; diff --git a/src/fltk-widgets-clocks-updated-round.adb b/src/fltk-widgets-clocks-updated-round.adb index c87cb7b..f519fe0 100644 --- a/src/fltk-widgets-clocks-updated-round.adb +++ b/src/fltk-widgets-clocks-updated-round.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Clocks.Updated.Round is procedure round_clock_set_draw_hook (W, D : in System.Address); pragma Import (C, round_clock_set_draw_hook, "round_clock_set_draw_hook"); + pragma Inline (round_clock_set_draw_hook); procedure round_clock_set_handle_hook (W, H : in System.Address); pragma Import (C, round_clock_set_handle_hook, "round_clock_set_handle_hook"); + pragma Inline (round_clock_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Clocks.Updated.Round is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_round_clock, "new_fl_round_clock"); + pragma Inline (new_fl_round_clock); procedure free_fl_round_clock (F : in System.Address); pragma Import (C, free_fl_round_clock, "free_fl_round_clock"); + pragma Inline (free_fl_round_clock); @@ -40,12 +44,20 @@ package body FLTK.Widgets.Clocks.Updated.Round is procedure fl_round_clock_draw (W : in System.Address); pragma Import (C, fl_round_clock_draw, "fl_round_clock_draw"); + pragma Inline (fl_round_clock_draw); + + procedure fl_round_clock_draw2 + (C : in System.Address; + X, Y, W, H : in Interfaces.C.int); + pragma Import (C, fl_round_clock_draw2, "fl_round_clock_draw2"); + pragma Inline (fl_round_clock_draw2); function fl_round_clock_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_round_clock_handle, "fl_round_clock_handle"); + pragma Inline (fl_round_clock_handle); @@ -99,6 +111,19 @@ package body FLTK.Widgets.Clocks.Updated.Round is end Draw; + procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer) is + begin + fl_round_clock_draw2 + (This.Void_Ptr, + Interfaces.C.int (X), + Interfaces.C.int (Y), + Interfaces.C.int (W), + Interfaces.C.int (H)); + end Draw; + + function Handle (This : in out Round_Clock; Event : in Event_Kind) diff --git a/src/fltk-widgets-clocks-updated-round.ads b/src/fltk-widgets-clocks-updated-round.ads index 17f05b3..4b6681c 100644 --- a/src/fltk-widgets-clocks-updated-round.ads +++ b/src/fltk-widgets-clocks-updated-round.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Clocks.Updated.Round is type Round_Clock is new Updated_Clock with private; + type Round_Clock_Reference (Data : not null access Round_Clock'Class) is + limited null record with Implicit_Dereference => Data; + @@ -23,6 +26,10 @@ package FLTK.Widgets.Clocks.Updated.Round is procedure Draw (This : in out Round_Clock); + procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer); + function Handle (This : in out Round_Clock; Event : in Event_Kind) @@ -38,5 +45,11 @@ private (This : in out Round_Clock); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Clocks.Updated.Round; diff --git a/src/fltk-widgets-clocks-updated.adb b/src/fltk-widgets-clocks-updated.adb index d55521e..f2f450b 100644 --- a/src/fltk-widgets-clocks-updated.adb +++ b/src/fltk-widgets-clocks-updated.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Clocks.Updated is procedure clock_set_draw_hook (W, D : in System.Address); pragma Import (C, clock_set_draw_hook, "clock_set_draw_hook"); + pragma Inline (clock_set_draw_hook); procedure clock_set_handle_hook (W, H : in System.Address); pragma Import (C, clock_set_handle_hook, "clock_set_handle_hook"); + pragma Inline (clock_set_handle_hook); @@ -29,10 +31,20 @@ package body FLTK.Widgets.Clocks.Updated is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_clock, "new_fl_clock"); + pragma Inline (new_fl_clock); + + function new_fl_clock2 + (K : in Interfaces.C.unsigned_char; + X, Y, W, H : in Interfaces.C.int; + Text : in Interfaces.C.char_array) + return System.Address; + pragma Import (C, new_fl_clock2, "new_fl_clock2"); + pragma Inline (new_fl_clock2); procedure free_fl_clock (F : in System.Address); pragma Import (C, free_fl_clock, "free_fl_clock"); + pragma Inline (free_fl_clock); @@ -40,12 +52,20 @@ package body FLTK.Widgets.Clocks.Updated is procedure fl_clock_draw (W : in System.Address); pragma Import (C, fl_clock_draw, "fl_clock_draw"); + pragma Inline (fl_clock_draw); + + procedure fl_clock_draw2 + (C : in System.Address; + X, Y, W, H : in Interfaces.C.int); + pragma Import (C, fl_clock_draw2, "fl_clock_draw2"); + pragma Inline (fl_clock_draw2); function fl_clock_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_clock_handle, "fl_clock_handle"); + pragma Inline (fl_clock_handle); @@ -87,6 +107,29 @@ package body FLTK.Widgets.Clocks.Updated is end return; end Create; + + function Create + (Kind : in Box_Kind; + X, Y, W, H : in Integer; + Text : in String) + return Updated_Clock is + begin + return This : Updated_Clock do + This.Void_Ptr := new_fl_clock2 + (Box_Kind'Pos (Kind), + Interfaces.C.int (X), + Interfaces.C.int (Y), + Interfaces.C.int (W), + Interfaces.C.int (H), + Interfaces.C.To_C (Text)); + fl_widget_set_user_data + (This.Void_Ptr, + Widget_Convert.To_Address (This'Unchecked_Access)); + clock_set_draw_hook (This.Void_Ptr, Draw_Hook'Address); + clock_set_handle_hook (This.Void_Ptr, Handle_Hook'Address); + end return; + end Create; + end Forge; @@ -99,6 +142,19 @@ package body FLTK.Widgets.Clocks.Updated is end Draw; + procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer) is + begin + fl_clock_draw2 + (This.Void_Ptr, + Interfaces.C.int (X), + Interfaces.C.int (Y), + Interfaces.C.int (W), + Interfaces.C.int (H)); + end Draw; + + function Handle (This : in out Updated_Clock; Event : in Event_Kind) diff --git a/src/fltk-widgets-clocks-updated.ads b/src/fltk-widgets-clocks-updated.ads index 35bff2c..9830d13 100644 --- a/src/fltk-widgets-clocks-updated.ads +++ b/src/fltk-widgets-clocks-updated.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Clocks.Updated is type Updated_Clock is new Clock with private; + type Updated_Clock_Reference (Data : not null access Updated_Clock'Class) is + limited null record with Implicit_Dereference => Data; + @@ -15,6 +18,12 @@ package FLTK.Widgets.Clocks.Updated is Text : in String) return Updated_Clock; + function Create + (Kind : in Box_Kind; + X, Y, W, H : in Integer; + Text : in String) + return Updated_Clock; + end Forge; @@ -23,6 +32,10 @@ package FLTK.Widgets.Clocks.Updated is procedure Draw (This : in out Updated_Clock); + procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer); + function Handle (This : in out Updated_Clock; Event : in Event_Kind) @@ -38,5 +51,11 @@ private (This : in out Updated_Clock); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Clocks.Updated; diff --git a/src/fltk-widgets-clocks.adb b/src/fltk-widgets-clocks.adb index 5fd3ec2..4eeee3c 100644 --- a/src/fltk-widgets-clocks.adb +++ b/src/fltk-widgets-clocks.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Clocks is procedure clock_output_set_draw_hook (W, D : in System.Address); pragma Import (C, clock_output_set_draw_hook, "clock_output_set_draw_hook"); + pragma Inline (clock_output_set_draw_hook); procedure clock_output_set_handle_hook (W, H : in System.Address); pragma Import (C, clock_output_set_handle_hook, "clock_output_set_handle_hook"); + pragma Inline (clock_output_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Clocks is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_clock_output, "new_fl_clock_output"); + pragma Inline (new_fl_clock_output); procedure free_fl_clock_output (F : in System.Address); pragma Import (C, free_fl_clock_output, "free_fl_clock_output"); + pragma Inline (free_fl_clock_output); @@ -41,16 +45,19 @@ package body FLTK.Widgets.Clocks is (C : in System.Address) return Interfaces.C.int; pragma Import (C, fl_clock_output_get_hour, "fl_clock_output_get_hour"); + pragma Inline (fl_clock_output_get_hour); function fl_clock_output_get_minute (C : in System.Address) return Interfaces.C.int; pragma Import (C, fl_clock_output_get_minute, "fl_clock_output_get_minute"); + pragma Inline (fl_clock_output_get_minute); function fl_clock_output_get_second (C : in System.Address) return Interfaces.C.int; pragma Import (C, fl_clock_output_get_second, "fl_clock_output_get_second"); + pragma Inline (fl_clock_output_get_second); @@ -59,16 +66,19 @@ package body FLTK.Widgets.Clocks is (C : in System.Address) return Interfaces.C.unsigned_long; pragma Import (C, fl_clock_output_get_value, "fl_clock_output_get_value"); + pragma Inline (fl_clock_output_get_value); procedure fl_clock_output_set_value (C : in System.Address; V : in Interfaces.C.unsigned_long); pragma Import (C, fl_clock_output_set_value, "fl_clock_output_set_value"); + pragma Inline (fl_clock_output_set_value); procedure fl_clock_output_set_value2 (C : in System.Address; H, M, S : in Interfaces.C.int); pragma Import (C, fl_clock_output_set_value2, "fl_clock_output_set_value2"); + pragma Inline (fl_clock_output_set_value2); @@ -76,12 +86,20 @@ package body FLTK.Widgets.Clocks is procedure fl_clock_output_draw (W : in System.Address); pragma Import (C, fl_clock_output_draw, "fl_clock_output_draw"); + pragma Inline (fl_clock_output_draw); + + procedure fl_clock_output_draw2 + (C : in System.Address; + X, Y, W, H : in Interfaces.C.int); + pragma Import (C, fl_clock_output_draw2, "fl_clock_output_draw2"); + pragma Inline (fl_clock_output_draw2); function fl_clock_output_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_clock_output_handle, "fl_clock_output_handle"); + pragma Inline (fl_clock_output_handle); @@ -193,6 +211,19 @@ package body FLTK.Widgets.Clocks is end Draw; + procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer) is + begin + fl_clock_output_draw2 + (This.Void_Ptr, + Interfaces.C.int (X), + Interfaces.C.int (Y), + Interfaces.C.int (W), + Interfaces.C.int (H)); + end Draw; + + function Handle (This : in out Clock; Event : in Event_Kind) diff --git a/src/fltk-widgets-clocks.ads b/src/fltk-widgets-clocks.ads index eb8acfc..d1cd192 100644 --- a/src/fltk-widgets-clocks.ads +++ b/src/fltk-widgets-clocks.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Clocks is type Clock is new Widget with private; + type Clock_Reference (Data : not null access Clock'Class) is limited null record + with Implicit_Dereference => Data; + subtype Hour is Integer range 0 .. 23; subtype Minute is Integer range 0 .. 59; subtype Second is Integer range 0 .. 60; @@ -61,6 +64,10 @@ package FLTK.Widgets.Clocks is procedure Draw (This : in out Clock); + procedure Draw + (This : in out Clock; + X, Y, W, H : in Integer); + function Handle (This : in out Clock; Event : in Event_Kind) @@ -76,5 +83,20 @@ private (This : in out Clock); + + + pragma Inline (Get_Hour); + pragma Inline (Get_Minute); + pragma Inline (Get_Second); + + + pragma Inline (Get_Time); + pragma Inline (Set_Time); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Clocks; diff --git a/src/fltk-widgets-groups-input_choices.adb b/src/fltk-widgets-groups-input_choices.adb index 76bd3f9..603d480 100644 --- a/src/fltk-widgets-groups-input_choices.adb +++ b/src/fltk-widgets-groups-input_choices.adb @@ -198,7 +198,7 @@ package body FLTK.Widgets.Groups.Input_Choices is function Input (This : in out Input_Choice) - return INP.Input_Cursor is + return INP.Input_Reference is begin return (Data => This.My_Input); end Input; diff --git a/src/fltk-widgets-groups-input_choices.ads b/src/fltk-widgets-groups-input_choices.ads index 98fcded..0d4c8d4 100644 --- a/src/fltk-widgets-groups-input_choices.ads +++ b/src/fltk-widgets-groups-input_choices.ads @@ -28,7 +28,7 @@ package FLTK.Widgets.Groups.Input_Choices is function Input (This : in out Input_Choice) - return FLTK.Widgets.Inputs.Input_Cursor; + return FLTK.Widgets.Inputs.Input_Reference; function Menu_Button (This : in out Input_Choice) diff --git a/src/fltk-widgets-groups-windows-double.adb b/src/fltk-widgets-groups-windows-double.adb index ba4c8b8..9e87d56 100644 --- a/src/fltk-widgets-groups-windows-double.adb +++ b/src/fltk-widgets-groups-windows-double.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Groups.Windows.Double is procedure double_window_set_draw_hook (W, D : in System.Address); pragma Import (C, double_window_set_draw_hook, "double_window_set_draw_hook"); + pragma Inline (double_window_set_draw_hook); procedure double_window_set_handle_hook (W, H : in System.Address); pragma Import (C, double_window_set_handle_hook, "double_window_set_handle_hook"); + pragma Inline (double_window_set_handle_hook); @@ -29,15 +31,18 @@ package body FLTK.Widgets.Groups.Windows.Double is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_double_window, "new_fl_double_window"); + pragma Inline (new_fl_double_window); function new_fl_double_window2 (X, Y : in Interfaces.C.int) return System.Address; pragma Import (C, new_fl_double_window2, "new_fl_double_window2"); + pragma Inline (new_fl_double_window2); procedure free_fl_double_window (W : in System.Address); pragma Import (C, free_fl_double_window, "free_fl_double_window"); + pragma Inline (free_fl_double_window); @@ -45,14 +50,17 @@ package body FLTK.Widgets.Groups.Windows.Double is procedure fl_double_window_show (W : in System.Address); pragma Import (C, fl_double_window_show, "fl_double_window_show"); + pragma Inline (fl_double_window_show); procedure fl_double_window_hide (W : in System.Address); pragma Import (C, fl_double_window_hide, "fl_double_window_hide"); + pragma Inline (fl_double_window_hide); procedure fl_double_window_flush (W : in System.Address); pragma Import (C, fl_double_window_flush, "fl_double_window_flush"); + pragma Inline (fl_double_window_flush); @@ -60,12 +68,14 @@ package body FLTK.Widgets.Groups.Windows.Double is procedure fl_double_window_draw (W : in System.Address); pragma Import (C, fl_double_window_draw, "fl_double_window_draw"); + pragma Inline (fl_double_window_draw); function fl_double_window_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_double_window_handle, "fl_double_window_handle"); + pragma Inline (fl_double_window_handle); diff --git a/src/fltk-widgets-groups-windows-double.ads b/src/fltk-widgets-groups-windows-double.ads index 8f566b7..216419d 100644 --- a/src/fltk-widgets-groups-windows-double.ads +++ b/src/fltk-widgets-groups-windows-double.ads @@ -5,6 +5,8 @@ package FLTK.Widgets.Groups.Windows.Double is type Double_Window is new Window with private; + type Double_Window_Reference (Data : not null access Double_Window'Class) is + limited null record with Implicit_Dereference => Data; @@ -54,5 +56,16 @@ private (This : in out Double_Window); + + + pragma Inline (Show); + pragma Inline (Hide); + pragma Inline (Flush); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Groups.Windows.Double; diff --git a/src/fltk-widgets-groups-windows-single-menu.adb b/src/fltk-widgets-groups-windows-single-menu.adb index f48021f..85026f2 100644 --- a/src/fltk-widgets-groups-windows-single-menu.adb +++ b/src/fltk-widgets-groups-windows-single-menu.adb @@ -17,10 +17,12 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is procedure menu_window_set_draw_hook (W, D : in System.Address); pragma Import (C, menu_window_set_draw_hook, "menu_window_set_draw_hook"); + pragma Inline (menu_window_set_draw_hook); procedure menu_window_set_handle_hook (W, H : in System.Address); pragma Import (C, menu_window_set_handle_hook, "menu_window_set_handle_hook"); + pragma Inline (menu_window_set_handle_hook); @@ -30,15 +32,18 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is Label : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_menu_window, "new_fl_menu_window"); + pragma Inline (new_fl_menu_window); function new_fl_menu_window2 (W, H : in Interfaces.C.int) return System.Address; pragma Import (C, new_fl_menu_window2, "new_fl_menu_window2"); + pragma Inline (new_fl_menu_window2); procedure free_fl_menu_window (M : in System.Address); pragma Import (C, free_fl_menu_window, "free_fl_menu_window"); + pragma Inline (free_fl_menu_window); @@ -46,14 +51,17 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is procedure fl_menu_window_show (M : in System.Address); pragma Import (C, fl_menu_window_show, "fl_menu_window_show"); + pragma Inline (fl_menu_window_show); procedure fl_menu_window_hide (M : in System.Address); pragma Import (C, fl_menu_window_hide, "fl_menu_window_hide"); + pragma Inline (fl_menu_window_hide); procedure fl_menu_window_flush (M : in System.Address); pragma Import (C, fl_menu_window_flush, "fl_menu_window_flush"); + pragma Inline (fl_menu_window_flush); @@ -61,15 +69,18 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is procedure fl_menu_window_set_overlay (M : in System.Address); pragma Import (C, fl_menu_window_set_overlay, "fl_menu_window_set_overlay"); + pragma Inline (fl_menu_window_set_overlay); procedure fl_menu_window_clear_overlay (M : in System.Address); pragma Import (C, fl_menu_window_clear_overlay, "fl_menu_window_clear_overlay"); + pragma Inline (fl_menu_window_clear_overlay); function fl_menu_window_overlay (M : in System.Address) return Interfaces.C.unsigned; pragma Import (C, fl_menu_window_overlay, "fl_menu_window_overlay"); + pragma Inline (fl_menu_window_overlay); @@ -77,12 +88,14 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is procedure fl_menu_window_draw (W : in System.Address); pragma Import (C, fl_menu_window_draw, "fl_menu_window_draw"); + pragma Inline (fl_menu_window_draw); function fl_menu_window_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_menu_window_handle, "fl_menu_window_handle"); + pragma Inline (fl_menu_window_handle); @@ -172,12 +185,12 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is - function Get_Overlay + function Is_Overlay (This : in Menu_Window) return Boolean is begin return fl_menu_window_overlay (This.Void_Ptr) /= 0; - end Get_Overlay; + end Is_Overlay; procedure Set_Overlay diff --git a/src/fltk-widgets-groups-windows-single-menu.ads b/src/fltk-widgets-groups-windows-single-menu.ads index 1ec5c1c..0d82bf8 100644 --- a/src/fltk-widgets-groups-windows-single-menu.ads +++ b/src/fltk-widgets-groups-windows-single-menu.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Groups.Windows.Single.Menu is type Menu_Window is new Single_Window with private; + type Menu_Window_Reference (Data : not null access Menu_Window'Class) is + limited null record with Implicit_Dereference => Data; + @@ -36,7 +39,7 @@ package FLTK.Widgets.Groups.Windows.Single.Menu is - function Get_Overlay + function Is_Overlay (This : in Menu_Window) return Boolean; @@ -65,5 +68,20 @@ private (This : in out Menu_Window); + + + pragma Inline (Show); + pragma Inline (Hide); + pragma Inline (Flush); + + + pragma Inline (Is_Overlay); + pragma Inline (Set_Overlay); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Groups.Windows.Single.Menu; diff --git a/src/fltk-widgets-groups-windows-single.adb b/src/fltk-widgets-groups-windows-single.adb index 22ca4a5..0dec8f1 100644 --- a/src/fltk-widgets-groups-windows-single.adb +++ b/src/fltk-widgets-groups-windows-single.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Groups.Windows.Single is procedure single_window_set_draw_hook (W, D : in System.Address); pragma Import (C, single_window_set_draw_hook, "single_window_set_draw_hook"); + pragma Inline (single_window_set_draw_hook); procedure single_window_set_handle_hook (W, H : in System.Address); pragma Import (C, single_window_set_handle_hook, "single_window_set_handle_hook"); + pragma Inline (single_window_set_handle_hook); @@ -29,15 +31,18 @@ package body FLTK.Widgets.Groups.Windows.Single is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_single_window, "new_fl_single_window"); + pragma Inline (new_fl_single_window); function new_fl_single_window2 (W, H : in Interfaces.C.int) return System.Address; pragma Import (C, new_fl_single_window2, "new_fl_single_window2"); + pragma Inline (new_fl_single_window2); procedure free_fl_single_window (S : in System.Address); pragma Import (C, free_fl_single_window, "free_fl_single_window"); + pragma Inline (free_fl_single_window); @@ -45,10 +50,12 @@ package body FLTK.Widgets.Groups.Windows.Single is procedure fl_single_window_show (S : in System.Address); pragma Import (C, fl_single_window_show, "fl_single_window_show"); + pragma Inline (fl_single_window_show); procedure fl_single_window_flush (S : in System.Address); pragma Import (C, fl_single_window_flush, "fl_single_window_flush"); + pragma Inline (fl_single_window_flush); @@ -56,12 +63,14 @@ package body FLTK.Widgets.Groups.Windows.Single is procedure fl_single_window_draw (W : in System.Address); pragma Import (C, fl_single_window_draw, "fl_single_window_draw"); + pragma Inline (fl_single_window_draw); function fl_single_window_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_single_window_handle, "fl_single_window_handle"); + pragma Inline (fl_single_window_handle); diff --git a/src/fltk-widgets-groups-windows-single.ads b/src/fltk-widgets-groups-windows-single.ads index e33597c..67acf9b 100644 --- a/src/fltk-widgets-groups-windows-single.ads +++ b/src/fltk-widgets-groups-windows-single.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Groups.Windows.Single is type Single_Window is new Window with private; + type Single_Window_Reference (Data : not null access Single_Window'Class) is + limited null record with Implicit_Dereference => Data; + @@ -51,5 +54,15 @@ private (This : in out Single_Window); + + + pragma Inline (Show); + pragma Inline (Flush); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Groups.Windows.Single; diff --git a/src/fltk-widgets-inputs-file.adb b/src/fltk-widgets-inputs-file.adb index cdbeca5..222b847 100644 --- a/src/fltk-widgets-inputs-file.adb +++ b/src/fltk-widgets-inputs-file.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Inputs.File is procedure file_input_set_draw_hook (W, D : in System.Address); pragma Import (C, file_input_set_draw_hook, "file_input_set_draw_hook"); + pragma Inline (file_input_set_draw_hook); procedure file_input_set_handle_hook (W, H : in System.Address); pragma Import (C, file_input_set_handle_hook, "file_input_set_handle_hook"); + pragma Inline (file_input_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Inputs.File is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_file_input, "new_fl_file_input"); + pragma Inline (new_fl_file_input); procedure free_fl_file_input (F : in System.Address); pragma Import (C, free_fl_file_input, "free_fl_file_input"); + pragma Inline (free_fl_file_input); @@ -41,21 +45,41 @@ package body FLTK.Widgets.Inputs.File is (F : in System.Address) return Interfaces.C.int; pragma Import (C, fl_file_input_get_down_box, "fl_file_input_get_down_box"); + pragma Inline (fl_file_input_get_down_box); procedure fl_file_input_set_down_box (F : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_file_input_set_down_box, "fl_file_input_set_down_box"); + pragma Inline (fl_file_input_set_down_box); function fl_file_input_get_errorcolor (F : in System.Address) return Interfaces.C.unsigned; pragma Import (C, fl_file_input_get_errorcolor, "fl_file_input_get_errorcolor"); + pragma Inline (fl_file_input_get_errorcolor); procedure fl_file_input_set_errorcolor (F : in System.Address; T : in Interfaces.C.unsigned); pragma Import (C, fl_file_input_set_errorcolor, "fl_file_input_set_errorcolor"); + pragma Inline (fl_file_input_set_errorcolor); + + + + + function fl_file_input_get_value + (F : in System.Address) + return Interfaces.C.Strings.chars_ptr; + pragma Import (C, fl_file_input_get_value, "fl_file_input_get_value"); + pragma Inline (fl_file_input_get_value); + + procedure fl_file_input_set_value + (I : in System.Address; + T : in Interfaces.C.char_array; + L : in Interfaces.C.int); + pragma Import (C, fl_file_input_set_value, "fl_file_input_set_value"); + pragma Inline (fl_file_input_set_value); @@ -63,12 +87,14 @@ package body FLTK.Widgets.Inputs.File is procedure fl_file_input_draw (W : in System.Address); pragma Import (C, fl_file_input_draw, "fl_file_input_draw"); + pragma Inline (fl_file_input_draw); function fl_file_input_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_file_input_handle, "fl_file_input_handle"); + pragma Inline (fl_file_input_handle); @@ -149,6 +175,25 @@ package body FLTK.Widgets.Inputs.File is + function Get_Value + (This : in Input) + return String is + begin + -- pointer to internal buffer only, so no Free required + return Interfaces.C.Strings.Value (fl_file_input_get_value (This.Void_Ptr)); + end Get_Value; + + + procedure Set_Value + (This : in out Input; + To : in String) is + begin + fl_file_input_set_value (This.Void_Ptr, Interfaces.C.To_C (To), To'Length); + end Set_Value; + + + + procedure Draw (This : in out File_Input) is begin diff --git a/src/fltk-widgets-inputs-file.ads b/src/fltk-widgets-inputs-file.ads index 3ef3561..3d1142a 100644 --- a/src/fltk-widgets-inputs-file.ads +++ b/src/fltk-widgets-inputs-file.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Inputs.File is type File_Input is new Input with private; + type File_Input_Reference (Data : not null access File_Input'Class) is + limited null record with Implicit_Dereference => Data; + @@ -39,6 +42,17 @@ package FLTK.Widgets.Inputs.File is + function Get_Value + (This : in Input) + return String; + + procedure Set_Value + (This : in out Input; + To : in String); + + + + procedure Draw (This : in out File_Input); @@ -57,5 +71,21 @@ private (This : in out File_Input); + + + pragma Inline (Get_Down_Box); + pragma Inline (Set_Down_Box); + pragma Inline (Get_Error_Color); + pragma Inline (Set_Error_Color); + + + pragma Inline (Get_Value); + pragma Inline (Set_Value); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Inputs.File; diff --git a/src/fltk-widgets-inputs-float.adb b/src/fltk-widgets-inputs-float.adb index 249b99b..3b1b5b3 100644 --- a/src/fltk-widgets-inputs-float.adb +++ b/src/fltk-widgets-inputs-float.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Inputs.Float is procedure float_input_set_draw_hook (W, D : in System.Address); pragma Import (C, float_input_set_draw_hook, "float_input_set_draw_hook"); + pragma Inline (float_input_set_draw_hook); procedure float_input_set_handle_hook (W, H : in System.Address); pragma Import (C, float_input_set_handle_hook, "float_input_set_handle_hook"); + pragma Inline (float_input_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Inputs.Float is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_float_input, "new_fl_float_input"); + pragma Inline (new_fl_float_input); procedure free_fl_float_input (F : in System.Address); pragma Import (C, free_fl_float_input, "free_fl_float_input"); + pragma Inline (free_fl_float_input); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Inputs.Float is procedure fl_float_input_draw (W : in System.Address); pragma Import (C, fl_float_input_draw, "fl_float_input_draw"); + pragma Inline (fl_float_input_draw); function fl_float_input_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_float_input_handle, "fl_float_input_handle"); + pragma Inline (fl_float_input_handle); diff --git a/src/fltk-widgets-inputs-float.ads b/src/fltk-widgets-inputs-float.ads index 1df1a98..39a58b3 100644 --- a/src/fltk-widgets-inputs-float.ads +++ b/src/fltk-widgets-inputs-float.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Inputs.Float is type Float_Input is new Input with private; + type Float_Input_Reference (Data : not null access Float_Input'Class) is + limited null record with Implicit_Dereference => Data; + @@ -45,5 +48,14 @@ private (This : in out Float_Input); + + + pragma Inline (Get_Value); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Inputs.Float; diff --git a/src/fltk-widgets-inputs-integer.adb b/src/fltk-widgets-inputs-integer.adb index b82545a..2f41e73 100644 --- a/src/fltk-widgets-inputs-integer.adb +++ b/src/fltk-widgets-inputs-integer.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Inputs.Integer is procedure int_input_set_draw_hook (W, D : in System.Address); pragma Import (C, int_input_set_draw_hook, "int_input_set_draw_hook"); + pragma Inline (int_input_set_draw_hook); procedure int_input_set_handle_hook (W, H : in System.Address); pragma Import (C, int_input_set_handle_hook, "int_input_set_handle_hook"); + pragma Inline (int_input_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Inputs.Integer is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_int_input, "new_fl_int_input"); + pragma Inline (new_fl_int_input); procedure free_fl_int_input (F : in System.Address); pragma Import (C, free_fl_int_input, "free_fl_int_input"); + pragma Inline (free_fl_int_input); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Inputs.Integer is procedure fl_int_input_draw (W : in System.Address); pragma Import (C, fl_int_input_draw, "fl_int_input_draw"); + pragma Inline (fl_int_input_draw); function fl_int_input_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_int_input_handle, "fl_int_input_handle"); + pragma Inline (fl_int_input_handle); diff --git a/src/fltk-widgets-inputs-integer.ads b/src/fltk-widgets-inputs-integer.ads index bde356c..f5e74f6 100644 --- a/src/fltk-widgets-inputs-integer.ads +++ b/src/fltk-widgets-inputs-integer.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Inputs.Integer is type Integer_Input is new Input with private; + type Integer_Input_Reference (Data : not null access Integer_Input'Class) is + limited null record with Implicit_Dereference => Data; + @@ -45,5 +48,14 @@ private (This : in out Integer_Input); + + + pragma Inline (Get_Value); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Inputs.Integer; diff --git a/src/fltk-widgets-inputs-multiline.adb b/src/fltk-widgets-inputs-multiline.adb index 43a51fe..f65cbc4 100644 --- a/src/fltk-widgets-inputs-multiline.adb +++ b/src/fltk-widgets-inputs-multiline.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Inputs.Multiline is procedure multiline_input_set_draw_hook (W, D : in System.Address); pragma Import (C, multiline_input_set_draw_hook, "multiline_input_set_draw_hook"); + pragma Inline (multiline_input_set_draw_hook); procedure multiline_input_set_handle_hook (W, H : in System.Address); pragma Import (C, multiline_input_set_handle_hook, "multiline_input_set_handle_hook"); + pragma Inline (multiline_input_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Inputs.Multiline is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_multiline_input, "new_fl_multiline_input"); + pragma Inline (new_fl_multiline_input); procedure free_fl_multiline_input (F : in System.Address); pragma Import (C, free_fl_multiline_input, "free_fl_multiline_input"); + pragma Inline (free_fl_multiline_input); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Inputs.Multiline is procedure fl_multiline_input_draw (W : in System.Address); pragma Import (C, fl_multiline_input_draw, "fl_multiline_input_draw"); + pragma Inline (fl_multiline_input_draw); function fl_multiline_input_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_multiline_input_handle, "fl_multiline_input_handle"); + pragma Inline (fl_multiline_input_handle); diff --git a/src/fltk-widgets-inputs-multiline.ads b/src/fltk-widgets-inputs-multiline.ads index 81cab45..7559759 100644 --- a/src/fltk-widgets-inputs-multiline.ads +++ b/src/fltk-widgets-inputs-multiline.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Inputs.Multiline is type Multiline_Input is new Input with private; + type Multiline_Input_Reference (Data : not null access Multiline_Input'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Multiline_Input); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Inputs.Multiline; diff --git a/src/fltk-widgets-inputs-outputs-multiline.adb b/src/fltk-widgets-inputs-outputs-multiline.adb index bf67397..2d5b9cf 100644 --- a/src/fltk-widgets-inputs-outputs-multiline.adb +++ b/src/fltk-widgets-inputs-outputs-multiline.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Inputs.Outputs.Multiline is procedure multiline_output_set_draw_hook (W, D : in System.Address); pragma Import (C, multiline_output_set_draw_hook, "multiline_output_set_draw_hook"); + pragma Inline (multiline_output_set_draw_hook); procedure multiline_output_set_handle_hook (W, H : in System.Address); pragma Import (C, multiline_output_set_handle_hook, "multiline_output_set_handle_hook"); + pragma Inline (multiline_output_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Inputs.Outputs.Multiline is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_multiline_output, "new_fl_multiline_output"); + pragma Inline (new_fl_multiline_output); procedure free_fl_multiline_output (F : in System.Address); pragma Import (C, free_fl_multiline_output, "free_fl_multiline_output"); + pragma Inline (free_fl_multiline_output); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Inputs.Outputs.Multiline is procedure fl_multiline_output_draw (W : in System.Address); pragma Import (C, fl_multiline_output_draw, "fl_multiline_output_draw"); + pragma Inline (fl_multiline_output_draw); function fl_multiline_output_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_multiline_output_handle, "fl_multiline_output_handle"); + pragma Inline (fl_multiline_output_handle); diff --git a/src/fltk-widgets-inputs-outputs-multiline.ads b/src/fltk-widgets-inputs-outputs-multiline.ads index 8a86280..05c13bf 100644 --- a/src/fltk-widgets-inputs-outputs-multiline.ads +++ b/src/fltk-widgets-inputs-outputs-multiline.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Inputs.Outputs.Multiline is type Multiline_Output is new Output with private; + type Multiline_Output_Reference (Data : not null access Multiline_Output'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Multiline_Output); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Inputs.Outputs.Multiline; diff --git a/src/fltk-widgets-inputs-outputs.adb b/src/fltk-widgets-inputs-outputs.adb index 00c7d0c..275c9be 100644 --- a/src/fltk-widgets-inputs-outputs.adb +++ b/src/fltk-widgets-inputs-outputs.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Inputs.Outputs is procedure output_set_draw_hook (W, D : in System.Address); pragma Import (C, output_set_draw_hook, "output_set_draw_hook"); + pragma Inline (output_set_draw_hook); procedure output_set_handle_hook (W, H : in System.Address); pragma Import (C, output_set_handle_hook, "output_set_handle_hook"); + pragma Inline (output_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Inputs.Outputs is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_output, "new_fl_output"); + pragma Inline (new_fl_output); procedure free_fl_output (F : in System.Address); pragma Import (C, free_fl_output, "free_fl_output"); + pragma Inline (free_fl_output); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Inputs.Outputs is procedure fl_output_draw (W : in System.Address); pragma Import (C, fl_output_draw, "fl_output_draw"); + pragma Inline (fl_output_draw); function fl_output_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_output_handle, "fl_output_handle"); + pragma Inline (fl_output_handle); diff --git a/src/fltk-widgets-inputs-outputs.ads b/src/fltk-widgets-inputs-outputs.ads index f686414..063b7bd 100644 --- a/src/fltk-widgets-inputs-outputs.ads +++ b/src/fltk-widgets-inputs-outputs.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Inputs.Outputs is type Output is new Input with private; + type Output_Reference (Data : not null access Output'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Output); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Inputs.Outputs; diff --git a/src/fltk-widgets-inputs-secret.adb b/src/fltk-widgets-inputs-secret.adb index 064c364..8fabd50 100644 --- a/src/fltk-widgets-inputs-secret.adb +++ b/src/fltk-widgets-inputs-secret.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Inputs.Secret is procedure secret_input_set_draw_hook (W, D : in System.Address); pragma Import (C, secret_input_set_draw_hook, "secret_input_set_draw_hook"); + pragma Inline (secret_input_set_draw_hook); procedure secret_input_set_handle_hook (W, H : in System.Address); pragma Import (C, secret_input_set_handle_hook, "secret_input_set_handle_hook"); + pragma Inline (secret_input_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Inputs.Secret is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_secret_input, "new_fl_secret_input"); + pragma Inline (new_fl_secret_input); procedure free_fl_secret_input (F : in System.Address); pragma Import (C, free_fl_secret_input, "free_fl_secret_input"); + pragma Inline (free_fl_secret_input); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Inputs.Secret is procedure fl_secret_input_draw (W : in System.Address); pragma Import (C, fl_secret_input_draw, "fl_secret_input_draw"); + pragma Inline (fl_secret_input_draw); function fl_secret_input_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_secret_input_handle, "fl_secret_input_handle"); + pragma Inline (fl_secret_input_handle); diff --git a/src/fltk-widgets-inputs-secret.ads b/src/fltk-widgets-inputs-secret.ads index 53ccaad..796b28f 100644 --- a/src/fltk-widgets-inputs-secret.ads +++ b/src/fltk-widgets-inputs-secret.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Inputs.Secret is type Secret_Input is new Input with private; + type Secret_Input_Reference (Data : not null access Secret_Input'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Secret_Input); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Inputs.Secret; diff --git a/src/fltk-widgets-inputs.adb b/src/fltk-widgets-inputs.adb index 5196911..9064ee8 100644 --- a/src/fltk-widgets-inputs.adb +++ b/src/fltk-widgets-inputs.adb @@ -17,10 +17,12 @@ package body FLTK.Widgets.Inputs is procedure input_set_draw_hook (W, D : in System.Address); pragma Import (C, input_set_draw_hook, "input_set_draw_hook"); + pragma Inline (input_set_draw_hook); procedure input_set_handle_hook (W, H : in System.Address); pragma Import (C, input_set_handle_hook, "input_set_handle_hook"); + pragma Inline (input_set_handle_hook); @@ -30,10 +32,12 @@ package body FLTK.Widgets.Inputs is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_input, "new_fl_input"); + pragma Inline (new_fl_input); procedure free_fl_input (F : in System.Address); pragma Import (C, free_fl_input, "free_fl_input"); + pragma Inline (free_fl_input); @@ -42,33 +46,39 @@ package body FLTK.Widgets.Inputs is (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_copy, "fl_input_copy"); + pragma Inline (fl_input_copy); function fl_input_cut (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_cut, "fl_input_cut"); + pragma Inline (fl_input_cut); function fl_input_cut2 (I : in System.Address; B : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_input_cut2, "fl_input_cut2"); + pragma Inline (fl_input_cut2); function fl_input_cut3 (I : in System.Address; A, B : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_input_cut3, "fl_input_cut3"); + pragma Inline (fl_input_cut3); function fl_input_copy_cuts (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_copy_cuts, "fl_input_copy_cuts"); + pragma Inline (fl_input_copy_cuts); function fl_input_undo (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_undo, "fl_input_undo"); + pragma Inline (fl_input_undo); @@ -77,31 +87,37 @@ package body FLTK.Widgets.Inputs is (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_readonly, "fl_input_get_readonly"); + pragma Inline (fl_input_get_readonly); procedure fl_input_set_readonly (I : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_input_set_readonly, "fl_input_set_readonly"); + pragma Inline (fl_input_set_readonly); function fl_input_get_tab_nav (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_tab_nav, "fl_input_get_tab_nav"); + pragma Inline (fl_input_get_tab_nav); procedure fl_input_set_tab_nav (I : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_input_set_tab_nav, "fl_input_set_tab_nav"); + pragma Inline (fl_input_set_tab_nav); function fl_input_get_wrap (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_wrap, "fl_input_get_wrap"); + pragma Inline (fl_input_get_wrap); procedure fl_input_set_wrap (I : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_input_set_wrap, "fl_input_set_wrap"); + pragma Inline (fl_input_set_wrap); @@ -110,43 +126,51 @@ package body FLTK.Widgets.Inputs is (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_input_type, "fl_input_get_input_type"); + pragma Inline (fl_input_get_input_type); procedure fl_input_set_input_type (I : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_input_set_input_type, "fl_input_set_input_type"); + pragma Inline (fl_input_set_input_type); function fl_input_get_shortcut (I : in System.Address) return Interfaces.C.unsigned_long; pragma Import (C, fl_input_get_shortcut, "fl_input_get_shortcut"); + pragma Inline (fl_input_get_shortcut); procedure fl_input_set_shortcut (I : in System.Address; T : in Interfaces.C.unsigned_long); pragma Import (C, fl_input_set_shortcut, "fl_input_set_shortcut"); + pragma Inline (fl_input_set_shortcut); function fl_input_get_mark (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_mark, "fl_input_get_mark"); + pragma Inline (fl_input_get_mark); function fl_input_set_mark (I : in System.Address; T : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_input_set_mark, "fl_input_set_mark"); + pragma Inline (fl_input_set_mark); function fl_input_get_position (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_position, "fl_input_get_position"); + pragma Inline (fl_input_get_position); function fl_input_set_position (I : in System.Address; T : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_input_set_position, "fl_input_set_position"); + pragma Inline (fl_input_set_position); @@ -156,6 +180,7 @@ package body FLTK.Widgets.Inputs is P : in Interfaces.C.int) return Interfaces.C.unsigned; pragma Import (C, fl_input_index, "fl_input_index"); + pragma Inline (fl_input_index); function fl_input_insert (I : in System.Address; @@ -163,6 +188,7 @@ package body FLTK.Widgets.Inputs is L : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_input_insert, "fl_input_insert"); + pragma Inline (fl_input_insert); function fl_input_replace (I : in System.Address; @@ -171,12 +197,14 @@ package body FLTK.Widgets.Inputs is L : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_input_replace, "fl_input_replace"); + pragma Inline (fl_input_replace); procedure fl_input_set_value (I : in System.Address; T : in Interfaces.C.char_array; L : in Interfaces.C.int); pragma Import (C, fl_input_set_value, "fl_input_set_value"); + pragma Inline (fl_input_set_value); @@ -185,16 +213,19 @@ package body FLTK.Widgets.Inputs is (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_maximum_size, "fl_input_get_maximum_size"); + pragma Inline (fl_input_get_maximum_size); procedure fl_input_set_maximum_size (I : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_input_set_maximum_size, "fl_input_set_maximum_size"); + pragma Inline (fl_input_set_maximum_size); function fl_input_get_size (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_size, "fl_input_get_size"); + pragma Inline (fl_input_get_size); @@ -203,41 +234,49 @@ package body FLTK.Widgets.Inputs is (I : in System.Address) return Interfaces.C.unsigned; pragma Import (C, fl_input_get_cursor_color, "fl_input_get_cursor_color"); + pragma Inline (fl_input_get_cursor_color); procedure fl_input_set_cursor_color (I : in System.Address; T : in Interfaces.C.unsigned); pragma Import (C, fl_input_set_cursor_color, "fl_input_set_cursor_color"); + pragma Inline (fl_input_set_cursor_color); function fl_input_get_textcolor (I : in System.Address) return Interfaces.C.unsigned; pragma Import (C, fl_input_get_textcolor, "fl_input_get_textcolor"); + pragma Inline (fl_input_get_textcolor); procedure fl_input_set_textcolor (I : in System.Address; T : in Interfaces.C.unsigned); pragma Import (C, fl_input_set_textcolor, "fl_input_set_textcolor"); + pragma Inline (fl_input_set_textcolor); function fl_input_get_textfont (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_textfont, "fl_input_get_textfont"); + pragma Inline (fl_input_get_textfont); procedure fl_input_set_textfont (I : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_input_set_textfont, "fl_input_set_textfont"); + pragma Inline (fl_input_set_textfont); function fl_input_get_textsize (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_input_get_textsize, "fl_input_get_textsize"); + pragma Inline (fl_input_get_textsize); procedure fl_input_set_textsize (I : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_input_set_textsize, "fl_input_set_textsize"); + pragma Inline (fl_input_set_textsize); @@ -246,6 +285,7 @@ package body FLTK.Widgets.Inputs is (I : in System.Address; W, H : in Interfaces.C.int); pragma Import (C, fl_input_set_size, "fl_input_set_size"); + pragma Inline (fl_input_set_size); @@ -253,12 +293,14 @@ package body FLTK.Widgets.Inputs is procedure fl_input_draw (W : in System.Address); pragma Import (C, fl_input_draw, "fl_input_draw"); + pragma Inline (fl_input_draw); function fl_input_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_input_handle, "fl_input_handle"); + pragma Inline (fl_input_handle); @@ -528,6 +570,7 @@ package body FLTK.Widgets.Inputs is (This : in Input) return String is begin + -- pointer to internal buffer only, so no Free required return Interfaces.C.Strings.Value (fl_input_get_value (This.Void_Ptr)); end Get_Value; @@ -672,6 +715,8 @@ package body FLTK.Widgets.Inputs is fl_input_set_input_type (This.Void_Ptr, Input_Kind_Values (To)); end Set_Input_Type; + pragma Inline (Set_Input_Type); + end Extra; diff --git a/src/fltk-widgets-inputs.ads b/src/fltk-widgets-inputs.ads index d3bcbba..c22efb3 100644 --- a/src/fltk-widgets-inputs.ads +++ b/src/fltk-widgets-inputs.ads @@ -11,7 +11,7 @@ package FLTK.Widgets.Inputs is type Input is new Widget with private; - type Input_Cursor (Data : access Input'Class) is limited null record + type Input_Reference (Data : not null access Input'Class) is limited null record with Implicit_Dereference => Data; type Input_Kind is @@ -236,6 +236,62 @@ private + pragma Inline (Copy); + pragma Inline (Cut); + pragma Inline (Copy_Cuts); + pragma Inline (Undo); + + + pragma Inline (Has_Changed); + pragma Inline (Clear_Changed); + pragma Inline (Is_Readonly); + pragma Inline (Set_Readonly); + pragma Inline (Is_Tab_Nav); + pragma Inline (Set_Tab_Nav); + pragma Inline (Is_Wrap); + pragma Inline (Set_Wrap); + + + pragma Inline (Get_Input_Type); + pragma Inline (Get_Shortcut_Key); + pragma Inline (Set_Shortcut_Key); + pragma Inline (Get_Mark); + pragma Inline (Set_Mark); + pragma Inline (Get_Position); + pragma Inline (Set_Position); + + + pragma Inline (Index); + pragma Inline (Insert); + pragma Inline (Replace); + pragma Inline (Get_Value); + pragma Inline (Set_Value); + + + pragma Inline (Get_Maximum_Size); + pragma Inline (Set_Maximum_Size); + pragma Inline (Size); + + + pragma Inline (Get_Cursor_Color); + pragma Inline (Set_Cursor_Color); + 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); + + + pragma Inline (Resize); + + + pragma Inline (Draw); + pragma Inline (Handle); + + + + Input_Kind_Values : array (Input_Kind) of Interfaces.C.int := (Normal_Kind => 0, Float_Kind => 1, @@ -252,6 +308,7 @@ private (F : in System.Address) return Interfaces.C.Strings.chars_ptr; pragma Import (C, fl_input_get_value, "fl_input_get_value"); + pragma Inline (fl_input_get_value); end FLTK.Widgets.Inputs; |