TYPEMAP
Display * O_X11_Xlib
DisplayOrNull O_X11_XlibOrNull
Screen * O_X11_Xlib_Screen
ScreenNumber O_X11_Xlib_ScreenNumber
Visual * O_X11_Xlib_OpaqueDisplayMember
VisualOrNull O_X11_Xlib_OpaqueDisplayMemberOrNull
GC O_X11_Xlib_OpaqueDisplayMember
XEvent * O_X11_Xlib_Struct
XVisualInfo * O_X11_Xlib_Struct
XWindowChanges * O_X11_Xlib_Struct
XWindowAttributes * O_X11_Xlib_Struct
XSetWindowAttributes* O_X11_Xlib_Struct
XSizeHints * O_X11_Xlib_Struct
XRectangle * O_X11_Xlib_Struct
XRenderPictFormat * O_X11_Xlib_Struct
Window O_X11_Xlib_XID
Pixmap O_X11_Xlib_XID
Cursor O_X11_Xlib_XID
Colormap O_X11_Xlib_XID
Drawable O_X11_Xlib_XID
VisualID O_X11_Xlib_XID
XserverRegion O_X11_Xlib_XID
Glyph O_X11_Xlib_XID
GlyphSet O_X11_Xlib_XID
Picture O_X11_Xlib_XID
PictFormat O_X11_Xlib_XID
Atom T_UV
Time T_UV
Bool T_BOOL
KeyCode T_IV
KeySym T_IV
INPUT
O_X11_Xlib
$var = PerlXlib_display_objref_get_pointer($arg, PerlXlib_OR_DIE);
OUTPUT
O_X11_Xlib
$arg = PerlXlib_get_display_objref($var, PerlXlib_OR_UNDEF);
INPUT
O_X11_XlibOrNull
$var = PerlXlib_display_objref_get_pointer($arg, PerlXlib_OR_NULL);
OUTPUT
O_X11_XlibOrNull
$arg = PerlXlib_get_display_objref($var, PerlXlib_OR_UNDEF);
INPUT
O_X11_Xlib_ScreenNumber
if (!SvOK($arg))
$var = DefaultScreen(dpy);
else if (SvROK($arg)) {
SV **fp;
if (SvTYPE(SvRV($arg)) == SVt_PVHV && (fp= hv_fetch((HV*)SvRV($arg), \"screen_number\", 13, 0)) && fp) {
$var= SvIV(*fp);
}
else croak(\"Invalid object passed as Screen number\");
}
else {
$var= SvIV($arg);
if ($var == -1) $var= DefaultScreen(dpy);
}
INPUT
O_X11_Xlib_Screen
$var = PerlXlib_sv_to_screen($arg, 1);
OUTPUT
O_X11_Xlib_Screen
$arg = PerlXlib_obj_for_screen($var, 0);
INPUT
O_X11_Xlib_XID
$var = PerlXlib_sv_to_xid($arg);
OUTPUT
O_X11_Xlib_XID
// Always return unsigned integer. X11::Xlib::* can override this as needed.
sv_setuv( $arg, $var );
INPUT
O_X11_Xlib_Struct
$var= ( $type ) PerlXlib_get_struct_ptr(
$arg, 0, \"X11::Xlib::@{[ $type =~ /(\w+)/ ]}\", sizeof(@{[ $type =~ /(\w+)/ ]}),
(PerlXlib_struct_pack_fn*) &PerlXlib_@{[ $type =~ /(\w+)/ ]}_pack
);
INPUT
O_X11_Xlib_Opaque
$var= ($type) PerlXlib_objref_get_pointer($arg, \"@{[ $type =~ /(\w+)/ ]}\", PerlXlib_OR_DIE);
INPUT
O_X11_Xlib_OpaqueDisplayMember
$var= ($type) PerlXlib_objref_get_pointer($arg, \"@{[ $type =~ /(\w+)/ ]}\", PerlXlib_OR_DIE);
INPUT
O_X11_Xlib_OpaqueOrNull
$var= ($type) PerlXlib_objref_get_pointer($arg, \"@{[ $type =~ /(\w+?)OrNull/ ]}\", PerlXlib_OR_NULL);
INPUT
O_X11_Xlib_OpaqueDisplayMemberOrNull
$var= ($type) PerlXlib_objref_get_pointer($arg, \"@{[ $type =~ /(\w+?)OrNull/ ]}\", PerlXlib_OR_NULL);
OUTPUT
O_X11_Xlib_Opaque
sv_setsv($arg, PerlXlib_get_objref($var, PerlXlib_AUTOCREATE, \"@{[ $type =~ /(\w+)/ ]}\",
SVt_PVHV, \"X11::Xlib::@{[ $type =~ /(\w+)/ ]}\", NULL));
OUTPUT
O_X11_Xlib_OpaqueDisplayMember
sv_setsv($arg, PerlXlib_get_objref($var, PerlXlib_AUTOCREATE, \"@{[ $type =~ /(\w+)/ ]}\",
SVt_PVHV, \"X11::Xlib::@{[ $type =~ /(\w+)/ ]}\", dpy));
OUTPUT
O_X11_Xlib_OpaqueOrNull
sv_setsv($arg, PerlXlib_get_objref($var, PerlXlib_AUTOCREATE, \"@{[ $type =~ /(\w+?)OrNull/ ]}\",
SVt_PVHV, \"X11::Xlib::@{[ $type =~ /(\w+?)OrNull/ ]}\", NULL));
OUTPUT
O_X11_Xlib_OpaqueDisplayMemberOrNull
sv_setsv($arg, PerlXlib_get_objref($var, PerlXlib_AUTOCREATE, \"@{[ $type =~ /(\w+?)OrNull/ ]}\",
SVt_PVHV, \"X11::Xlib::@{[ $type =~ /(\w+?)OrNull/ ]}\", dpy));