static void gwy_surface_finalize(GObject *object) { GwySurface *surface = GWY_SURFACE(object); free_data(surface); G_OBJECT_CLASS(gwy_surface_parent_class)->finalize(object); }
static void gwy_surface_dispose(GObject *object) { GwySurface *surface = GWY_SURFACE(object); GWY_OBJECT_UNREF(surface->priv->si_unit_xy); GWY_OBJECT_UNREF(surface->priv->si_unit_z); G_OBJECT_CLASS(gwy_surface_parent_class)->dispose(object); }
static void gwy_surface_clone_real(GObject *source, GObject *copy) { GwySurface *surface, *clone; g_return_if_fail(GWY_IS_SURFACE(source)); g_return_if_fail(GWY_IS_SURFACE(copy)); surface = GWY_SURFACE(source); clone = GWY_SURFACE(copy); if (clone->n != surface->n) { clone->n = surface->n; alloc_data(clone); } gwy_assign(clone->data, surface->data, surface->n); copy_info(clone, surface); }
static GObject* gwy_surface_duplicate_real(GObject *object) { GwySurface *surface, *duplicate; g_return_val_if_fail(GWY_IS_SURFACE(object), NULL); surface = GWY_SURFACE(object); duplicate = gwy_surface_new_from_data(surface->data, surface->n); copy_info(duplicate, surface); return (GObject*)duplicate; }
static gsize gwy_surface_get_size(GObject *obj) { GwySurface *surface; guint32 datasize; g_return_val_if_fail(GWY_IS_SURFACE(obj), 0); surface = GWY_SURFACE(obj); ensure_units(surface); datasize = 3*surface->n; { GwySerializeSpec spec[] = { { 'o', "si_unit_xy", &surface->priv->si_unit_xy, NULL, }, { 'o', "si_unit_z", &surface->priv->si_unit_z, NULL, }, { 'D', "data", &surface->data, &datasize, }, }; return gwy_serialize_get_struct_size(GWY_SURFACE_TYPE_NAME, G_N_ELEMENTS(spec), spec); } }
static void surface_assert_equal_object(GObject *object, GObject *reference) { surface_assert_equal(GWY_SURFACE(object), GWY_SURFACE(reference)); }