AC_ARG_ENABLE(tests,[ --disable-tests disable test libraries ], enable_tests=$enableval,enable_tests=yes)
have_cairo=no
-PKG_CHECK_MODULES(CAIRO, [cairo], have_cairo=yes, have_cairo=no)
+PKG_CHECK_MODULES(CAIRO, [cairo cairo-gobject], have_cairo=yes, have_cairo=no)
if test x$have_cairo != xyes && test x$enable_tests != xno; then
AC_MSG_ERROR([Tests enabled but cairo not found; pass --disable-tests or install cairo])
fi
</parameter>
</parameters>
</method>
+ <method name="emit_sig_with_foreign_struct"
+ c:identifier="regress_test_obj_emit_sig_with_foreign_struct">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
<method name="emit_sig_with_obj"
c:identifier="regress_test_obj_emit_sig_with_obj">
<return-value transfer-ownership="none">
</parameter>
</parameters>
</glib:signal>
+ <glib:signal name="sig-with-foreign-struct" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="cr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A cairo context.</doc>
+ <type name="cairo.Context"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
<glib:signal name="sig-with-hash-prop" when="last">
<doc xml:whitespace="preserve">This test signal is like TelepathyGlib's
TpAccount::status-changed</doc>
#include <stdlib.h>
#include <glib-object.h>
#include <gobject/gvaluecollector.h>
+#include <cairo-gobject.h>
#include "regress.h"
REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_HASH_PROP,
REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_STRV,
REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_OBJ,
+ REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_FOREIGN_STRUCT,
REGRESS_TEST_OBJ_SIGNAL_FIRST,
REGRESS_TEST_OBJ_SIGNAL_CLEANUP,
REGRESS_TEST_OBJ_SIGNAL_ALL,
1,
G_TYPE_OBJECT);
+ /**
+ * RegressTestObj::sig-with-foreign-struct:
+ * @self: an object
+ * @cr: (transfer none): A cairo context.
+ */
+ regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_FOREIGN_STRUCT] =
+ g_signal_new ("sig-with-foreign-struct",
+ G_TYPE_FROM_CLASS (gobject_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL,
+ NULL,
+ NULL,
+ G_TYPE_NONE,
+ 1,
+ CAIRO_GOBJECT_TYPE_CONTEXT);
+
regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_FIRST] =
g_signal_new ("first",
G_TYPE_FROM_CLASS (gobject_class),
g_object_unref (obj_param);
}
+void
+regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj)
+{
+ cairo_t *cr = regress_test_cairo_context_full_return ();
+ g_signal_emit_by_name (obj, "sig-with-foreign-struct", cr);
+ cairo_destroy (cr);
+}
+
int
regress_test_obj_instance_method (RegressTestObj *obj)
{
RegressTestObj* regress_test_obj_new_from_file (const char *x, GError **error);
void regress_test_obj_set_bare (RegressTestObj *obj, GObject *bare);
void regress_test_obj_emit_sig_with_obj (RegressTestObj *obj);
+void regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj);
int regress_test_obj_instance_method (RegressTestObj *obj);
double regress_test_obj_static_method (int x);
void regress_forced_method (RegressTestObj *obj);