diff options
author | Jed Barber <jjbarber@y7mail.com> | 2017-06-02 00:59:01 +1000 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2017-06-02 00:59:01 +1000 |
commit | 2bedfea19a5dc0df0f7487098af3fe247f47f00a (patch) | |
tree | 940d71b17bdea38fcfa9950d26f48ee23671e229 /src/fltk-widgets-groups-text_displays.adb | |
parent | fbdf22f733d8fafd7193bee3080e2eaeab95b86f (diff) |
More methods added to Text_Display widget
Diffstat (limited to 'src/fltk-widgets-groups-text_displays.adb')
-rw-r--r-- | src/fltk-widgets-groups-text_displays.adb | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/src/fltk-widgets-groups-text_displays.adb b/src/fltk-widgets-groups-text_displays.adb index 27324c2..1bee23f 100644 --- a/src/fltk-widgets-groups-text_displays.adb +++ b/src/fltk-widgets-groups-text_displays.adb @@ -38,6 +38,33 @@ package body FLTK.Widgets.Groups.Text_Displays is (TD, TB : in System.Address); pragma Import (C, fl_text_display_set_buffer, "fl_text_display_set_buffer"); + function fl_text_display_col_to_x + (TD : in System.Address; + C : in Interfaces.C.double) + return Interfaces.C.double; + pragma Import (C, fl_text_display_col_to_x, "fl_text_display_col_to_x"); + + function fl_text_display_x_to_col + (TD : in System.Address; + X : in Interfaces.C.double) + return Interfaces.C.double; + pragma Import (C, fl_text_display_x_to_col, "fl_text_display_x_to_col"); + + function fl_text_display_get_cursor_color + (TD : in System.Address) + return Interfaces.C.int; + pragma Import (C, fl_text_display_get_cursor_color, "fl_text_display_get_cursor_color"); + + procedure fl_text_display_set_cursor_color + (TD : in System.Address; + C : in Interfaces.C.int); + pragma Import (C, fl_text_display_set_cursor_color, "fl_text_display_set_cursor_color"); + + procedure fl_text_display_set_cursor_style + (TD : in System.Address; + S : in Interfaces.C.int); + pragma Import (C, fl_text_display_set_cursor_style, "fl_text_display_set_cursor_style"); + function fl_text_display_get_text_color (TD : in System.Address) return Interfaces.C.int; @@ -95,6 +122,12 @@ package body FLTK.Widgets.Groups.Text_Displays is W, M : in Interfaces.C.int); pragma Import (C, fl_text_display_wrap_mode, "fl_text_display_wrap_mode"); + function fl_text_display_count_lines + (TD : in System.Address; + S, F, P : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, fl_text_display_count_lines, "fl_text_display_count_lines"); + function fl_text_display_skip_lines (TD : in System.Address; S, L, P : in Interfaces.C.int) @@ -186,6 +219,60 @@ package body FLTK.Widgets.Groups.Text_Displays is + function Col_To_X + (This : in Text_Display; + Col_Num : in Integer) + return Integer is + begin + return Integer (Interfaces.C.double'Rounding + (fl_text_display_col_to_x (This.Void_Ptr, Interfaces.C.double (Col_Num)))); + end Col_To_X; + + + + + function X_To_Col + (This : in Text_Display; + X_Pos : in Integer) + return Integer is + begin + return Integer (Interfaces.C.double'Rounding + (fl_text_display_x_to_col (This.Void_Ptr, Interfaces.C.double (X_Pos)))); + end X_To_Col; + + + + + function Get_Cursor_Color + (This : in Text_Display) + return Color is + begin + return Color (fl_text_display_get_cursor_color (This.Void_Ptr)); + end Get_Cursor_Color; + + + + + procedure Set_Cursor_Color + (This : in out Text_Display; + Col : in Color) is + begin + fl_text_display_set_cursor_color (This.Void_Ptr, Interfaces.C.int (Col)); + end Set_Cursor_Color; + + + + + procedure Set_Cursor_Style + (This : in out Text_Display; + Style : in Cursor_Style) is + begin + fl_text_display_set_cursor_style (This.Void_Ptr, Cursor_Style'Pos (Style)); + end Set_Cursor_Style; + + + + function Get_Text_Color (This : in Text_Display) return Color is @@ -307,6 +394,22 @@ package body FLTK.Widgets.Groups.Text_Displays is + function Count_Lines + (This : in Text_Display; + Start, Finish : in Natural; + Start_Pos_Is_Line_Start : in Boolean := False) + return Natural is + begin + return Natural (fl_text_display_count_lines + (This.Void_Ptr, + Interfaces.C.int (Start), + Interfaces.C.int (Finish), + Boolean'Pos (Start_Pos_Is_Line_Start))); + end Count_Lines; + + + + function Skip_Lines (This : in out Text_Display; Start, Lines : in Natural; |