summaryrefslogtreecommitdiff
path: root/src/fltk_binding/fltk-text_buffers.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/fltk_binding/fltk-text_buffers.adb')
-rw-r--r--src/fltk_binding/fltk-text_buffers.adb34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/fltk_binding/fltk-text_buffers.adb b/src/fltk_binding/fltk-text_buffers.adb
index 6a25399..6df96cb 100644
--- a/src/fltk_binding/fltk-text_buffers.adb
+++ b/src/fltk_binding/fltk-text_buffers.adb
@@ -67,6 +67,15 @@ package body FLTK.Text_Buffers is
return Interfaces.C.int;
pragma Import (C, fl_text_buffer_savefile, "fl_text_buffer_savefile");
+ function fl_text_buffer_search_forward
+ (TB : in System.Address;
+ SP : in Interfaces.C.int;
+ IT : in Interfaces.C.char_array;
+ FP : out Interfaces.C.int;
+ CA : in Interfaces.C.int)
+ return Interfaces.C.int;
+ pragma Import (C, fl_text_buffer_search_forward, "fl_text_buffer_search_forward");
+
procedure fl_text_buffer_select
(TB : in System.Address;
S, E : in Interfaces.C.int);
@@ -281,6 +290,31 @@ package body FLTK.Text_Buffers is
+ function Search_Forward
+ (This : in Text_Buffer;
+ Start_At : in Natural;
+ Item : in String;
+ Found_At : out Natural;
+ Match_Case : in Boolean)
+ return Boolean is
+
+ Found_Raw : Interfaces.C.int;
+ Result : Interfaces.C.int;
+
+ begin
+ Result := fl_text_buffer_search_forward
+ (This.Void_Ptr,
+ Interfaces.C.int (Start_At),
+ Interfaces.C.To_C (Item),
+ Found_Raw,
+ Boolean'Pos (Match_Case));
+ Found_At := Natural (Found_Raw);
+ return Boolean'Val (Result);
+ end Search_Forward;
+
+
+
+
procedure Set_Selection
(This : in out Text_Buffer;
Start, Finish : in Natural) is