Gimp
view release on metacpan or search on metacpan
lib/Gimp/Lib.xs view on Meta::CPAN
OUTPUT:
RETVAL
void
gimp_enums_get_type_names()
INIT:
gimp_enums_init ();
gint n_type_names;
const gchar **etn;
int i;
PPCODE:
etn = gimp_enums_get_type_names (&n_type_names);
if (!etn) XSRETURN_EMPTY;
EXTEND(SP, n_type_names);
for (i = 0; i < n_type_names; i++) {
PUSHs(sv_2mortal(newSVpv(etn[i], 0)));
}
# return list of pair => value, ...
void
gimp_enums_list_type(name)
const char *name
INIT:
GType enum_type;
GEnumClass *enum_class;
GEnumValue *value;
PPCODE:
if (!(enum_type = g_type_from_name (name)))
croak (__("gimp_enums_list_type(%s) invalid name"), name);
if (!(enum_class = g_type_class_peek (enum_type)))
croak (__("gimp_enums_list_type(%s) invalid class"), name);
for (value = enum_class->values; value->value_name; value++) {
XPUSHs(sv_2mortal(newSVpv(value->value_name,0)));
XPUSHs(sv_2mortal(newSViv(value->value)));
}
# checks whether a gimp procedure exists
lib/Gimp/Lib.xs view on Meta::CPAN
if (!gimp_is_initialized)
croak (__("gimp_procedural_db_proc_exists(%s) called without an active connection"), proc_name);
RETVAL = gimp_procedural_db_proc_exists(proc_name);
OUTPUT:
RETVAL
# get gimp procedure info
void
gimp_procedural_db_proc_info(proc_name)
char * proc_name
PPCODE:
{
char *proc_blurb;
char *proc_help;
char *proc_author;
char *proc_copyright;
char *proc_date;
GimpPDBProcType proc_type;
int nparams;
int nreturn_vals;
GimpParamDef *params;
lib/Gimp/Lib.xs view on Meta::CPAN
const char *blurb
const char *help
const char *author
const char *copyright
const char *date
const char *proc_type
INIT:
gint num_matches;
gchar **procedure_names;
int i;
PPCODE:
if (!gimp_procedural_db_query (
name, blurb, help, author, copyright, date, proc_type, &num_matches,
&procedure_names
)) croak (__("gimp_procedural_db_proc_query failed"));
if (!num_matches) XSRETURN_EMPTY;
EXTEND (SP, num_matches);
for (i = 0; i < num_matches; i++) {
PUSHs (sv_2mortal(newSVpv(procedure_names[i], 0)));
}
void
gimp_call_procedure (proc_name, ...)
utf8_str proc_name
PPCODE:
{
char croak_str[MAX_STRING] = "";
char *proc_blurb;
char *proc_help;
char *proc_author;
char *proc_copyright;
char *proc_date;
GimpPDBProcType proc_type;
int nparams;
int nreturn_vals;
lib/Gimp/Lib.xs view on Meta::CPAN
CODE:
{
STRLEN dlen;
void *dta = SvPV (data, dlen);
gimp_set_data (SvPV_nolen (id), dta, dlen);
}
void
gimp_get_data(id)
SV * id;
PPCODE:
{
SV *data;
STRLEN dlen;
dlen = gimp_get_data_size (SvPV_nolen (id));
/* I count on dlen being zero if "id" doesn't exist. */
data = newSVpv ("", 0);
gimp_get_data (SvPV_nolen (id), SvGROW (data, dlen+1));
SvCUR_set (data, dlen);
*((char *)SvPV_nolen (data) + dlen) = 0;
lib/Gimp/Lib.xs view on Meta::CPAN
NULL
);
#
# this function overrides a pdb function for speed
#
void
gimp_patterns_get_pattern_data(name)
SV * name
PPCODE:
{
GimpParam *return_vals;
int nreturn_vals;
return_vals = gimp_run_procedure ("gimp_patterns_get_pattern_data",
&nreturn_vals,
GIMP_PDB_STRING, SvPV_nolen (name),
GIMP_PDB_END);
if (nreturn_vals == 7
lib/Gimp/Net.xs view on Meta::CPAN
for (index = 1; index < items; index++)
sv2net (deobjectify, RETVAL, ST(index));
setlocale(LC_NUMERIC, previous_locale);
OUTPUT:
RETVAL
void
net2args(objectify,s)
int objectify
char * s
PPCODE:
if (objectify) init_object_cache;
/* this depends on a trailing zero! */
char* previous_locale = setlocale(LC_NUMERIC, "C");
while (*s)
{
SV *sv;
PUTBACK; // this is necessary due to eval_pv in net2sv
sv = net2sv (objectify, &s);
SPAGAIN; // works without, but recommended by perl expert - leaving in
XPUSHs (sv_2mortal (sv));
( run in 2.155 seconds using v1.01-cache-2.11-cpan-71847e10f99 )