コード例 #1
0
ファイル: surface.c プロジェクト: cbuehler/gwyddion
static void
gwy_surface_finalize(GObject *object)
{
    GwySurface *surface = GWY_SURFACE(object);
    free_data(surface);
    G_OBJECT_CLASS(gwy_surface_parent_class)->finalize(object);
}
コード例 #2
0
ファイル: surface.c プロジェクト: cbuehler/gwyddion
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);
}
コード例 #3
0
ファイル: surface.c プロジェクト: cbuehler/gwyddion
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);
}
コード例 #4
0
ファイル: surface.c プロジェクト: cbuehler/gwyddion
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;
}
コード例 #5
0
ファイル: surface.c プロジェクト: cbuehler/gwyddion
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);
    }
}
コード例 #6
0
ファイル: surface.c プロジェクト: svn2github/gwyddion
static void
surface_assert_equal_object(GObject *object, GObject *reference)
{
    surface_assert_equal(GWY_SURFACE(object), GWY_SURFACE(reference));
}