diff options
author | Jed Barber <jjbarber@y7mail.com> | 2018-04-15 19:41:33 +1000 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2018-04-15 19:41:33 +1000 |
commit | a4b6a06f372923fb38ae4d3c7e0429ce93ea7748 (patch) | |
tree | e10bb89f38cdb7ad61b28fb1ab401765682da318 /src | |
parent | 39d3db4cbdfa9d55c428bce9382166744406f936 (diff) |
Started process of polishing packages
Diffstat (limited to 'src')
39 files changed, 353 insertions, 116 deletions
diff --git a/src/c_fl_box.h b/src/c_fl_box.h index 4c61c4e..10e0d5f 100644 --- a/src/c_fl_box.h +++ b/src/c_fl_box.h @@ -11,16 +11,16 @@ typedef void* BOX; -extern "C" void box_set_draw_hook(BOX n, void * d); -extern "C" void fl_box_draw(BOX n); -extern "C" void box_set_handle_hook(BOX n, void * h); -extern "C" int fl_box_handle(BOX n, int e); +extern "C" inline void box_set_draw_hook(BOX n, void * d); +extern "C" inline void fl_box_draw(BOX n); +extern "C" inline void box_set_handle_hook(BOX n, void * h); +extern "C" inline int fl_box_handle(BOX n, int e); -extern "C" BOX new_fl_box(int x, int y, int w, int h, char * label); -extern "C" void free_fl_box(BOX b); +extern "C" inline BOX new_fl_box(int x, int y, int w, int h, char * label); +extern "C" inline void free_fl_box(BOX b); #endif diff --git a/src/c_fl_button.cpp b/src/c_fl_button.cpp index bdd3eb3..749913d 100644 --- a/src/c_fl_button.cpp +++ b/src/c_fl_button.cpp @@ -71,34 +71,34 @@ void free_fl_button(BUTTON b) { int fl_button_get_state(BUTTON b) { - return reinterpret_cast<Fl_Button*>(b)->value(); + return reinterpret_cast<Fl_Button*>(b)->Fl_Button::value(); } void fl_button_set_state(BUTTON b, int s) { - reinterpret_cast<Fl_Button*>(b)->value(s); + reinterpret_cast<Fl_Button*>(b)->Fl_Button::value(s); } void fl_button_set_only(BUTTON b) { - reinterpret_cast<Fl_Button*>(b)->setonly(); + reinterpret_cast<Fl_Button*>(b)->Fl_Button::setonly(); } int fl_button_get_down_box(BUTTON b) { - return reinterpret_cast<Fl_Button*>(b)->down_box(); + return reinterpret_cast<Fl_Button*>(b)->Fl_Button::down_box(); } void fl_button_set_down_box(BUTTON b, int t) { - reinterpret_cast<Fl_Button*>(b)->down_box(static_cast<Fl_Boxtype>(t)); + reinterpret_cast<Fl_Button*>(b)->Fl_Button::down_box(static_cast<Fl_Boxtype>(t)); } int fl_button_get_shortcut(BUTTON b) { - return reinterpret_cast<Fl_Button*>(b)->shortcut(); + return reinterpret_cast<Fl_Button*>(b)->Fl_Button::shortcut(); } void fl_button_set_shortcut(BUTTON b, int k) { - reinterpret_cast<Fl_Button*>(b)->shortcut(k); + reinterpret_cast<Fl_Button*>(b)->Fl_Button::shortcut(k); } diff --git a/src/c_fl_button.h b/src/c_fl_button.h index 33120ad..2a71fd2 100644 --- a/src/c_fl_button.h +++ b/src/c_fl_button.h @@ -11,29 +11,29 @@ typedef void* BUTTON; -extern "C" void button_set_draw_hook(BUTTON b, void * d); -extern "C" void fl_button_draw(BUTTON b); -extern "C" void button_set_handle_hook(BUTTON b, void * h); -extern "C" int fl_button_handle(BUTTON b, int e); +extern "C" inline void button_set_draw_hook(BUTTON b, void * d); +extern "C" inline void fl_button_draw(BUTTON b); +extern "C" inline void button_set_handle_hook(BUTTON b, void * h); +extern "C" inline int fl_button_handle(BUTTON b, int e); -extern "C" BUTTON new_fl_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_button(BUTTON b); +extern "C" inline BUTTON new_fl_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_button(BUTTON b); -extern "C" int fl_button_get_state(BUTTON b); -extern "C" void fl_button_set_state(BUTTON b, int s); -extern "C" void fl_button_set_only(BUTTON b); +extern "C" inline int fl_button_get_state(BUTTON b); +extern "C" inline void fl_button_set_state(BUTTON b, int s); +extern "C" inline void fl_button_set_only(BUTTON b); -extern "C" int fl_button_get_down_box(BUTTON b); -extern "C" void fl_button_set_down_box(BUTTON b, int t); -extern "C" int fl_button_get_shortcut(BUTTON b); -extern "C" void fl_button_set_shortcut(BUTTON b, int k); +extern "C" inline int fl_button_get_down_box(BUTTON b); +extern "C" inline void fl_button_set_down_box(BUTTON b, int t); +extern "C" inline int fl_button_get_shortcut(BUTTON b); +extern "C" inline void fl_button_set_shortcut(BUTTON b, int k); #endif diff --git a/src/c_fl_check_button.h b/src/c_fl_check_button.h index 24fff48..fb415e9 100644 --- a/src/c_fl_check_button.h +++ b/src/c_fl_check_button.h @@ -11,16 +11,16 @@ typedef void* CHECKBUTTON; -extern "C" void check_button_set_draw_hook(CHECKBUTTON b, void * d); -extern "C" void fl_check_button_draw(CHECKBUTTON b); -extern "C" void check_button_set_handle_hook(CHECKBUTTON b, void * h); -extern "C" int fl_check_button_handle(CHECKBUTTON b, int e); +extern "C" inline void check_button_set_draw_hook(CHECKBUTTON b, void * d); +extern "C" inline void fl_check_button_draw(CHECKBUTTON b); +extern "C" inline void check_button_set_handle_hook(CHECKBUTTON b, void * h); +extern "C" inline int fl_check_button_handle(CHECKBUTTON b, int e); -extern "C" CHECKBUTTON new_fl_check_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_check_button(CHECKBUTTON b); +extern "C" inline CHECKBUTTON new_fl_check_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_check_button(CHECKBUTTON b); #endif diff --git a/src/c_fl_light_button.h b/src/c_fl_light_button.h index 1a9fab4..7c4a258 100644 --- a/src/c_fl_light_button.h +++ b/src/c_fl_light_button.h @@ -11,16 +11,16 @@ typedef void* LIGHTBUTTON; -extern "C" void light_button_set_draw_hook(LIGHTBUTTON b, void * d); -extern "C" void fl_light_button_draw(LIGHTBUTTON b); -extern "C" void light_button_set_handle_hook(LIGHTBUTTON b, void * h); -extern "C" int fl_light_button_handle(LIGHTBUTTON b, int e); +extern "C" inline void light_button_set_draw_hook(LIGHTBUTTON b, void * d); +extern "C" inline void fl_light_button_draw(LIGHTBUTTON b); +extern "C" inline void light_button_set_handle_hook(LIGHTBUTTON b, void * h); +extern "C" inline int fl_light_button_handle(LIGHTBUTTON b, int e); -extern "C" LIGHTBUTTON new_fl_light_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_light_button(LIGHTBUTTON b); +extern "C" inline LIGHTBUTTON new_fl_light_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_light_button(LIGHTBUTTON b); #endif diff --git a/src/c_fl_radio_button.h b/src/c_fl_radio_button.h index 0a517e8..3b85026 100644 --- a/src/c_fl_radio_button.h +++ b/src/c_fl_radio_button.h @@ -11,16 +11,16 @@ typedef void* RADIOBUTTON; -extern "C" void radio_button_set_draw_hook(RADIOBUTTON b, void * d); -extern "C" void fl_radio_button_draw(RADIOBUTTON b); -extern "C" void radio_button_set_handle_hook(RADIOBUTTON b, void * h); -extern "C" int fl_radio_button_handle(RADIOBUTTON b, int e); +extern "C" inline void radio_button_set_draw_hook(RADIOBUTTON b, void * d); +extern "C" inline void fl_radio_button_draw(RADIOBUTTON b); +extern "C" inline void radio_button_set_handle_hook(RADIOBUTTON b, void * h); +extern "C" inline int fl_radio_button_handle(RADIOBUTTON b, int e); -extern "C" RADIOBUTTON new_fl_radio_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_radio_button(RADIOBUTTON b); +extern "C" inline RADIOBUTTON new_fl_radio_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_radio_button(RADIOBUTTON b); #endif diff --git a/src/c_fl_radio_light_button.h b/src/c_fl_radio_light_button.h index 57d56b0..546ed85 100644 --- a/src/c_fl_radio_light_button.h +++ b/src/c_fl_radio_light_button.h @@ -11,16 +11,16 @@ typedef void* RADIOLIGHTBUTTON; -extern "C" void radio_light_button_set_draw_hook(RADIOLIGHTBUTTON b, void * d); -extern "C" void fl_radio_light_button_draw(RADIOLIGHTBUTTON b); -extern "C" void radio_light_button_set_handle_hook(RADIOLIGHTBUTTON b, void * h); -extern "C" int fl_radio_light_button_handle(RADIOLIGHTBUTTON b, int e); +extern "C" inline void radio_light_button_set_draw_hook(RADIOLIGHTBUTTON b, void * d); +extern "C" inline void fl_radio_light_button_draw(RADIOLIGHTBUTTON b); +extern "C" inline void radio_light_button_set_handle_hook(RADIOLIGHTBUTTON b, void * h); +extern "C" inline int fl_radio_light_button_handle(RADIOLIGHTBUTTON b, int e); -extern "C" RADIOLIGHTBUTTON new_fl_radio_light_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_radio_light_button(RADIOLIGHTBUTTON b); +extern "C" inline RADIOLIGHTBUTTON new_fl_radio_light_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_radio_light_button(RADIOLIGHTBUTTON b); #endif diff --git a/src/c_fl_radio_round_button.h b/src/c_fl_radio_round_button.h index 04c8748..b4d8c3b 100644 --- a/src/c_fl_radio_round_button.h +++ b/src/c_fl_radio_round_button.h @@ -11,16 +11,16 @@ typedef void* RADIOROUNDBUTTON; -extern "C" void radio_round_button_set_draw_hook(RADIOROUNDBUTTON b, void * d); -extern "C" void fl_radio_round_button_draw(RADIOROUNDBUTTON b); -extern "C" void radio_round_button_set_handle_hook(RADIOROUNDBUTTON b, void * h); -extern "C" int fl_radio_round_button_handle(RADIOROUNDBUTTON b, int e); +extern "C" inline void radio_round_button_set_draw_hook(RADIOROUNDBUTTON b, void * d); +extern "C" inline void fl_radio_round_button_draw(RADIOROUNDBUTTON b); +extern "C" inline void radio_round_button_set_handle_hook(RADIOROUNDBUTTON b, void * h); +extern "C" inline int fl_radio_round_button_handle(RADIOROUNDBUTTON b, int e); -extern "C" RADIOROUNDBUTTON new_fl_radio_round_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_radio_round_button(RADIOROUNDBUTTON b); +extern "C" inline RADIOROUNDBUTTON new_fl_radio_round_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_radio_round_button(RADIOROUNDBUTTON b); #endif diff --git a/src/c_fl_repeat_button.h b/src/c_fl_repeat_button.h index fdc3320..d24024e 100644 --- a/src/c_fl_repeat_button.h +++ b/src/c_fl_repeat_button.h @@ -11,16 +11,16 @@ typedef void* REPEATBUTTON; -extern "C" void repeat_button_set_draw_hook(REPEATBUTTON b, void * d); -extern "C" void fl_repeat_button_draw(REPEATBUTTON b); -extern "C" void repeat_button_set_handle_hook(REPEATBUTTON b, void * h); -extern "C" int fl_repeat_button_handle(REPEATBUTTON b, int e); +extern "C" inline void repeat_button_set_draw_hook(REPEATBUTTON b, void * d); +extern "C" inline void fl_repeat_button_draw(REPEATBUTTON b); +extern "C" inline void repeat_button_set_handle_hook(REPEATBUTTON b, void * h); +extern "C" inline int fl_repeat_button_handle(REPEATBUTTON b, int e); -extern "C" REPEATBUTTON new_fl_repeat_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_repeat_button(REPEATBUTTON b); +extern "C" inline REPEATBUTTON new_fl_repeat_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_repeat_button(REPEATBUTTON b); #endif diff --git a/src/c_fl_return_button.h b/src/c_fl_return_button.h index 59928a7..b2ebf44 100644 --- a/src/c_fl_return_button.h +++ b/src/c_fl_return_button.h @@ -11,16 +11,16 @@ typedef void* RETURNBUTTON; -extern "C" void return_button_set_draw_hook(RETURNBUTTON b, void * d); -extern "C" void fl_return_button_draw(RETURNBUTTON b); -extern "C" void return_button_set_handle_hook(RETURNBUTTON b, void * h); -extern "C" int fl_return_button_handle(RETURNBUTTON b, int e); +extern "C" inline void return_button_set_draw_hook(RETURNBUTTON b, void * d); +extern "C" inline void fl_return_button_draw(RETURNBUTTON b); +extern "C" inline void return_button_set_handle_hook(RETURNBUTTON b, void * h); +extern "C" inline int fl_return_button_handle(RETURNBUTTON b, int e); -extern "C" RETURNBUTTON new_fl_return_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_return_button(RETURNBUTTON b); +extern "C" inline RETURNBUTTON new_fl_return_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_return_button(RETURNBUTTON b); #endif diff --git a/src/c_fl_round_button.h b/src/c_fl_round_button.h index f812746..8deecc9 100644 --- a/src/c_fl_round_button.h +++ b/src/c_fl_round_button.h @@ -11,16 +11,16 @@ typedef void* ROUNDBUTTON; -extern "C" void round_button_set_draw_hook(ROUNDBUTTON b, void * d); -extern "C" void fl_round_button_draw(ROUNDBUTTON b); -extern "C" void round_button_set_handle_hook(ROUNDBUTTON b, void * h); -extern "C" int fl_round_button_handle(ROUNDBUTTON b, int e); +extern "C" inline void round_button_set_draw_hook(ROUNDBUTTON b, void * d); +extern "C" inline void fl_round_button_draw(ROUNDBUTTON b); +extern "C" inline void round_button_set_handle_hook(ROUNDBUTTON b, void * h); +extern "C" inline int fl_round_button_handle(ROUNDBUTTON b, int e); -extern "C" ROUNDBUTTON new_fl_round_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_round_button(ROUNDBUTTON b); +extern "C" inline ROUNDBUTTON new_fl_round_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_round_button(ROUNDBUTTON b); #endif diff --git a/src/c_fl_toggle_button.h b/src/c_fl_toggle_button.h index 88dcbae..af32249 100644 --- a/src/c_fl_toggle_button.h +++ b/src/c_fl_toggle_button.h @@ -11,16 +11,16 @@ typedef void* TOGGLEBUTTON; -extern "C" void toggle_button_set_draw_hook(TOGGLEBUTTON b, void * d); -extern "C" void fl_toggle_button_draw(TOGGLEBUTTON b); -extern "C" void toggle_button_set_handle_hook(TOGGLEBUTTON b, void * h); -extern "C" int fl_toggle_button_handle(TOGGLEBUTTON b, int e); +extern "C" inline void toggle_button_set_draw_hook(TOGGLEBUTTON b, void * d); +extern "C" inline void fl_toggle_button_draw(TOGGLEBUTTON b); +extern "C" inline void toggle_button_set_handle_hook(TOGGLEBUTTON b, void * h); +extern "C" inline int fl_toggle_button_handle(TOGGLEBUTTON b, int e); -extern "C" TOGGLEBUTTON new_fl_toggle_button(int x, int y, int w, int h, char* label); -extern "C" void free_fl_toggle_button(TOGGLEBUTTON b); +extern "C" inline TOGGLEBUTTON new_fl_toggle_button(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_toggle_button(TOGGLEBUTTON b); #endif diff --git a/src/c_fl_tooltip.h b/src/c_fl_tooltip.h index b5a3644..b45657a 100644 --- a/src/c_fl_tooltip.h +++ b/src/c_fl_tooltip.h @@ -6,35 +6,35 @@ -extern "C" void * fl_tooltip_get_current(void); -extern "C" void fl_tooltip_set_current(void * i); -extern "C" int fl_tooltip_enabled(void); -extern "C" void fl_tooltip_enable(int v); -extern "C" void fl_tooltip_enter_area(void * i, int x, int y, int w, int h, const char * t); - - -extern "C" float fl_tooltip_get_delay(void); -extern "C" void fl_tooltip_set_delay(float v); -extern "C" float fl_tooltip_get_hoverdelay(void); -extern "C" void fl_tooltip_set_hoverdelay(float v); - - -extern "C" unsigned int fl_tooltip_get_color(void); -extern "C" void fl_tooltip_set_color(unsigned int v); -extern "C" int fl_tooltip_get_margin_height(void); -//extern "C" void fl_tooltip_set_margin_height(int v); -extern "C" int fl_tooltip_get_margin_width(void); -//extern "C" void fl_tooltip_set_margin_width(int v); -extern "C" int fl_tooltip_get_wrap_width(void); -//extern "C" void fl_tooltip_set_wrap_width(int v); - - -extern "C" unsigned int fl_tooltip_get_textcolor(void); -extern "C" void fl_tooltip_set_textcolor(unsigned int v); -extern "C" int fl_tooltip_get_font(void); -extern "C" void fl_tooltip_set_font(int v); -extern "C" int fl_tooltip_get_size(void); -extern "C" void fl_tooltip_set_size(int v); +extern "C" inline void * fl_tooltip_get_current(void); +extern "C" inline void fl_tooltip_set_current(void * i); +extern "C" inline int fl_tooltip_enabled(void); +extern "C" inline void fl_tooltip_enable(int v); +extern "C" inline void fl_tooltip_enter_area(void * i, int x, int y, int w, int h, const char * t); + + +extern "C" inline float fl_tooltip_get_delay(void); +extern "C" inline void fl_tooltip_set_delay(float v); +extern "C" inline float fl_tooltip_get_hoverdelay(void); +extern "C" inline void fl_tooltip_set_hoverdelay(float v); + + +extern "C" inline unsigned int fl_tooltip_get_color(void); +extern "C" inline void fl_tooltip_set_color(unsigned int v); +extern "C" inline int fl_tooltip_get_margin_height(void); +//extern "C" inline void fl_tooltip_set_margin_height(int v); +extern "C" inline int fl_tooltip_get_margin_width(void); +//extern "C" inline void fl_tooltip_set_margin_width(int v); +extern "C" inline int fl_tooltip_get_wrap_width(void); +//extern "C" inline void fl_tooltip_set_wrap_width(int v); + + +extern "C" inline unsigned int fl_tooltip_get_textcolor(void); +extern "C" inline void fl_tooltip_set_textcolor(unsigned int v); +extern "C" inline int fl_tooltip_get_font(void); +extern "C" inline void fl_tooltip_set_font(int v); +extern "C" inline int fl_tooltip_get_size(void); +extern "C" inline void fl_tooltip_set_size(int v); #endif diff --git a/src/fltk-dialogs.adb b/src/fltk-dialogs.adb index 20f4c6b..46c14ad 100644 --- a/src/fltk-dialogs.adb +++ b/src/fltk-dialogs.adb @@ -259,7 +259,7 @@ package body FLTK.Dialogs is function Get_Message_Icon - return FLTK.Widgets.Boxes.Box_Cursor is + return FLTK.Widgets.Boxes.Box_Reference is begin return (Data => Icon_Box'Access); end Get_Message_Icon; diff --git a/src/fltk-dialogs.ads b/src/fltk-dialogs.ads index 0368834..03d1416 100644 --- a/src/fltk-dialogs.ads +++ b/src/fltk-dialogs.ads @@ -78,7 +78,7 @@ package FLTK.Dialogs is Size : in Font_Size); function Get_Message_Icon - return FLTK.Widgets.Boxes.Box_Cursor; + return FLTK.Widgets.Boxes.Box_Reference; procedure Set_Message_Title (To : in String); diff --git a/src/fltk-tooltips.adb b/src/fltk-tooltips.adb index 38bcf66..720e417 100644 --- a/src/fltk-tooltips.adb +++ b/src/fltk-tooltips.adb @@ -7,7 +7,8 @@ with use type - Interfaces.C.int; + Interfaces.C.int, + System.Address; package body FLTK.Tooltips is @@ -16,24 +17,29 @@ package body FLTK.Tooltips is function fl_tooltip_get_current return System.Address; pragma Import (C, fl_tooltip_get_current, "fl_tooltip_get_current"); + pragma Inline (fl_tooltip_get_current); procedure fl_tooltip_set_current (I : in System.Address); pragma Import (C, fl_tooltip_set_current, "fl_tooltip_set_current"); + pragma Inline (fl_tooltip_set_current); function fl_tooltip_enabled return Interfaces.C.int; pragma Import (C, fl_tooltip_enabled, "fl_tooltip_enabled"); + pragma Inline (fl_tooltip_enabled); procedure fl_tooltip_enable (V : in Interfaces.C.int); pragma Import (C, fl_tooltip_enable, "fl_tooltip_enable"); + pragma Inline (fl_tooltip_enable); procedure fl_tooltip_enter_area (I : in System.Address; X, Y, W, H : in Interfaces.C.int; T : in Interfaces.C.char_array); pragma Import (C, fl_tooltip_enter_area, "fl_tooltip_enter_area"); + pragma Inline (fl_tooltip_enter_area); @@ -41,18 +47,22 @@ package body FLTK.Tooltips is function fl_tooltip_get_delay return Interfaces.C.C_float; pragma Import (C, fl_tooltip_get_delay, "fl_tooltip_get_delay"); + pragma Inline (fl_tooltip_get_delay); procedure fl_tooltip_set_delay (V : in Interfaces.C.C_float); pragma Import (C, fl_tooltip_set_delay, "fl_tooltip_set_delay"); + pragma Inline (fl_tooltip_set_delay); function fl_tooltip_get_hoverdelay return Interfaces.C.C_float; pragma Import (C, fl_tooltip_get_hoverdelay, "fl_tooltip_get_hoverdelay"); + pragma Inline (fl_tooltip_get_hoverdelay); procedure fl_tooltip_set_hoverdelay (V : in Interfaces.C.C_float); pragma Import (C, fl_tooltip_set_hoverdelay, "fl_tooltip_set_hoverdelay"); + pragma Inline (fl_tooltip_set_hoverdelay); @@ -60,34 +70,42 @@ package body FLTK.Tooltips is function fl_tooltip_get_color return Interfaces.C.unsigned; pragma Import (C, fl_tooltip_get_color, "fl_tooltip_get_color"); + pragma Inline (fl_tooltip_get_color); procedure fl_tooltip_set_color (V : in Interfaces.C.unsigned); pragma Import (C, fl_tooltip_set_color, "fl_tooltip_set_color"); + pragma Inline (fl_tooltip_set_color); function fl_tooltip_get_margin_height return Interfaces.C.int; pragma Import (C, fl_tooltip_get_margin_height, "fl_tooltip_get_margin_height"); + pragma Inline (fl_tooltip_get_margin_height); -- procedure fl_tooltip_set_margin_height -- (V : in Interfaces.C.int); -- pragma Import (C, fl_tooltip_set_margin_height, "fl_tooltip_set_margin_height"); + -- pragma Inline (fl_tooltip_set_margin_height); function fl_tooltip_get_margin_width return Interfaces.C.int; pragma Import (C, fl_tooltip_get_margin_width, "fl_tooltip_get_margin_width"); + pragma Inline (fl_tooltip_get_margin_width); -- procedure fl_tooltip_set_margin_width -- (V : in Interfaces.C.int); -- pragma Import (C, fl_tooltip_set_margin_width, "fl_tooltip_set_margin_width"); + -- pragma Inline (fl_tooltip_set_margin_width); function fl_tooltip_get_wrap_width return Interfaces.C.int; pragma Import (C, fl_tooltip_get_wrap_width, "fl_tooltip_get_wrap_width"); + pragma Inline (fl_tooltip_get_wrap_width); -- procedure fl_tooltip_set_wrap_width -- (V : in Interfaces.C.int); -- pragma Import (C, fl_tooltip_set_wrap_width, "fl_tooltip_set_wrap_width"); + -- pragma Inline (fl_tooltip_set_wrap_width); @@ -95,26 +113,32 @@ package body FLTK.Tooltips is function fl_tooltip_get_textcolor return Interfaces.C.unsigned; pragma Import (C, fl_tooltip_get_textcolor, "fl_tooltip_get_textcolor"); + pragma Inline (fl_tooltip_get_textcolor); procedure fl_tooltip_set_textcolor (V : in Interfaces.C.unsigned); pragma Import (C, fl_tooltip_set_textcolor, "fl_tooltip_set_textcolor"); + pragma Inline (fl_tooltip_set_textcolor); function fl_tooltip_get_font return Interfaces.C.int; pragma Import (C, fl_tooltip_get_font, "fl_tooltip_get_font"); + pragma Inline (fl_tooltip_get_font); procedure fl_tooltip_set_font (V : in Interfaces.C.int); pragma Import (C, fl_tooltip_set_font, "fl_tooltip_set_font"); + pragma Inline (fl_tooltip_set_font); function fl_tooltip_get_size return Interfaces.C.int; pragma Import (C, fl_tooltip_get_size, "fl_tooltip_get_size"); + pragma Inline (fl_tooltip_get_size); procedure fl_tooltip_set_size (V : in Interfaces.C.int); pragma Import (C, fl_tooltip_set_size, "fl_tooltip_set_size"); + pragma Inline (fl_tooltip_set_size); @@ -123,6 +147,7 @@ package body FLTK.Tooltips is (W : in System.Address) return System.Address; pragma Import (C, fl_widget_get_user_data, "fl_widget_get_user_data"); + pragma Inline (fl_widget_get_user_data); package Widget_Convert is new System.Address_To_Access_Conversions (FLTK.Widgets.Widget'Class); @@ -134,10 +159,12 @@ package body FLTK.Tooltips is return access FLTK.Widgets.Widget'Class is Widget_Ptr : System.Address := fl_tooltip_get_current; - Actual_Widget : access FLTK.Widgets.Widget'Class := - Widget_Convert.To_Pointer (fl_widget_get_user_data (Widget_Ptr)); begin - return Actual_Widget; + if Widget_Ptr /= System.Null_Address then + return Widget_Convert.To_Pointer (fl_widget_get_user_data (Widget_Ptr)); + else + return null; + end if; end Get_Target; diff --git a/src/fltk-tooltips.ads b/src/fltk-tooltips.ads index 153825f..f4b3044 100644 --- a/src/fltk-tooltips.ads +++ b/src/fltk-tooltips.ads @@ -89,5 +89,39 @@ package FLTK.Tooltips is (To : in Font_Size); +private + + + pragma Inline (Get_Target); + pragma Inline (Set_Target); + pragma Inline (Is_Enabled); + pragma Inline (Set_Enabled); + pragma Inline (Enter_Area); + + + pragma Inline (Get_Delay); + pragma Inline (Set_Delay); + pragma Inline (Get_Hover_Delay); + pragma Inline (Set_Hover_Delay); + + + pragma Inline (Get_Background_Color); + pragma Inline (Set_Background_Color); + pragma Inline (Get_Margin_Height); + -- pragma Inline (Set_Margin_Height); + pragma Inline (Get_Margin_Width); + -- pragma Inline (Set_Margin_Width); + pragma Inline (Get_Wrap_Width); + -- pragma Inline (Set_Wrap_Width); + + + pragma Inline (Get_Text_Color); + pragma Inline (Set_Text_Color); + pragma Inline (Get_Text_Font); + pragma Inline (Set_Text_Font); + pragma Inline (Get_Text_Size); + pragma Inline (Set_Text_Size); + + end FLTK.Tooltips; diff --git a/src/fltk-widgets-boxes.adb b/src/fltk-widgets-boxes.adb index e60f0f7..b6f7fc6 100644 --- a/src/fltk-widgets-boxes.adb +++ b/src/fltk-widgets-boxes.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Boxes is procedure box_set_draw_hook (W, D : in System.Address); pragma Import (C, box_set_draw_hook, "box_set_draw_hook"); + pragma Inline (box_set_draw_hook); procedure box_set_handle_hook (W, H : in System.Address); pragma Import (C, box_set_handle_hook, "box_set_handle_hook"); + pragma Inline (box_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Boxes is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_box, "new_fl_box"); + pragma Inline (new_fl_box); procedure free_fl_box (B : in System.Address); pragma Import (C, free_fl_box, "free_fl_box"); + pragma Inline (free_fl_box); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Boxes is procedure fl_box_draw (W : in System.Address); pragma Import (C, fl_box_draw, "fl_box_draw"); + pragma Inline (fl_box_draw); function fl_box_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_box_handle, "fl_box_handle"); + pragma Inline (fl_box_handle); diff --git a/src/fltk-widgets-boxes.ads b/src/fltk-widgets-boxes.ads index ef551b5..db64e0c 100644 --- a/src/fltk-widgets-boxes.ads +++ b/src/fltk-widgets-boxes.ads @@ -5,7 +5,7 @@ package FLTK.Widgets.Boxes is type Box is new Widget with private; - type Box_Cursor (Data : access Box'Class) is limited null record + type Box_Reference (Data : not null access Box'Class) is limited null record with Implicit_Dereference => Data; @@ -41,5 +41,11 @@ private (This : in out Box); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Boxes; diff --git a/src/fltk-widgets-buttons-enter.adb b/src/fltk-widgets-buttons-enter.adb index 2fcb2a8..2edd991 100644 --- a/src/fltk-widgets-buttons-enter.adb +++ b/src/fltk-widgets-buttons-enter.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Enter is procedure return_button_set_draw_hook (W, D : in System.Address); pragma Import (C, return_button_set_draw_hook, "return_button_set_draw_hook"); + pragma Inline (return_button_set_draw_hook); procedure return_button_set_handle_hook (W, H : in System.Address); pragma Import (C, return_button_set_handle_hook, "return_button_set_handle_hook"); + pragma Inline (return_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Enter is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_return_button, "new_fl_return_button"); + pragma Inline (new_fl_return_button); procedure free_fl_return_button (B : in System.Address); pragma Import (C, free_fl_return_button, "free_fl_return_button"); + pragma Inline (free_fl_return_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Enter is procedure fl_return_button_draw (W : in System.Address); pragma Import (C, fl_return_button_draw, "fl_return_button_draw"); + pragma Inline (fl_return_button_draw); function fl_return_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_return_button_handle, "fl_return_button_handle"); + pragma Inline (fl_return_button_handle); diff --git a/src/fltk-widgets-buttons-enter.ads b/src/fltk-widgets-buttons-enter.ads index 1b9ceab..8492cca 100644 --- a/src/fltk-widgets-buttons-enter.ads +++ b/src/fltk-widgets-buttons-enter.ads @@ -8,6 +8,9 @@ package FLTK.Widgets.Buttons.Enter is type Enter_Button is new Button with private; + type Enter_Button_Reference (Data : not null access Enter_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -41,5 +44,11 @@ private (This : in out Enter_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Enter; diff --git a/src/fltk-widgets-buttons-light-check.adb b/src/fltk-widgets-buttons-light-check.adb index df54720..415a91b 100644 --- a/src/fltk-widgets-buttons-light-check.adb +++ b/src/fltk-widgets-buttons-light-check.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light.Check is procedure check_button_set_draw_hook (W, D : in System.Address); pragma Import (C, check_button_set_draw_hook, "check_button_set_draw_hook"); + pragma Inline (check_button_set_draw_hook); procedure check_button_set_handle_hook (W, H : in System.Address); pragma Import (C, check_button_set_handle_hook, "check_button_set_handle_hook"); + pragma Inline (check_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light.Check is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_check_button, "new_fl_check_button"); + pragma Inline (new_fl_check_button); procedure free_fl_check_button (B : in System.Address); pragma Import (C, free_fl_check_button, "free_fl_check_button"); + pragma Inline (free_fl_check_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light.Check is procedure fl_check_button_draw (W : in System.Address); pragma Import (C, fl_check_button_draw, "fl_check_button_draw"); + pragma Inline (fl_check_button_draw); function fl_check_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_check_button_handle, "fl_check_button_handle"); + pragma Inline (fl_check_button_handle); diff --git a/src/fltk-widgets-buttons-light-check.ads b/src/fltk-widgets-buttons-light-check.ads index 0e746d9..87ef863 100644 --- a/src/fltk-widgets-buttons-light-check.ads +++ b/src/fltk-widgets-buttons-light-check.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light.Check is type Check_Button is new Light_Button with private; + type Check_Button_Reference (Data : not null access Check_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Check_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Light.Check; diff --git a/src/fltk-widgets-buttons-light-radio.adb b/src/fltk-widgets-buttons-light-radio.adb index 6df1abd..8f0db60 100644 --- a/src/fltk-widgets-buttons-light-radio.adb +++ b/src/fltk-widgets-buttons-light-radio.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light.Radio is procedure radio_light_button_set_draw_hook (W, D : in System.Address); pragma Import (C, radio_light_button_set_draw_hook, "radio_light_button_set_draw_hook"); + pragma Inline (radio_light_button_set_draw_hook); procedure radio_light_button_set_handle_hook (W, H : in System.Address); pragma Import (C, radio_light_button_set_handle_hook, "radio_light_button_set_handle_hook"); + pragma Inline (radio_light_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light.Radio is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_radio_light_button, "new_fl_radio_light_button"); + pragma Inline (new_fl_radio_light_button); procedure free_fl_radio_light_button (B : in System.Address); pragma Import (C, free_fl_radio_light_button, "free_fl_radio_light_button"); + pragma Inline (free_fl_radio_light_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light.Radio is procedure fl_radio_light_button_draw (W : in System.Address); pragma Import (C, fl_radio_light_button_draw, "fl_radio_light_button_draw"); + pragma Inline (fl_radio_light_button_draw); function fl_radio_light_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_radio_light_button_handle, "fl_radio_light_button_handle"); + pragma Inline (fl_radio_light_button_handle); diff --git a/src/fltk-widgets-buttons-light-radio.ads b/src/fltk-widgets-buttons-light-radio.ads index 6536d5d..385de81 100644 --- a/src/fltk-widgets-buttons-light-radio.ads +++ b/src/fltk-widgets-buttons-light-radio.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light.Radio is type Radio_Light_Button is new Light_Button with private; + type Radio_Light_Button_Reference (Data : not null access Radio_Light_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Radio_Light_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Light.Radio; diff --git a/src/fltk-widgets-buttons-light-round-radio.adb b/src/fltk-widgets-buttons-light-round-radio.adb index 6bdc8b3..b97b714 100644 --- a/src/fltk-widgets-buttons-light-round-radio.adb +++ b/src/fltk-widgets-buttons-light-round-radio.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light.Round.Radio is procedure radio_round_button_set_draw_hook (W, D : in System.Address); pragma Import (C, radio_round_button_set_draw_hook, "radio_round_button_set_draw_hook"); + pragma Inline (radio_round_button_set_draw_hook); procedure radio_round_button_set_handle_hook (W, H : in System.Address); pragma Import (C, radio_round_button_set_handle_hook, "radio_round_button_set_handle_hook"); + pragma Inline (radio_round_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light.Round.Radio is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_radio_round_button, "new_fl_radio_round_button"); + pragma Inline (new_fl_radio_round_button); procedure free_fl_radio_round_button (B : in System.Address); pragma Import (C, free_fl_radio_round_button, "free_fl_radio_round_button"); + pragma Inline (free_fl_radio_round_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light.Round.Radio is procedure fl_radio_round_button_draw (W : in System.Address); pragma Import (C, fl_radio_round_button_draw, "fl_radio_round_button_draw"); + pragma Inline (fl_radio_round_button_draw); function fl_radio_round_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_radio_round_button_handle, "fl_radio_round_button_handle"); + pragma Inline (fl_radio_round_button_handle); diff --git a/src/fltk-widgets-buttons-light-round-radio.ads b/src/fltk-widgets-buttons-light-round-radio.ads index 00a3c90..a4715a8 100644 --- a/src/fltk-widgets-buttons-light-round-radio.ads +++ b/src/fltk-widgets-buttons-light-round-radio.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light.Round.Radio is type Radio_Round_Button is new Round_Button with private; + type Radio_Round_Button_Reference (Data : not null access Radio_Round_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Radio_Round_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Light.Round.Radio; diff --git a/src/fltk-widgets-buttons-light-round.adb b/src/fltk-widgets-buttons-light-round.adb index 3287308..dd3fa29 100644 --- a/src/fltk-widgets-buttons-light-round.adb +++ b/src/fltk-widgets-buttons-light-round.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light.Round is procedure round_button_set_draw_hook (W, D : in System.Address); pragma Import (C, round_button_set_draw_hook, "round_button_set_draw_hook"); + pragma Inline (round_button_set_draw_hook); procedure round_button_set_handle_hook (W, H : in System.Address); pragma Import (C, round_button_set_handle_hook, "round_button_set_handle_hook"); + pragma Inline (round_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light.Round is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_round_button, "new_fl_round_button"); + pragma Inline (new_fl_round_button); procedure free_fl_round_button (B : in System.Address); pragma Import (C, free_fl_round_button, "free_fl_round_button"); + pragma Inline (free_fl_round_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light.Round is procedure fl_round_button_draw (W : in System.Address); pragma Import (C, fl_round_button_draw, "fl_round_button_draw"); + pragma Inline (fl_round_button_draw); function fl_round_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_round_button_handle, "fl_round_button_handle"); + pragma Inline (fl_round_button_handle); diff --git a/src/fltk-widgets-buttons-light-round.ads b/src/fltk-widgets-buttons-light-round.ads index 22736b6..52d5e78 100644 --- a/src/fltk-widgets-buttons-light-round.ads +++ b/src/fltk-widgets-buttons-light-round.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light.Round is type Round_Button is new Light_Button with private; + type Round_Button_Reference (Data : not null access Round_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Round_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Light.Round; diff --git a/src/fltk-widgets-buttons-light.adb b/src/fltk-widgets-buttons-light.adb index 21c9efc..dc258b2 100644 --- a/src/fltk-widgets-buttons-light.adb +++ b/src/fltk-widgets-buttons-light.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Light is procedure light_button_set_draw_hook (W, D : in System.Address); pragma Import (C, light_button_set_draw_hook, "light_button_set_draw_hook"); + pragma Inline (light_button_set_draw_hook); procedure light_button_set_handle_hook (W, H : in System.Address); pragma Import (C, light_button_set_handle_hook, "light_button_set_handle_hook"); + pragma Inline (light_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Light is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_light_button, "new_fl_light_button"); + pragma Inline (new_fl_light_button); procedure free_fl_light_button (B : in System.Address); pragma Import (C, free_fl_light_button, "free_fl_light_button"); + pragma Inline (free_fl_light_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Light is procedure fl_light_button_draw (W : in System.Address); pragma Import (C, fl_light_button_draw, "fl_light_button_draw"); + pragma Inline (fl_light_button_draw); function fl_light_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_light_button_handle, "fl_light_button_handle"); + pragma Inline (fl_light_button_handle); diff --git a/src/fltk-widgets-buttons-light.ads b/src/fltk-widgets-buttons-light.ads index b7429ed..e270ba9 100644 --- a/src/fltk-widgets-buttons-light.ads +++ b/src/fltk-widgets-buttons-light.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Light is type Light_Button is new Button with private; + type Light_Button_Reference (Data : not null access Light_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Light_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Light; diff --git a/src/fltk-widgets-buttons-radio.adb b/src/fltk-widgets-buttons-radio.adb index 6a5ff01..d6ae492 100644 --- a/src/fltk-widgets-buttons-radio.adb +++ b/src/fltk-widgets-buttons-radio.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Radio is procedure radio_button_set_draw_hook (W, D : in System.Address); pragma Import (C, radio_button_set_draw_hook, "radio_button_set_draw_hook"); + pragma Inline (radio_button_set_draw_hook); procedure radio_button_set_handle_hook (W, H : in System.Address); pragma Import (C, radio_button_set_handle_hook, "radio_button_set_handle_hook"); + pragma Inline (radio_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Radio is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_radio_button, "new_fl_radio_button"); + pragma Inline (new_fl_radio_button); procedure free_fl_radio_button (B : in System.Address); pragma Import (C, free_fl_radio_button, "free_fl_radio_button"); + pragma Inline (free_fl_radio_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Radio is procedure fl_radio_button_draw (W : in System.Address); pragma Import (C, fl_radio_button_draw, "fl_radio_button_draw"); + pragma Inline (fl_radio_button_draw); function fl_radio_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_radio_button_handle, "fl_radio_button_handle"); + pragma Inline (fl_radio_button_handle); diff --git a/src/fltk-widgets-buttons-radio.ads b/src/fltk-widgets-buttons-radio.ads index b62847a..2125af9 100644 --- a/src/fltk-widgets-buttons-radio.ads +++ b/src/fltk-widgets-buttons-radio.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Radio is type Radio_Button is new Button with private; + type Radio_Button_Reference (Data : not null access Radio_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Radio_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Radio; diff --git a/src/fltk-widgets-buttons-repeat.adb b/src/fltk-widgets-buttons-repeat.adb index 7bbc6b1..eaebeb4 100644 --- a/src/fltk-widgets-buttons-repeat.adb +++ b/src/fltk-widgets-buttons-repeat.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Repeat is procedure repeat_button_set_draw_hook (W, D : in System.Address); pragma Import (C, repeat_button_set_draw_hook, "repeat_button_set_draw_hook"); + pragma Inline (repeat_button_set_draw_hook); procedure repeat_button_set_handle_hook (W, H : in System.Address); pragma Import (C, repeat_button_set_handle_hook, "repeat_button_set_handle_hook"); + pragma Inline (repeat_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Repeat is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_repeat_button, "new_fl_repeat_button"); + pragma Inline (new_fl_repeat_button); procedure free_fl_repeat_button (B : in System.Address); pragma Import (C, free_fl_repeat_button, "free_fl_repeat_button"); + pragma Inline (free_fl_repeat_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Repeat is procedure fl_repeat_button_draw (W : in System.Address); pragma Import (C, fl_repeat_button_draw, "fl_repeat_button_draw"); + pragma Inline (fl_repeat_button_draw); function fl_repeat_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_repeat_button_handle, "fl_repeat_button_handle"); + pragma Inline (fl_repeat_button_handle); diff --git a/src/fltk-widgets-buttons-repeat.ads b/src/fltk-widgets-buttons-repeat.ads index 2f495db..0273741 100644 --- a/src/fltk-widgets-buttons-repeat.ads +++ b/src/fltk-widgets-buttons-repeat.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Repeat is type Repeat_Button is new Button with private; + type Repeat_Button_Reference (Data : not null access Repeat_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Repeat_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Repeat; diff --git a/src/fltk-widgets-buttons-toggle.adb b/src/fltk-widgets-buttons-toggle.adb index 60f8de3..bf945e5 100644 --- a/src/fltk-widgets-buttons-toggle.adb +++ b/src/fltk-widgets-buttons-toggle.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons.Toggle is procedure toggle_button_set_draw_hook (W, D : in System.Address); pragma Import (C, toggle_button_set_draw_hook, "toggle_button_set_draw_hook"); + pragma Inline (toggle_button_set_draw_hook); procedure toggle_button_set_handle_hook (W, H : in System.Address); pragma Import (C, toggle_button_set_handle_hook, "toggle_button_set_handle_hook"); + pragma Inline (toggle_button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons.Toggle is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_toggle_button, "new_fl_toggle_button"); + pragma Inline (new_fl_toggle_button); procedure free_fl_toggle_button (B : in System.Address); pragma Import (C, free_fl_toggle_button, "free_fl_toggle_button"); + pragma Inline (free_fl_toggle_button); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Buttons.Toggle is procedure fl_toggle_button_draw (W : in System.Address); pragma Import (C, fl_toggle_button_draw, "fl_toggle_button_draw"); + pragma Inline (fl_toggle_button_draw); function fl_toggle_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_toggle_button_handle, "fl_toggle_button_handle"); + pragma Inline (fl_toggle_button_handle); diff --git a/src/fltk-widgets-buttons-toggle.ads b/src/fltk-widgets-buttons-toggle.ads index d2f26a1..90c898e 100644 --- a/src/fltk-widgets-buttons-toggle.ads +++ b/src/fltk-widgets-buttons-toggle.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons.Toggle is type Toggle_Button is new Button with private; + type Toggle_Button_Reference (Data : not null access Toggle_Button'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Toggle_Button); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons.Toggle; diff --git a/src/fltk-widgets-buttons.adb b/src/fltk-widgets-buttons.adb index 9024f8e..050c571 100644 --- a/src/fltk-widgets-buttons.adb +++ b/src/fltk-widgets-buttons.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Buttons is procedure button_set_draw_hook (W, D : in System.Address); pragma Import (C, button_set_draw_hook, "button_set_draw_hook"); + pragma Inline (button_set_draw_hook); procedure button_set_handle_hook (W, H : in System.Address); pragma Import (C, button_set_handle_hook, "button_set_handle_hook"); + pragma Inline (button_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Buttons is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_button, "new_fl_button"); + pragma Inline (new_fl_button); procedure free_fl_button (B : in System.Address); pragma Import (C, free_fl_button, "free_fl_button"); + pragma Inline (free_fl_button); @@ -41,15 +45,18 @@ package body FLTK.Widgets.Buttons is (B : in System.Address) return Interfaces.C.int; pragma Import (C, fl_button_get_state, "fl_button_get_state"); + pragma Inline (fl_button_get_state); procedure fl_button_set_state (B : in System.Address; S : in Interfaces.C.int); pragma Import (C, fl_button_set_state, "fl_button_set_state"); + pragma Inline (fl_button_set_state); procedure fl_button_set_only (B : in System.Address); pragma Import (C, fl_button_set_only, "fl_button_set_only"); + pragma Inline (fl_button_set_only); @@ -58,21 +65,25 @@ package body FLTK.Widgets.Buttons is (B : in System.Address) return Interfaces.C.int; pragma Import (C, fl_button_get_down_box, "fl_button_get_down_box"); + pragma Inline (fl_button_get_down_box); procedure fl_button_set_down_box (B : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_button_set_down_box, "fl_button_set_down_box"); + pragma Inline (fl_button_set_down_box); function fl_button_get_shortcut (B : in System.Address) return Interfaces.C.int; pragma Import (C, fl_button_get_shortcut, "fl_button_get_shortcut"); + pragma Inline (fl_button_get_shortcut); procedure fl_button_set_shortcut (B : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_button_set_shortcut, "fl_button_set_shortcut"); + pragma Inline (fl_button_set_shortcut); @@ -80,12 +91,14 @@ package body FLTK.Widgets.Buttons is procedure fl_button_draw (W : in System.Address); pragma Import (C, fl_button_draw, "fl_button_draw"); + pragma Inline (fl_button_draw); function fl_button_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_button_handle, "fl_button_handle"); + pragma Inline (fl_button_handle); diff --git a/src/fltk-widgets-buttons.ads b/src/fltk-widgets-buttons.ads index f740b32..7c70c2e 100644 --- a/src/fltk-widgets-buttons.ads +++ b/src/fltk-widgets-buttons.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Buttons is type Button is new Widget with private; + type Button_Reference (Data : not null access Button'Class) is limited null record + with Implicit_Dereference => Data; + type State is (Off, On); @@ -73,5 +76,18 @@ private (This : in out Button); + + + pragma Inline (Get_State); + pragma Inline (Set_State); + pragma Inline (Set_Only); + pragma Inline (Get_Down_Box); + pragma Inline (Set_Down_Box); + pragma Inline (Get_Shortcut); + pragma Inline (Set_Shortcut); + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Buttons; |