Sx
view release on metacpan or search on metacpan
printf("Expose CB call (%x %x %x %x)\n",w, event, region, data);
return;
if (dd->fun[CB_EXPFUN]) {
PUSHMARK(sp);
XPUSHs(SvREFCNT_inc(dd->mysv));
XPUSHs(sv_mortalcopy(dd->data));
PUTBACK;
perl_call_sv((SV*)dd->fun[CB_EXPFUN],G_SCALAR|G_DISCARD);
}
}
void resize_callback(w, data)
Widget w;
void *data;
{
struct Edata *dd = data;
dSP;
printf("Resize CB call (%x %x)\n",w, data);
return;
if (dd->fun[CB_RESFUN]) {
PUSHMARK(sp);
XPUSHs(SvREFCNT_inc(dd->mysv));
XPUSHs(sv_mortalcopy(dd->data));
PUTBACK;
perl_call_sv((SV*)dd->fun[CB_RESFUN],G_SCALAR|G_DISCARD);
}
}
void realize_callback(w, data)
Widget w;
void *data;
{
struct Edata *dd = data;
dSP;
printf("Realize CB call (%x %x)\n",w, data);
return;
if (dd->fun[CB_REAFUN]) {
PUSHMARK(sp);
XPUSHs(SvREFCNT_inc(dd->mysv));
XPUSHs(sv_mortalcopy(dd->data));
PUTBACK;
perl_call_sv((SV*)dd->fun[CB_REAFUN],G_SCALAR|G_DISCARD);
}
}
struct Edata *tmp;
MODULE = Sx PACKAGE = Sx PREFIX = Sx_
PROTOTYPES: ENABLED
void
OpenDisplay(args,...)
String_Array args = NO_INIT
PROTOTYPE: @
PPCODE:
{
int i;
args = XS_unpack_String_Array(ax,items);
if (!items) {
*args = "Main Sx Window"; items = 1;
}
if (i = OpenDisplay(items,args)) {
int j;
for (j = 0; j != i; j++)
PUSHs(sv_2mortal(newSVpv(args[j],strlen(args[j]))));
}
}
void
ShowDisplay()
void
MainLoop()
void
SyncDisplay()
Widget
MakeWindow(window_name, display_name, exclusive)
char * window_name
char * display_name = NO_INIT
int exclusive
CODE:
Newz(666, tmp , 1, struct Edata);
display_name = ((ST(1) == &sv_undef) ? SAME_DISPLAY : SvPV(ST(1),na));
RETVAL = MakeWindow(window_name,display_name,exclusive);
OUTPUT:
RETVAL
void
SetCurrentWindow(window)
Widget window
void
CloseWindow()
Widget
MakeForm(parent, where1, from1, where2, from2, name = "form")
Widget parent
int where1
Widget from1
int where2
Widget from2
char * name
CODE:
Newz(666, tmp , 1, struct Edata);
RETVAL = MakeForm(parent, where1, from1, where2, from2, name);
OUTPUT:
RETVAL
void
( run in 0.458 second using v1.01-cache-2.11-cpan-5511b514fd6 )