summaryrefslogtreecommitdiff
path: root/src/fltk-widgets-groups-text_displays.adb
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2017-06-02 00:59:01 +1000
committerJed Barber <jjbarber@y7mail.com>2017-06-02 00:59:01 +1000
commit2bedfea19a5dc0df0f7487098af3fe247f47f00a (patch)
tree940d71b17bdea38fcfa9950d26f48ee23671e229 /src/fltk-widgets-groups-text_displays.adb
parentfbdf22f733d8fafd7193bee3080e2eaeab95b86f (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.adb103
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;