diff options
author | Jed Barber <jjbarber@y7mail.com> | 2017-05-30 19:39:56 +1000 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2017-05-30 19:39:56 +1000 |
commit | 76f20d2f2f7e9ffb99c3ef94021cd9181e31c0cf (patch) | |
tree | bdeb0a35712753301b29a74375fc7d1ec7055045 | |
parent | dbb118c28e8348797ce3ccc1a6c7f1ec4f1f4968 (diff) |
Added window border methods to Window widget
-rw-r--r-- | src/c_fl_window.cpp | 10 | ||||
-rw-r--r-- | src/c_fl_window.h | 2 | ||||
-rw-r--r-- | src/fltk-widgets-groups-windows.adb | 29 | ||||
-rw-r--r-- | src/fltk-widgets-groups-windows.ads | 13 |
4 files changed, 54 insertions, 0 deletions
diff --git a/src/c_fl_window.cpp b/src/c_fl_window.cpp index dba9ac1..fcaf6b0 100644 --- a/src/c_fl_window.cpp +++ b/src/c_fl_window.cpp @@ -96,6 +96,16 @@ void fl_window_hide(WINDOW n) { } +unsigned int fl_window_get_border(WINDOW n) { + return reinterpret_cast<Fl_Window*>(n)->border(); +} + + +void fl_window_set_border(WINDOW n, int b) { + reinterpret_cast<Fl_Window*>(n)->border(b); +} + + void fl_window_set_label(WINDOW n, char* text) { reinterpret_cast<Fl_Window*>(n)->copy_label(text); } diff --git a/src/c_fl_window.h b/src/c_fl_window.h index 6ac2e1a..bd2cf53 100644 --- a/src/c_fl_window.h +++ b/src/c_fl_window.h @@ -20,6 +20,8 @@ extern "C" void free_fl_window(WINDOW n); extern "C" void fl_window_show(WINDOW n); extern "C" void fl_window_hide(WINDOW n); +extern "C" unsigned int fl_window_get_border(WINDOW n); +extern "C" void fl_window_set_border(WINDOW n, int b); extern "C" void fl_window_set_label(WINDOW n, char* text); extern "C" void fl_window_size_range(WINDOW n, int lw, int lh, int hw, int hh, int dw, int dh, int a); extern "C" void fl_window_set_icon(WINDOW n, void * img); diff --git a/src/fltk-widgets-groups-windows.adb b/src/fltk-widgets-groups-windows.adb index 130b87a..5e399e2 100644 --- a/src/fltk-widgets-groups-windows.adb +++ b/src/fltk-widgets-groups-windows.adb @@ -42,6 +42,16 @@ package body FLTK.Widgets.Groups.Windows is (W : in System.Address); pragma Import (C, fl_window_hide, "fl_window_hide"); + function fl_window_get_border + (W : in System.Address) + return Interfaces.C.unsigned; + pragma Import (C, fl_window_get_border, "fl_window_get_border"); + + procedure fl_window_set_border + (W : in System.Address; + S : in Interfaces.C.int); + pragma Import (C, fl_window_set_border, "fl_window_set_border"); + procedure fl_window_set_label (W : in System.Address; T : in Interfaces.C.char_array); @@ -154,6 +164,25 @@ package body FLTK.Widgets.Groups.Windows is + function Get_Border + (This : in Window) + return Border_State is + begin + return Border_State'Val (fl_window_get_border (This.Void_Ptr)); + end Get_Border; + + + + procedure Set_Border + (This : in out Window; + To : in Border_State) is + begin + fl_window_set_border (This.Void_Ptr, Border_State'Pos (To)); + end Set_Border; + + + + procedure Set_Label (This : in out Window; Text : in String) is diff --git a/src/fltk-widgets-groups-windows.ads b/src/fltk-widgets-groups-windows.ads index 2963c4e..eea2a6e 100644 --- a/src/fltk-widgets-groups-windows.ads +++ b/src/fltk-widgets-groups-windows.ads @@ -9,6 +9,9 @@ package FLTK.Widgets.Groups.Windows is type Window is new Group with private; + type Border_State is (None, Visible); + + function Create (X, Y, W, H : in Integer; Text : in String) @@ -28,6 +31,16 @@ package FLTK.Widgets.Groups.Windows is (This : in Window); + function Get_Border + (This : in Window) + return Border_State; + + + procedure Set_Border + (This : in out Window; + To : in Border_State); + + procedure Set_Label (This : in out Window; Text : in String); |