<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Fl_Text_Display Binding Map</title>
    <link href="map.css" rel="stylesheet">
  </head>

  <body>


<h2>Fl_Text_Display Binding Map</h2>


<a href="index.html">Back to Index</a>


<table class="package">
  <tr><th colspan="2">Package name</th></tr>

  <tr>
    <td>Fl_Text_Display</td>
    <td>FLTK.Widgets.Groups.Text_Displays</td>
  </tr>

</table>



<table class="type">
  <tr><th colspan="2">Types</th></tr>

  <tr>
    <td>Fl_Text_Display</td>
    <td>Text_Display</td>
  </tr>

  <tr>
    <td>&nbsp;</td>
    <td>Text_Display_Reference</td>
  </tr>

  <tr>
    <td>enum {<br />
    NORMAL_CURSOR,<br />
    CARET_CURSOR,<br />
    DIM_CURSOR,<br />
    BLOCK_CURSOR,<br />
    HEAVY_CURSOR,<br />
    SIMPLE_CURSOR }</td>
    <td>Cursor_Style</td>
  </tr>

  <tr>
    <td>enum {<br />
    CURSOR_POS,<br />
    CHARACTER_POS }</td>
    <td>Position_Kind</td>
  </tr>

  <tr>
    <td>enum {<br />
    DRAG_NONE = -2,<br />
    DRAG_START_DND = -1,<br />
    DRAG_CHAR = 0,<br />
    DRAG_WORD = 1,<br />
    DRAG_LINE = 2 }</td>
    <td>&nbsp;</td>
  </tr>

  <tr>
    <td>enum {<br />
    WRAP_NONE,<br />
    WRAP_AT_COLUMN,<br />
    WRAP_AT_PIXEL,<br />
    WRAP_AT_BOUNDS }</td>
    <td>Wrap_Mode</td>
  </tr>

  <tr>
    <td>Unfinished_Style_Cb</td>
    <td>Unfinished_Style_Callback</td>
  </tr>

  <tr>
    <td>Style_Table_Entry</td>
    <td>Style_Entry</td>
  </tr>

  <tr>
    <td>uchar</td>
    <td>Style_Index</td>
  </tr>

  <tr>
    <td>Style_Table_Entry *</td>
    <td>Style_Array</td>
  </tr>

  <tr>
    <td>int</td>
    <td>Style_Mask</td>
  </tr>

  <tr>
    <td>int</td>
    <td>Style_Info</td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Protected Attributes</th></tr>

  <tr>
<td colspan="2" style="text-align:center">
Too many to list. None that look suited for public API usage.
</td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Constructors</th></tr>

  <tr>
<td><pre>
Fl_Text_Display(int X, int Y, int W, int H, const char *L=0);
</pre></td>
<td><pre>
function Create
       (X, Y, W, H : in Integer;
        Text       : in String := "")
    return Text_Display;
</pre></td>
  </tr>

  <tr>
<td>Rely on the automatic use of begin when a group is created, or use begin/end
explicitly, or add each widget to its intended parent group manually.</td>
<td><pre>
function Create
       (Parent     : in out Groups.Group'Class;
        X, Y, W, H : in     Integer;
        Text       : in     String := "")
    return Text_Display;
</pre></td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Functions and Procedures</th></tr>

  <tr>
<td><pre>
void buffer(Fl_Text_Buffer *buf);

void buffer(Fl_Text_Buffer &buf);
</pre></td>
<td><pre>
procedure Set_Buffer
       (This : in out Text_Display;
        Buff : in out FLTK.Text_Buffers.Text_Buffer);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Text_Buffer * buffer() const;
</pre></td>
<td><pre>
function Get_Buffer
       (This : in Text_Display)
    return FLTK.Text_Buffers.Text_Buffer_Reference;
</pre></td>
  </tr>

  <tr>
<td><pre>
double col_to_x(double col) const;
</pre></td>
<td><pre>
function Col_To_X
       (This    : in Text_Display;
        Col_Num : in Integer)
    return Integer;
