static GwySelection* gwyfile_gather_old_rect_selection(GwyContainer *data) { GwySelection *sel; GType type; gboolean selected; gdouble xy[4]; type = g_type_from_name("GwySelectionRectangle"); if (!type || !gwy_container_gis_boolean_by_name(data, "/0/select/rect/selected", &selected) || !selected) return NULL; if (!gwy_container_gis_double_by_name(data, "/0/select/rect/x0", &xy[0]) || !gwy_container_gis_double_by_name(data, "/0/select/rect/y0", &xy[1]) || !gwy_container_gis_double_by_name(data, "/0/select/rect/x1", &xy[2]) || !gwy_container_gis_double_by_name(data, "/0/select/rect/y1", &xy[3])) return NULL; sel = GWY_SELECTION(g_object_new(type, "max-objects", 1, NULL)); gwy_selection_set_object(sel, 0, xy); return sel; }
static void gwy_layer_basic_get_fixed_range(GwyLayerBasic *basic_layer, GwyContainer *container, GwyDataField *data_field, gdouble *rmin, gdouble *rmax) { const gchar *prefix; gchar *key; guint len; if (!basic_layer->fixed_key) { gwy_data_field_get_min_max(data_field, rmin, rmax); return; } prefix = g_quark_to_string(basic_layer->fixed_key); len = strlen(prefix); key = g_newa(gchar, len + sizeof("/min")); g_stpcpy(g_stpcpy(key, prefix), "/min"); if (!gwy_container_gis_double_by_name(container, key, rmin)) *rmin = gwy_data_field_get_min(data_field); strcpy(key + len + 1, "max"); if (!gwy_container_gis_double_by_name(container, key, rmax)) *rmax = gwy_data_field_get_max(data_field); }
static void tilt_load_args(GwyContainer *container, TiltArgs *args) { *args = tilt_defaults; gwy_container_gis_double_by_name(container, dx_key, &args->dx); gwy_container_gis_double_by_name(container, dy_key, &args->dy); tilt_sanitize_args(args); }
static void deposit_load_args(GwyContainer *container, DepositArgs *args) { *args = deposit_defaults; gwy_container_gis_double_by_name(container, size_key, &args->size); // gwy_container_gis_double_by_name(container, width_key, &args->width); gwy_container_gis_double_by_name(container, coverage_key, &args->coverage); gwy_container_gis_double_by_name(container, revise_key, &args->revise); deposit_sanitize_args(args); }
static void scale_load_args(GwyContainer *container, ScaleArgs *args) { *args = scale_defaults; gwy_container_gis_double_by_name(container, ratio_key, &args->ratio); gwy_container_gis_enum_by_name(container, interp_key, &args->interp); gwy_container_gis_enum_by_name(container, proportional_key, &args->proportional); gwy_container_gis_double_by_name(container, aspectratio_key, &args->aspectratio); scale_sanitize_args(args); }
static void immerse_load_args(GwyContainer *settings, ImmerseArgs *args) { *args = immerse_defaults; gwy_container_gis_enum_by_name(settings, sampling_key, &args->sampling); gwy_container_gis_enum_by_name(settings, leveling_key, &args->leveling); gwy_container_gis_boolean_by_name(settings, draw_frame_key, &args->draw_frame); gwy_container_gis_double_by_name(settings, xpos_key, &args->xpos); gwy_container_gis_double_by_name(settings, ypos_key, &args->ypos); args->detail = detail_id; immerse_sanitize_args(args); }
static GdkPixbuf* gwy_layer_basic_paint(GwyPixmapLayer *layer) { GwyDataField *data_field; GwyLayerBasic *basic_layer; GwyContainer *data; gdouble min = 0.0, max = 0.0; gboolean fixedmin, fixedmax; gboolean fixedrange = FALSE; gwy_debug(" "); g_return_val_if_fail(GWY_IS_LAYER_BASIC(layer), NULL); basic_layer = GWY_LAYER_BASIC(layer); data = GWY_DATA_VIEW_LAYER(layer)->data; /* TODO Container */ if (!gwy_container_gis_object_by_name(data, "/0/show", (GObject**)&data_field)) { data_field = GWY_DATA_FIELD(gwy_container_get_object_by_name(data, "/0/data")); fixedrange = TRUE; } g_return_val_if_fail(GWY_IS_DATA_FIELD(data_field), layer->pixbuf); if (fixedrange) { fixedmin = gwy_container_gis_double_by_name(data, "/0/base/min", &min); fixedmax = gwy_container_gis_double_by_name(data, "/0/base/max", &max); if (fixedmin || fixedmax) { if (!fixedmin) min = gwy_data_field_get_min(data_field); if (!fixedmax) max = gwy_data_field_get_max(data_field); } else fixedrange = FALSE; } /* XXX */ /*if (GWY_LAYER_BASIC(layer)->changed)*/ { if (fixedrange) gwy_pixbuf_draw_data_field_with_range(layer->pixbuf, data_field, basic_layer->gradient, min, max); else gwy_pixbuf_draw_data_field(layer->pixbuf, data_field, basic_layer->gradient); basic_layer->changed = FALSE; } return layer->pixbuf; }
static void tip_model_load_args(GwyContainer *container, TipModelArgs *args) { *args = tip_model_defaults; args->type = 0; gwy_container_gis_int32_by_name(container, nsides_key, &args->nsides); gwy_container_gis_double_by_name(container, angle_key, &args->angle); gwy_container_gis_double_by_name(container, theta_key, &args->theta); gwy_container_gis_double_by_name(container, radius_key, &args->radius); gwy_container_gis_enum_by_name(container, type_key, &args->type); tip_model_sanitize_args(args); }
static void wshed_load_args(GwyContainer *container, WshedArgs *args) { *args = wshed_defaults; gwy_container_gis_boolean_by_name(container, inverted_key, &args->inverted); gwy_container_gis_double_by_name(container, locate_dropsize_key, &args->locate_dropsize); gwy_container_gis_double_by_name(container, wshed_dropsize_key, &args->wshed_dropsize); gwy_container_gis_int32_by_name(container, locate_steps_key, &args->locate_steps); gwy_container_gis_int32_by_name(container, wshed_steps_key, &args->wshed_steps); gwy_container_gis_int32_by_name(container, locate_thresh_key, &args->locate_thresh); wshed_sanitize_args(args); }
static void psdflp_load_args(GwyContainer *container, PSDFLPArgs *args) { *args = psdflp_defaults; gwy_container_gis_enum_by_name(container, window_key, &args->window); gwy_container_gis_double_by_name(container, sigma_key, &args->sigma); psdflp_sanitize_args(args); }
static GwySelection* gwyfile_gather_old_line_selection(GwyContainer *data) { GwySelection *sel; GType type; gint i, nselected; gdouble xy[4]; gchar key[40]; type = g_type_from_name("GwySelectionLine"); if (!type || !gwy_container_gis_int32_by_name(data, "/0/select/lines/nselected", &nselected)) return NULL; nselected = CLAMP(nselected, 0, 16); if (!nselected) return NULL; sel = GWY_SELECTION(g_object_new(type, "max-objects", nselected, NULL)); for (i = 0; i < nselected; i++) { g_snprintf(key, sizeof(key), "/0/select/lines/%d/x0", i); if (!gwy_container_gis_double_by_name(data, key, &xy[0])) break; g_snprintf(key, sizeof(key), "/0/select/lines/%d/y0", i); if (!gwy_container_gis_double_by_name(data, key, &xy[1])) break; g_snprintf(key, sizeof(key), "/0/select/lines/%d/x1", i); if (!gwy_container_gis_double_by_name(data, key, &xy[2])) break; g_snprintf(key, sizeof(key), "/0/select/lines/%d/y1", i); if (!gwy_container_gis_double_by_name(data, key, &xy[3])) break; gwy_selection_set_object(sel, i, xy); } if (!i) gwy_object_unref(sel); return sel; }
static void median_load_args(GwyContainer *container, MedianBgArgs *args) { *args = median_defaults; gwy_container_gis_double_by_name(container, radius_key, &args->size); gwy_container_gis_boolean_by_name(container, do_extract_key, &args->do_extract); median_sanitize_args(args); }
static void maskcor_load_args(GwyContainer *settings, MaskcorArgs *args) { *args = maskcor_defaults; gwy_container_gis_enum_by_name(settings, result_key, &args->result); gwy_container_gis_enum_by_name(settings, method_key, &args->method); gwy_container_gis_double_by_name(settings, threshold_key, &args->threshold); args->kernel = kernel_id; maskcor_sanitize_args(args); }
static void rotate_load_args(GwyContainer *container, RotateArgs *args) { *args = rotate_defaults; gwy_container_gis_double_by_name(container, angle_key, &args->angle); gwy_container_gis_enum_by_name(container, interp_key, &args->interp); gwy_container_gis_boolean_by_name(container, expand_key, &args->expand); rotate_sanitize_args(args); }
static void cwt_load_args(GwyContainer *container, CWTArgs *args) { *args = cwt_defaults; gwy_container_gis_boolean_by_name(container, preserve_key, &args->preserve); gwy_container_gis_enum_by_name(container, interp_key, &args->interp); gwy_container_gis_enum_by_name(container, wavelet_key, &args->wavelet); gwy_container_gis_double_by_name(container, scale_key, &args->scale); cwt_sanitize_args(args); }
static void facets_load_args(GwyContainer *container, FacetsArgs *args) { *args = facets_defaults; gwy_container_gis_double_by_name(container, tolerance_key, &args->tolerance); gwy_container_gis_int32_by_name(container, kernel_size_key, &args->kernel_size); facets_sanitize_args(args); }
static void dwt_anisotropy_load_args(GwyContainer *container, DWTAnisotropyArgs *args) { *args = dwt_anisotropy_defaults; gwy_container_gis_enum_by_name(container, interp_key, &args->interp); gwy_container_gis_enum_by_name(container, wavelet_key, &args->wavelet); gwy_container_gis_double_by_name(container, ratio_key, &args->ratio); gwy_container_gis_int32_by_name(container, lowlimit_key, &args->lowlimit); dwt_anisotropy_sanitize_args(args); }
static void sphrev_load_args(GwyContainer *container, Sphrev1DArgs *args) { *args = sphrev_defaults; gwy_container_gis_double_by_name(container, radius_key, &args->size); gwy_container_gis_enum_by_name(container, direction_key, &args->direction); gwy_container_gis_boolean_by_name(container, do_extract_key, &args->do_extract); sphrev_sanitize_args(args); }
static void gedge_load_args(GwyContainer *container, GEdgeArgs *args) { *args = gedge_defaults; gwy_container_gis_double_by_name(container, threshold_laplasian_key, &args->threshold_laplasian); gwy_container_gis_boolean_by_name(container, update_key, &args->update); gedge_sanitize_args(args); }
static void cnew_load_args(GwyContainer *container, CNewArgs *args) { *args = cnew_defaults; gwy_container_gis_double_by_name(container, xrange_from_key, &args->xrange_from); gwy_container_gis_double_by_name(container, xrange_to_key, &args->xrange_to); gwy_container_gis_double_by_name(container, yrange_from_key, &args->yrange_from); gwy_container_gis_double_by_name(container, yrange_to_key, &args->yrange_to); gwy_container_gis_double_by_name(container, zrange_from_key, &args->zrange_from); gwy_container_gis_double_by_name(container, zrange_to_key, &args->zrange_to); cnew_sanitize_args(args); }
static void noise_synth_load_args(GwyContainer *container, NoiseSynthArgs *args, GwyDimensionArgs *dimsargs) { *args = noise_synth_defaults; gwy_container_gis_int32_by_name(container, active_page_key, &args->active_page); gwy_container_gis_boolean_by_name(container, update_key, &args->update); gwy_container_gis_int32_by_name(container, seed_key, &args->seed); gwy_container_gis_boolean_by_name(container, randomize_key, &args->randomize); gwy_container_gis_enum_by_name(container, distribution_key, &args->distribution); gwy_container_gis_enum_by_name(container, direction_key, &args->direction); gwy_container_gis_double_by_name(container, sigma_key, &args->sigma); noise_synth_sanitize_args(args); gwy_clear(dimsargs, 1); gwy_dimensions_copy_args(&dims_defaults, dimsargs); gwy_dimensions_load_args(dimsargs, container, prefix); }