1package body agar.gui.widget.console is
2
3  package cbinds is
4    procedure set_padding
5      (console : console_access_t;
6       padding : c.int);
7    pragma import (c, set_padding, "AG_ConsoleSetPadding");
8
9    function message
10      (console : console_access_t;
11       text    : cs.chars_ptr) return line_access_t;
12    pragma import (c, message, "AG_ConsoleMsgS");
13
14    function append_line
15      (console : console_access_t;
16       text    : cs.chars_ptr) return line_access_t;
17    pragma import (c, append_line, "AG_ConsoleAppendLine");
18  end cbinds;
19
20  procedure set_padding
21    (console : console_access_t;
22     padding : natural) is
23  begin
24    cbinds.set_padding
25      (console => console,
26       padding => c.int (padding));
27  end set_padding;
28
29  function append_line
30    (console : console_access_t;
31     text    : string) return line_access_t
32  is
33    ca_text : aliased c.char_array := c.to_c (text);
34  begin
35    return cbinds.append_line
36      (console => console,
37       text    => cs.to_chars_ptr (ca_text'unchecked_access));
38  end append_line;
39
40  function widget (console : console_access_t) return widget_access_t is
41  begin
42    return console.widget'access;
43  end widget;
44
45end agar.gui.widget.console;
46