</pre></td>
  </tr>

  <tr>
<td><pre>
int count_lines(int start, int end,
    bool start_pos_is_line_start) const;
</pre></td>
<td><pre>
function Count_Lines
       (This                    : in Text_Display;
        Start, Finish           : in Natural;
        Start_Pos_Is_Line_Start : in Boolean := False)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Color cursor_color() const;
</pre></td>
<td><pre>
function Get_Cursor_Color
       (This : in Text_Display)
    return Color;
</pre></td>
  </tr>

  <tr>
<td><pre>
void cursor_color(Fl_Color n);
</pre></td>
<td><pre>
procedure Set_Cursor_Color
       (This : in out Text_Display;
        Col  : in     Color);
</pre></td>
  </tr>

  <tr>
<td><pre>
void cursor_style(int style);
</pre></td>
<td><pre>
procedure Set_Cursor_Style
       (This  : in out Text_Display;
        Style : in     Cursor_Style);
</pre></td>
  </tr>

  <tr>
<td><pre>
virtual int handle(int e);
</pre></td>
<td><pre>
function Handle
       (This  : in out Text_Display;
        Event : in     Event_Kind)
    return Event_Outcome;
</pre></td>
  </tr>

  <tr>
<td><pre>
void hide_cursor();
</pre></td>
<td><pre>
procedure Hide_Cursor
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
void highlight_data
   (Fl_Text_Buffer *styleBuffer,
    const Style_Table_Entry *styleTable,
    int nStyles,
    char unfinishedStyle,
    Unfinished_Style_Cb unfinishedHighlightCB,
    void *cbArg);
</pre></td>
<td><pre>
procedure Highlight_Data
       (This  : in out Text_Display;
        Buff  : in out FLTK.Text_Buffers.Text_Buffer;
        Table : in     Styles.Style_Array);

procedure Highlight_Data
       (This       : in out Text_Display;
        Buff       : in out FLTK.Text_Buffers.Text_Buffer;
        Table      : in     Styles.Style_Array;
        Unfinished : in     Styles.Style_Index;
        Callback   : in     Styles.Unfinished_Style_Callback);
</pre></td>
  </tr>

  <tr>
<td><pre>
int in_selection(int x, int y) const;
</pre></td>
<td><pre>
function In_Selection
       (This : in Text_Display;
        X, Y : in Integer)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
void insert(const char *text);
</pre></td>
<td><pre>
procedure Insert_Text
       (This : in out Text_Display;
        Item : in     String);
</pre></td>
  </tr>

  <tr>
