static GByteArray* gwy_3d_setup_serialize(GObject *serializable, GByteArray *buffer) { Gwy3DSetup *setup; gwy_debug(""); g_return_val_if_fail(GWY_IS_3D_SETUP(serializable), NULL); setup = GWY_3D_SETUP(serializable); { GwySerializeSpec spec[] = { { 'i', "projection", &setup->projection, NULL, }, { 'i', "visualization", &setup->visualization, NULL, }, { 'b', "axes-visible", &setup->axes_visible, NULL, }, { 'b', "labels-visible", &setup->labels_visible, NULL, }, { 'd', "rotation-x", &setup->rotation_x, NULL, }, { 'd', "rotation-y", &setup->rotation_y, NULL, }, { 'd', "scale", &setup->scale, NULL, }, { 'd', "z-scale", &setup->z_scale, NULL, }, { 'd', "light-phi", &setup->light_phi, NULL, }, { 'd', "light-theta", &setup->light_theta, NULL, }, }; return gwy_serialize_pack_object_struct(buffer, GWY_3D_SETUP_TYPE_NAME, G_N_ELEMENTS(spec), spec); } }
static GByteArray* gwy_graph_curve_model_serialize(GObject *object, GByteArray *buffer) { GwyGraphCurveModel *gcmodel; gwy_debug(""); g_return_val_if_fail(GWY_IS_GRAPH_CURVE_MODEL(object), NULL); gcmodel = GWY_GRAPH_CURVE_MODEL(object); { GwySerializeSpec spec[] = { { 'D', "xdata", &gcmodel->xdata, &gcmodel->n }, { 'D', "ydata", &gcmodel->ydata, &gcmodel->n }, { 's', "description", &gcmodel->description->str, NULL }, { 'd', "color.red", &gcmodel->color.r, NULL }, { 'd', "color.green", &gcmodel->color.g, NULL }, { 'd', "color.blue", &gcmodel->color.b, NULL }, { 'i', "type", &gcmodel->type, NULL }, { 'i', "point_type", &gcmodel->point_type, NULL }, { 'i', "point_size", &gcmodel->point_size, NULL }, { 'i', "line_style", &gcmodel->line_style, NULL }, { 'i', "line_size", &gcmodel->line_size, NULL }, }; return gwy_serialize_pack_object_struct(buffer, GWY_GRAPH_CURVE_MODEL_TYPE_NAME, G_N_ELEMENTS(spec), spec); } }
static GByteArray* gwy_spectra_serialize(GObject *obj, GByteArray *buffer) { GwySpectra *spectra; GwyDataLine **curves; gdouble *coords; guint32 *selected; guint32 ncurves, ncoords, nselected; GByteArray *retval; gwy_debug(""); g_return_val_if_fail(GWY_IS_SPECTRA(obj), NULL); spectra = GWY_SPECTRA(obj); if (!spectra->si_unit_xy) spectra->si_unit_xy = gwy_si_unit_new(NULL); separate_arrays(spectra->spectra, &ncurves, &curves, &ncoords, &coords, &nselected, &selected); { GwySerializeSpec spec[] = { { 's', "title", &spectra->title, NULL, }, { 'o', "si_unit_xy", &spectra->si_unit_xy, NULL, }, { 'D', "coords", &coords, &ncoords, }, { 'I', "selected", &selected, &nselected, }, { 'O', "data", &curves, &ncurves, }, { 's', "spec_xlabel", &spectra->spec_xlabel, NULL, }, { 's', "spec_ylabel", &spectra->spec_ylabel, NULL, }, }; guint nspec = fix_serialisation_spec(spec); retval = gwy_serialize_pack_object_struct(buffer, GWY_SPECTRA_TYPE_NAME, nspec, spec); } g_free(curves); g_free(coords); g_free(selected); return retval; }
static GByteArray* gwy_string_list_serialize(GObject *obj, GByteArray *buffer) { GwyStringList *strlist; GByteArray *retval; GPtrArray *strings; g_return_val_if_fail(GWY_IS_STRING_LIST(obj), NULL); strlist = GWY_STRING_LIST(obj); strings = (GPtrArray*)strlist->strings; { guint32 len = strings->len; GwySerializeSpec spec[] = { { 'S', "strings", &strings->pdata, &len, }, }; retval = gwy_serialize_pack_object_struct(buffer, GWY_STRING_LIST_TYPE_NAME, G_N_ELEMENTS(spec), spec); return retval; } }
static GByteArray* gwy_surface_serialize(GObject *obj, GByteArray *buffer) { GwySurface *surface; guint32 datasize; g_return_val_if_fail(GWY_IS_SURFACE(obj), NULL); 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_pack_object_struct(buffer, GWY_SURFACE_TYPE_NAME, G_N_ELEMENTS(spec), spec); } }
static GByteArray* gwy_si_unit_serialize(GObject *obj, GByteArray *buffer) { GwySIUnit *si_unit; GByteArray *retval; g_return_val_if_fail(GWY_IS_SI_UNIT(obj), NULL); si_unit = GWY_SI_UNIT(obj); { gchar *unitstr = gwy_si_unit_get_string(si_unit, GWY_SI_UNIT_FORMAT_PLAIN); GwySerializeSpec spec[] = { { 's', "unitstr", &unitstr, NULL, }, }; gwy_debug("unitstr = <%s>", unitstr); retval = gwy_serialize_pack_object_struct(buffer, GWY_SI_UNIT_TYPE_NAME, G_N_ELEMENTS(spec), spec); g_free(unitstr); return retval; } }