File: gtk-0.99.typemap

package info (click to toggle)
libgtk-perl 0.7009-12
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,956 kB
  • ctags: 2,260
  • sloc: perl: 13,998; xml: 9,919; ansic: 2,894; makefile: 64; cpp: 45
file content (170 lines) | stat: -rw-r--r-- 4,096 bytes parent folder | download | duplicates (3)
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
TYPEMAP

# These are synonyms for Gtk::Gdk::Pixmap (which itself is a renamed Gtk::Gdk::Window)

Gtk::Gdk::Window	T_SimpleVal
Gtk::Gdk::Bitmap	T_SimpleVal

Gtk::Gdk::Window_OrNULL	T_SimpleValOrNULL
Gtk::Gdk::Bitmap_OrNULL	T_SimpleValOrNULL

Gtk::Gdk::Cursor	T_MISCPTROBJ
Gtk::Gdk::GC		T_MISCPTROBJ
Gtk::Gdk::Image		T_SimpleVal
Gtk::Gdk::GCValues	T_MISCPTROBJ
Gtk::Gdk::Atom		T_UV

Gtk::Gdk::Image_OrNULL		T_SimpleValOrNULL

Gtk::Requisition	T_SimpleVal

Gtk::MenuFactory	T_MISCPTROBJ
Gtk::SelectionData      T_MISCPTROBJ

Gtk::Widget_Up		T_GtkPTROBJUp
Gtk::Widget_Sink_Up		T_GtkPTROBJSinkUp
Gtk::Widget_OrNULL_Up		T_GtkPTROBJOrNULLUp

Gtk::Object_Up		T_GtkPTROBJUp
Gtk::Object_Sink_Up		T_GtkPTROBJSinkUp
Gtk::Object_OrNULL_Up		T_GtkPTROBJOrNULLUp

Gtk::Gdk::Event		T_SimpleVal
Gtk::Gdk::Region	T_SimpleVal
Gtk::Gdk::Rectangle	T_SimplePtr
Gtk::Gdk::Color		T_SimpleVal

gfloat				T_FLOAT
gdouble				T_DOUBLE
gboolean			T_BOOL
guint				T_UV
gint				T_IV
glong				T_IV
gulong				T_UV
guint32				T_UV

bool				T_BOOL

gstring				T_GSTRING

INPUT

T_BOOL
	$var = (int)SvIV($arg)

T_GtkPTROBJ
	do {
		void * _o = SvGtkObjectRef($arg, \"${ntype}\");
		if (!_o) 
			croak(\"$var is not of type ${ntype}\");
		else
			$var = Cast$type(_o);
	} while(0)

T_GtkPTROBJOrNULL
	$var = SvTRUE($arg) ? Cast$type(SvGtkObjectRef($arg, \"" . ($foo=$ntype,$foo=~s/_OrNULL//,$foo). "\")) : 0

T_GtkPTROBJUp
	$var = Cast$type(SvGtkObjectRef($arg, \"${ntype}\"))

T_GtkPTROBJSink
	$var = Cast$type(SvGtkObjectRef($arg, \"${ntype}\"))

T_GtkPTROBJSinkUp
	$var = Cast$type(SvGtkObjectRef($arg, \"${ntype}\"))

T_GtkPTRREF
	$var = Cast$type(SvGtkObjectRef($arg, 0))

T_GtkPTRREF_Up
	$var = Cast$type(SvGtkObjectRef($arg, 0))

T_MISCPTROBJ
	$var = ($type)SvMiscRef($arg, \"${ntype}\")

T_MISCPTRREF
	$var = ($type)SvMiscRef($arg, 0);

T_REFPTROBJ
	$var = ($type)SvMiscRef($arg, \"${ntype}\")

T_REFPTRREF
	$var = ($type)SvMiscRef($arg, 0);

T_SimpleVal
	do {
		if (!$arg || !SvOK($arg))
			croak(\"$var is not of type ${ntype}\");
		$var = Sv" . ($foo=$ntype, $foo=~s/://g, $foo=~s/^GtkGdk/Gdk/, $foo) . "($arg);
	} while (0)

T_SimpleValOrNULL
	$var = ($arg && SvOK($arg)) ? Sv" . ($foo=$ntype, $foo=~s/://g, $foo=~s/^GtkGdk/Gdk/, $foo=~s/_OrNULL$//, $foo) . "($arg) : 0

T_SimplePtr
	$var = Sv" . ($foo=$ntype, $foo=~s/://g, $foo=~s/^GtkGdk/Gdk/, $foo) . "($arg,0)

OUTPUT

T_BOOL
	$arg = boolSV($var);

T_GSTRING
	sv_setpv((SV*)$arg, $var);
	g_free($var);

T_GtkPTROBJ
    if (!$var) {
    	croak("failed to return mandatory object of type $ntype");
    }
	$arg = sv_2mortal(newSVGtkObjectRef(GTK_OBJECT($var), NULL));

T_GtkPTROBJSink
    if (!$var) {
    	croak("failed to return mandatory object of type @{[grep {s/_Sink//,1} $ntype]}");
    }
	$arg = sv_2mortal(newSVGtkObjectRef(GTK_OBJECT($var), \"@{[grep {s/_Sink//,1} $ntype]}\"));
	gtk_object_sink(GTK_OBJECT($var));

T_GtkPTROBJOrNULL
    if ($var) {
		$arg = sv_2mortal(newSVGtkObjectRef(GTK_OBJECT($var), NULL));
	} else
		$arg = newSVsv(&PL_sv_undef);

T_GtkPTROBJUp
	$arg = newSVGtkObjectRef(GTK_OBJECT($var), 0);

T_GtkPTROBJOrNULLUp
	if ($var) {
		$arg = newSVGtkObjectRef(GTK_OBJECT($var), 0);
	} else
		$arg = newSVsv(&PL_sv_undef);

T_GtkPTROBJSinkUp
	$arg = newSVGtkObjectRef(GTK_OBJECT($var), 0);
	gtk_object_sink(GTK_OBJECT($var));

T_MISCPTROBJ
	$arg = newSVMiscRef((void*)$var, \"${ntype}\", 0);

T_REFPTROBJ
	{
		int n;
		$arg = newSVMiscRef((void*)$var, \"${ntype}\", &n);
		if (n)
			@{[grep {s/://g, s/^GtkGdk/Gdk/, s/([a-z])([A-Z]+)/$1_$2/g, tr/A-Z/a-z/, 1} $ntype]}_ref($var);
	}

T_SimpleVal
    /*if (!$var) {      Oh, right smart that one, sheesh... For my next trick...
    	croak("failed to return mandatory object of type @{[grep {s/://g,s/^GtkGdk/Gdk/,1} $ntype]}");
    } else*/
		$arg = sv_2mortal(newSV@{[grep {s/://g,s/^GtkGdk/Gdk/,1} $ntype]}($var));
		/*sv_setsv($arg, newSV@{[grep {s/://g,s/^GtkGdk/Gdk/,1} $ntype]}($var));*/

T_SimpleValOrNULL
	$arg = $var ? newSV@{[grep {s/://g,s/^GtkGdk/Gdk/,s/_OrNULL$//,1} $ntype]}($var) : newSVsv(&PL_sv_undef);

T_SimplePtr
	$arg = newSV@{[grep {s/://g,s/^GtkGdk/Gdk/,1} $ntype]}($var);