<td><pre>
void insert_position(int newPos);
</pre></td>
<td><pre>
procedure Set_Insert_Position
       (This : in out Text_Display;
        Pos  : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
int insert_position() const;
</pre></td>
<td><pre>
function Get_Insert_Position
       (This : in Text_Display)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int line_end(int startPos,
    bool startPosIsLineStart) const;
</pre></td>
<td><pre>
function Line_End
       (This                    : in Text_Display;
        Pos                     : in Natural;
        Start_Pos_Is_Line_Start : in Boolean := False)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int line_start(int pos) const;
</pre></td>
<td><pre>
function Line_Start
       (This : in Text_Display;
        Pos  : in Natural)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
void linenumber_align(Fl_Align val);
</pre></td>
<td><pre>
procedure Set_Linenumber_Alignment
       (This : in out Text_Display;
        To   : in     Alignment);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Align linenumber_align() const;
</pre></td>
<td><pre>
function Get_Linenumber_Alignment
       (This : in Text_Display)
    return Alignment;
</pre></td>
  </tr>

  <tr>
<td><pre>
void linenumber_bgcolor(Fl_Color val);
</pre></td>
<td><pre>
procedure Set_Linenumber_Back_Color
       (This : in out Text_Display;
        To   : in     Color);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Color linenumber_bgcolor() const;
</pre></td>
<td><pre>
function Get_Linenumber_Back_Color
       (This : in Text_Display)
    return Color;
</pre></td>
  </tr>

  <tr>
<td><pre>
void linenumber_fgcolor(Fl_Color val);
</pre></td>
<td><pre>
procedure Set_Linenumber_Fore_Color
       (This : in out Text_Display;
        To   : in     Color);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Color linenumber_fgcolor() const;
</pre></td>
<td><pre>
function Get_Linenumber_Fore_Color
       (This : in Text_Display)
    return Color;
</pre></td>
  </tr>

  <tr>
<td><pre>
void linenumber_font(Fl_Font val);
</pre></td>
<td><pre>
procedure Set_Linenumber_Font
       (This : in out Text_Display;
        To   : in     Font_Kind);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Font linenumber_font() const;
</pre></td>
<td><pre>
function Get_Linenumber_Font
       (This : in Text_Display)
    return Font_Kind;
</pre></td>
  </tr>

  <tr>
<td><pre>
const char * linenumber_format() const;
</pre></td>
<td><pre>
function Get_Linenumber_Format
       (This : in Text_Display)
    return String;
</pre></td>
  </tr>

  <tr>
<td><pre>
void linenumber_format(const char *val);
</pre></td>
<td><pre>
procedure Set_Linenumber_Format
       (This  : in out Text_Display;
        Value : in     String);
</pre></td>
  </tr>

  <tr>
<td><pre>
void linenumber_size(Fl_Fontsize val);
</pre></td>
<td><pre>
procedure Set_Linenumber_Size
       (This : in out Text_Display;
        To   : in     Font_Size);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Fontsize linenumber_size() const;
</pre></td>
<td><pre>
function Get_Linenumber_Size
       (This : in Text_Display)
    return Font_Size;
</pre></td>
  </tr>

  <tr>
<td><pre>
void linenumber_width(int width);
</pre></td>
<td><pre>
procedure Set_Linenumber_Width
       (This  : in out Text_Display;
        Width : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
int linenumber_width() const;
</pre></td>
<td><pre>
function Get_Linenumber_Width
       (This : in Text_Display)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int move_down();
</pre></td>
<td><pre>
procedure Move_Down
       (This : in out Text_Display);

function Move_Down
       (This : in out Text_Display)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
int move_left();
</pre></td>
<td><pre>
procedure Move_Left
       (This : in out Text_Display);

function Move_Left
       (This : in out Text_Display)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
int move_right();
</pre></td>
<td><pre>
procedure Move_Right
       (This : in out Text_Display);

function Move_Right
       (This : in out Text_Display)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
int move_up();
</pre></td>
<td><pre>
procedure Move_Up
       (This : in out Text_Display);

function Move_Up
       (This : in out Text_Display)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
void next_word(void);
</pre></td>
<td><pre>
procedure Next_Word
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
void overstrike(const char *text);
</pre></td>
<td><pre>
procedure Overstrike
       (This : in out Text_Display;
        Text : in     String);
</pre></td>
  </tr>

  <tr>
<td><pre>
int position_style(int lineStartPos, int lineLen,
    int lineIndex) const;
</pre></td>
<td><pre>
function Position_Style
       (This        : in Text_Display;
        Line_Start  : in Natural;
        Line_Length : in Natural;
        Line_Index  : in Natural)
    return Styles.Style_Info;
</pre></td>
  </tr>

  <tr>
<td><pre>
int position_to_xy(int pos, int *x, int *y) const;
</pre></td>
<td><pre>
procedure Position_To_XY
       (This     : in     Text_Display;
        Pos      : in     Integer;
        X, Y     :    out Integer;
        Vert_Out :    out Boolean);
</pre></td>
  </tr>

  <tr>
<td><pre>
void previous_word(void);
</pre></td>
<td><pre>
procedure Previous_Word
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
void redisplay_range(int start, int end);
</pre></td>
<td><pre>
procedure Redisplay_Range
       (This          : in out Text_Display;
        Start, Finish : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
virtual void resize(int X, int Y, int W, int H);
</pre></td>
<td><pre>
procedure Resize
       (This       : in out Text_Display;
        X, Y, W, H : in     Integer);
</pre></td>
  </tr>

  <tr>
<td><pre>
int rewind_lines(int startPos, int nLines);
</pre></td>
<td><pre>
function Rewind_Lines
       (This         : in Text_Display;
        Start, Lines : in Natural)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
void scroll(int topLineNum, int horizOffset);
</pre></td>
<td><pre>
procedure Scroll_To
       (This   : in out Text_Display;
        Line   : in     Natural;
        Column : in     Natural := 0);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Align scrollbar_align() const;
</pre></td>
<td><pre>
function Get_Scrollbar_Alignment
       (This : in Text_Display)
    return Alignment;
</pre></td>
  </tr>

  <tr>
<td><pre>
void scrollbar_align(Fl_Align a);
</pre></td>
<td><pre>
procedure Set_Scrollbar_Alignment
       (This  : in out Text_Display;
        Align : in     Alignment);
</pre></td>
  </tr>

  <tr>
<td><pre>
int scrollbar_width() const;
</pre></td>
<td><pre>
function Get_Scrollbar_Width
       (This : in Text_Display)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
void scrollbar_width(int W);
</pre></td>
<td><pre>
procedure Set_Scrollbar_Width
       (This  : in out Text_Display;
        Width : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
int shortcut() const;
</pre></td>
<td><pre>
function Get_Shortcut
       (This : in Text_Display)
    return Key_Combo;
</pre></td>
  </tr>

  <tr>
<td><pre>
void shortcut(int s);
</pre></td>
<td><pre>
procedure Set_Shortcut
       (This  : in out Text_Display;
        Value : in     Key_Combo);
</pre></td>
  </tr>

  <tr>
<td><pre>
void show_cursor(int b=1);
</pre></td>
<td><pre>
procedure Show_Cursor
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
void show_insert_position();
</pre></td>
<td><pre>
procedure Show_Insert_Position
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
int skip_lines(int startPos, int nLines,
    bool startPosIsLineStart);
</pre></td>
<td><pre>
function Skip_Lines
       (This                    : in Text_Display;
        Start, Lines            : in Natural;
        Start_Pos_Is_Line_Start : in Boolean := False)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Color textcolor() const;
</pre></td>
<td><pre>
function Get_Text_Color
       (This : in Text_Display)
    return Color;
</pre></td>
  </tr>

  <tr>
<td><pre>
void textcolor(Fl_Color n);
</pre></td>
<td><pre>
procedure Set_Text_Color
       (This : in out Text_Display;
        Col  : in     Color);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Font textfont() const;
</pre></td>
<td><pre>
function Get_Text_Font
       (This : in Text_Display)
    return Font_Kind;
</pre></td>
  </tr>

  <tr>
<td><pre>
void textfont(Fl_Font s);
</pre></td>
<td><pre>
procedure Set_Text_Font
       (This : in out Text_Display;
        Font : in     Font_Kind);
</pre></td>
  </tr>

  <tr>
<td><pre>
Fl_Fontsize textsize() const;
</pre></td>
<td><pre>
function Get_Text_Size
       (This : in Text_Display)
    return Font_Size;
</pre></td>
  </tr>

  <tr>
<td><pre>
void textsize(Fl_Fontsize s);
</pre></td>
<td><pre>
procedure Set_Text_Size
       (This : in out Text_Display;
        Size : in     Font_Size);
</pre></td>
  </tr>

  <tr>
<td><pre>
int word_end(int pos) const;
</pre></td>
<td><pre>
function Word_End
       (This : in out Text_Display;
        Pos  : in     Natural)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int word_start(int pos) const;
</pre></td>
<td><pre>
function Word_Start
       (This : in out Text_Display;
        Pos  : in     Natural)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
void wrap_mode(int wrap, int wrap_margin);
</pre></td>
<td><pre>
procedure Set_Wrap_Mode
       (This   : in out Text_Display;
        Mode   : in     Wrap_Mode;
        Margin : in     Natural := 0);
</pre></td>
  </tr>

  <tr>
<td><pre>
int wrapped_column(int row, int column) const;
</pre></td>
<td><pre>
function Wrapped_Column
       (This        : in Text_Display;
        Row, Column : in Natural)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int wrapped_row(int row) const;
</pre></td>
<td><pre>
function Wrapped_Row
       (This : in Text_Display;
        Row  : in Natural)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
double x_to_col(double x) const;
</pre></td>
<td><pre>
function X_To_Col
       (This  : in Text_Display;
        X_Pos : in Integer)
    return Integer;
</pre></td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Static Protected Functions and Procedures</th></tr>

  <tr>
<td><pre>
static void buffer_modified_cb(int pos, int nInserted, int nDeleted,
    int nRestyled, const char *deletedText, void *cbArg);
</pre></td>
<td><pre>
procedure Buffer_Modified_Callback
       (This         : in out Text_Display;
        Action       : in     FLTK.Text_Buffers.Modification;
        Place        : in     FLTK.Text_Buffers.Position;
        Length       : in     Natural;
        Deleted_Text : in     String);
</pre></td>
  </tr>

  <tr>
<td><pre>
static void buffer_predelete_cb(int pos, int nDeleted, void *cbArg);
</pre></td>
<td><pre>
procedure Buffer_Predelete_Callback
       (This   : in out Text_Display;
        Place  : in     FLTK.Text_Buffers.Position;
        Length : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
static void h_scrollbar_cb(Fl_Scrollbar *w, Fl_Text_Display *d);
</pre></td>
<td>Intentionally left unbound.</td>
  </tr>

  <tr>
<td><pre>
static void scroll_timer_cb(void *);
</pre></td>
<td>Intentionally left unbound.</td>
  </tr>

  <tr>
<td><pre>
static void v_scrollbar_cb(Fl_Scrollbar *w, Fl_Text_Display *d);
</pre></td>
<td>Intentionally left unbound.</td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Protected Functions and Procedures</th></tr>

  <tr>
<td><pre>
void absolute_top_line_number(int oldFirstChar);
</pre></td>
<td><pre>
procedure Redo_Absolute_Top_Line
       (This      : in out Text_Display;
        Old_First : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
void calc_last_char();
</pre></td>
<td><pre>
procedure Calculate_Last_Character
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
void calc_line_starts(int startLine, int endLine);
</pre></td>
<td><pre>
procedure Calculate_Line_Starts
       (This          : in out Text_Display;
        Start, Finish : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
void clear_rect(int style, int x, int y, int width,
    int height) const;
</pre></td>
<td><pre>
procedure Clear_Rect
       (This       : in out Text_Display;
        Style      : in     Styles.Style_Info;
        X, Y, W, H : in     Integer);
</pre></td>
  </tr>

  <tr>
<td><pre>
void display_insert();
</pre></td>
<td><pre>
procedure Display_Insert
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
virtual void draw();
</pre></td>
<td><pre>
procedure Draw
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
void draw_cursor(int, int);
</pre></td>
<td><pre>
procedure Draw_Cursor
       (This : in out Text_Display;
        X, Y : in     Integer);
</pre></td>
  </tr>

  <tr>
<td><pre>
void draw_line_numbers(bool clearAll);
</pre></td>
<td><pre>
procedure Draw_Line_Numbers
       (This  : in out Text_Display;
        Clear : in     Boolean :=  False);
</pre></td>
  </tr>

  <tr>
<td><pre>
void draw_range(int start, int end);
</pre></td>
<td><pre>
procedure Draw_Range
       (This          : in out Text_Display;
        Start, Finish : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
void draw_string(int style, int x, int y, int toX,
    const char *string, int nChars) const;
</pre></td>
<td><pre>
procedure Draw_String
       (This      : in out Text_Display;
        Style     : in     Styles.Style_Info;
        X, Y      : in     Integer;
        Right     : in     Integer;
        Text      : in     String;
        Num_Chars : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
void draw_text(int x, int y, int w, int h);
</pre></td>
<td><pre>
procedure Draw_Text
       (This       : in out Text_Display;
        X, Y, W, H : in     Integer);
</pre></td>
  </tr>

  <tr>
<td><pre>
void draw_vline(int visLineNum, int leftClip, int rightClip,
    int leftCharIndex, int rightCharIndex);
</pre></td>
<td><pre>
procedure Draw_Visible_Line
       (This                  : in out Text_Display;
        Line                  : in     Natural;
        Left_Clip, Right_Clip : in     Integer;
        Left_Char, Right_Char : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
int empty_vlines() const;
</pre></td>
<td><pre>
function Has_Empty_Visible_Lines
       (This : in Text_Display)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
void extend_range_for_styles(int *start, int *end);
</pre></td>
<td>Intentionally left unbound.</td>
  </tr>

  <tr>
<td><pre>
void find_line_end(int pos, bool start_pos_is_line_start,
    int *lineEnd, int *nextLineStart) const;
</pre></td>
<td><pre>
procedure Find_Line_End
       (This                    : in     Text_Display;
        Start                   : in     Natural;
        Start_Pos_Is_Line_Start : in     Boolean;
        Line_End                :    out Natural;
        Next_Line_Start         :    out Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
void find_wrap_range(const char *deletedText, int pos,
    int nInserted, int nDeleted, int *modRangeStart,
    int *modRangeEnd, int *linesInserted, int *linesDeleted);
</pre></td>
<td>Intentionally left unbound.</td>
  </tr>

  <tr>
<td><pre>
int find_x(const char *s, int len, int style, int x) const;
</pre></td>
<td><pre>
function Find_Character
       (This  : in Text_Display;
        Text  : in String;
        Style : in Styles.Style_Index;
        X     : in Integer)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int get_absolute_top_line_number() const;
</pre></td>
<td><pre>
function Get_Absolute_Top_Line
       (This : in Text_Display)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int handle_vline(int mode, int lineStart, int lineLen,
    int leftChar, int rightChar, int topClip, int bottomClip,
    int leftClip, int rightClip) const;
</pre></td>
<td>Intentionally left unbound.</td>
  </tr>

  <tr>
<td><pre>
int longest_vline() const;
</pre></td>
<td><pre>
function Get_Longest_Visible_Line
       (This : in Text_Display)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
void maintain_absolute_top_line_number(int state);
</pre></td>
<td><pre>
procedure Maintain_Absolute_Top_Line
       (This  : in out Text_Display;
        State : in     Boolean := True);
</pre></td>
  </tr>

  <tr>
<td><pre>
int maintaining_absolute_top_line_number() const;
</pre></td>
<td><pre>
function Maintaining_Absolute_Top_Line
       (This : in Text_Display)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
void measure_deleted_lines(int pos, int nDeleted);
</pre></td>
<td>Intentionally left unbound.</td>
  </tr>

  <tr>
<td><pre>
double measure_proportional_character(const char *s, int colNum,
    int pos) const;
</pre></td>
<td><pre>
function Measure_Character
       (This  : in Text_Display;
        Text  : in String;
        X     : in Integer;
        Index : in Positive)
    return Long_Float;
</pre></td>
  </tr>

  <tr>
<td><pre>
int measure_vline(int visLineNum) const;
</pre></td>
<td><pre>
function Measure_Visible_Line
       (This : in Text_Display;
        Line : in Natural)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
void offset_line_starts(int newTopLineNum);
</pre></td>
<td><pre>
procedure Offset_Line_Starts
       (This    : in out Text_Display;
        New_Top : in     Natural);
</pre></td>
  </tr>

  <tr>
<td><pre>
int position_to_line(int pos, int *lineNum) const;
</pre></td>
<td><pre>
function Position_To_Line
       (This     : in Text_Display;
        Position : in Natural)
    return Natural;

function Position_To_Line
       (This      : in     Text_Display;
        Position  : in     Natural;
        Displayed :    out Boolean)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int position_to_linecol(int pos, int *lineNum, int *column) const;
</pre></td>
<td><pre>
procedure Position_To_Line_Column
       (This     : in     Text_Display;
        Position : in     Natural;
        Line     :    out Natural;
        Column   :    out Natural);

procedure Position_To_Line_Column
       (This      : in     Text_Display;
        Position  : in     Natural;
        Line      :    out Natural;
        Column    :    out Natural;
        Displayed :    out Boolean);
</pre></td>
  </tr>

  <tr>
<td><pre>
void reset_absolute_top_line_number();
</pre></td>
<td><pre>
procedure Reset_Absolute_Top_Line
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
int scroll_(int topLineNum, int horizOffset);
</pre></td>
<td><pre>
function Scroll_To
       (This  : in out Text_Display;
        Line  : in     Natural;
        Pixel : in     Natural := 0)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
double string_width(const char *string, int length,
    int style) const;
</pre></td>
<td><pre>
function Measure_String
       (This  : in Text_Display;
        Text  : in String;
        Style : in Styles.Style_Index)
    return Long_Float;
</pre></td>
  </tr>

  <tr>
<td><pre>
void update_h_scrollbar();
</pre></td>
<td><pre>
procedure Update_Horizontal_Scrollbar
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
void update_line_starts(int pos, int charsInserted,
    int charsDeleted, int linesInserted, int linesDeleted,
    int *scrolled);
</pre></td>
<td>Intentionally left unbound.</td>
  </tr>

  <tr>
<td><pre>
void update_v_scrollbar();
</pre></td>
<td><pre>
procedure Update_Vertical_Scrollbar
       (This : in out Text_Display);
</pre></td>
  </tr>

  <tr>
<td><pre>
int vline_length(int visLineNum) const;
</pre></td>
<td><pre>
function Visible_Line_Length
       (This : in Text_Display;
        Line : in Natural)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
int wrap_uses_character(int lineEndPos) const;
</pre></td>
<td><pre>
function Wrap_Uses_Character
       (This     : in Text_Display;
        Line_End : in Natural)
    return Boolean;
</pre></td>
  </tr>

  <tr>
<td><pre>
void wrapped_line_counter(Fl_Text_Buffer *buf, int startPos,
    int maxPos, int maxLines, bool startPosIsLineStart,
    int styleBufOffset, int *retPos, int *retLines,
    int *retLineStart, int *retLineEnd,
    bool countLastLineMissingNewLine=true) const;
</pre></td>
<td><pre>
procedure Count_Wrapped_Lines
       (This                       : in     Text_Display;
        Buffer                     : in     FLTK.Text_Buffers.Text_Buffer;
        Start                      : in     Natural;
        Max_Position, Max_Lines    : in     Natural;
        Start_Pos_Is_Line_Start    : in     Boolean;
        Style_Offset               : in     Natural;
        Finish, Line_Count         :    out Natural;
        End_Count_Line_Start       :    out Natural;
        Last_Line_End              :    out Natural;
        Count_Last_Missing_Newline : in     Boolean := True);
</pre></td>
  </tr>

  <tr>
<td><pre>
int xy_to_position(int x, int y, int PosType=CHARACTER_POS) const;
</pre></td>
<td><pre>
function XY_To_Position
       (This : in Text_Display;
        X, Y : in Integer;
        Kind : in Position_Kind := Character_Position)
    return Natural;
</pre></td>
  </tr>

  <tr>
<td><pre>
void xy_to_rowcol(int x, int y, int *row, int *column,
    int PosType=CHARACTER_POS) const;
</pre></td>
<td><pre>
procedure XY_To_Row_Column
       (This        : in     Text_Display;
        X, Y        : in     Integer;
        Row, Column :    out Natural;
        Kind        : in     Position_Kind := Character_Position);
</pre></td>
  </tr>

</table>


  </body>
</html>