1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
#define PERL_NO_GET_CONTEXT
#include "module.h"
#include "wrapper_buffer_line.h"
#include <irssi/src/fe-text/textbuffer-formats.h>
MODULE = Irssi::TextUI::TextBuffer PACKAGE = Irssi
PROTOTYPES: ENABLE
#*******************************
MODULE = Irssi::TextUI::TextBuffer PACKAGE = Irssi
#*******************************
int
COLORING_STRIP()
CODE:
RETVAL = COLORING_STRIP;
OUTPUT:
RETVAL
int
COLORING_EXPAND()
CODE:
RETVAL = COLORING_EXPAND;
OUTPUT:
RETVAL
int
COLORING_UNEXPAND()
CODE:
RETVAL = COLORING_UNEXPAND;
OUTPUT:
RETVAL
int
COLORING_RAW()
CODE:
RETVAL = COLORING_RAW;
OUTPUT:
RETVAL
#*******************************
MODULE = Irssi::TextUI::TextBuffer PACKAGE = Irssi::TextUI::Line PREFIX = textbuffer_line_
#*******************************
Irssi::TextUI::Line
textbuffer_line_prev(line)
Irssi::TextUI::Line line
CODE:
RETVAL = perl_wrap_buffer_line(line->buffer, line->line->prev);
OUTPUT:
RETVAL
Irssi::TextUI::Line
textbuffer_line_next(line)
Irssi::TextUI::Line line
CODE:
RETVAL = perl_wrap_buffer_line(line->buffer, line->line->next);
OUTPUT:
RETVAL
void
textbuffer_line_get_text(line, coloring)
Irssi::TextUI::Line line
int coloring
PREINIT:
GString *str;
SV *result;
PPCODE:
str = g_string_new(NULL);
textbuffer_line2text(line->buffer, line->line, coloring, str);
result = new_pv(str->str);
XPUSHs(sv_2mortal(result));
g_string_free(str, TRUE);
void
textbuffer_line_get_format(line)
Irssi::TextUI::Line line
PREINIT:
HV *hv;
AV *av;
LINE_REC *l;
TEXT_BUFFER_FORMAT_REC *f;
int i;
PPCODE:
hv = newHV();
l = line->line;
if (l->info.format != NULL) {
f = l->info.format;
(void) hv_store(hv, "module", 6, new_pv(f->module), 0);
(void) hv_store(hv, "format", 6, new_pv(f->format), 0);
(void) hv_store(hv, "server_tag", 10, new_pv(f->server_tag), 0);
(void) hv_store(hv, "target", 6, new_pv(f->target), 0);
(void) hv_store(hv, "nick", 4, new_pv(f->nick), 0);
av = newAV();
for (i = 0; i < f->nargs; i++) {
av_push(av, new_pv(f->args[i]));
}
(void) hv_store(hv, "args", 4, newRV_noinc((SV *) av), 0);
} else {
(void) hv_store(hv, "text", 4, new_pv(l->info.text), 0);
}
XPUSHs(sv_2mortal(newRV_noinc((SV *) hv)));
Irssi::UI::LineInfoMeta
textbuffer_line_get_meta(line)
Irssi::TextUI::Line line
CODE:
RETVAL = line->line->info.meta;
OUTPUT:
RETVAL
|