/** * Copies the value of the src param into the param. Also sets the param to the type of which the * source param is. * * @param param Pointer to the VisParamEntry to which a parameter is set. * @param src Pointer to the VisParamEntry from which the value is retrieved. * * @return VISUAL_OK on succes, -VISUAL_ERROR_PARAM_NULL, -VISUAL_ERROR_PARAM_INVALID_TYPE on failure. */ int visual_param_entry_set_from_param (VisParamEntry *param, VisParamEntry *src) { visual_log_return_val_if_fail (param != NULL, -VISUAL_ERROR_PARAM_NULL); visual_log_return_val_if_fail (src != NULL, -VISUAL_ERROR_PARAM_NULL); switch (src->type) { case VISUAL_PARAM_ENTRY_TYPE_NULL: break; case VISUAL_PARAM_ENTRY_TYPE_STRING: visual_param_entry_set_string (param, visual_param_entry_get_string (src)); break; case VISUAL_PARAM_ENTRY_TYPE_INTEGER: visual_param_entry_set_integer (param, visual_param_entry_get_integer (src)); break; case VISUAL_PARAM_ENTRY_TYPE_FLOAT: visual_param_entry_set_float (param, visual_param_entry_get_float (src)); break; case VISUAL_PARAM_ENTRY_TYPE_DOUBLE: visual_param_entry_set_double (param, visual_param_entry_get_double (src)); break; case VISUAL_PARAM_ENTRY_TYPE_COLOR: visual_param_entry_set_color_by_color (param, visual_param_entry_get_color (src)); break; case VISUAL_PARAM_ENTRY_TYPE_PALETTE: visual_param_entry_set_palette (param, visual_param_entry_get_palette (src)); break; case VISUAL_PARAM_ENTRY_TYPE_OBJECT: visual_param_entry_set_object (param, visual_param_entry_get_object (src)); break; default: visual_log (VISUAL_LOG_CRITICAL, _("param type is not valid")); return -VISUAL_ERROR_PARAM_INVALID_TYPE; break; } return VISUAL_OK; }
static void show_options (AVSElement *element) { return; VisParamEntry *param; VisHashmapChainEntry *mentry; VisCollectionIter *iter; if (element == NULL) return; printf ("Element options of element type: %d\n", element->type); iter = visual_collection_get_iter (VISUAL_COLLECTION (&element->pcont->entries)); while (visual_collection_iter_has_more (iter)) { printf("Bleh\n"); mentry = visual_collection_iter_get_data (iter); param = mentry->data; switch (param->type) { case VISUAL_PARAM_ENTRY_TYPE_NULL: printf ("\t%s: Type NULL\n", visual_param_entry_get_name (param)); break; case VISUAL_PARAM_ENTRY_TYPE_STRING: printf ("\t%s: Type STRING: %s\n", visual_param_entry_get_name (param), visual_param_entry_get_string (param)); break; case VISUAL_PARAM_ENTRY_TYPE_INTEGER: printf ("\t%s: Type INTEGER: %d\n", visual_param_entry_get_name (param), visual_param_entry_get_integer (param)); break; case VISUAL_PARAM_ENTRY_TYPE_FLOAT: printf ("\t%s: Type FLOAT: %f\n", visual_param_entry_get_name (param), visual_param_entry_get_float (param)); break; case VISUAL_PARAM_ENTRY_TYPE_DOUBLE: printf ("\t%s: Type DOUBLE: %f\n", visual_param_entry_get_name (param), visual_param_entry_get_double (param)); break; case VISUAL_PARAM_ENTRY_TYPE_COLOR: printf ("\t%s: Type COLOR: %d %d %d\n", visual_param_entry_get_name (param), param->color.r, param->color.g, param->color.b); break; case VISUAL_PARAM_ENTRY_TYPE_PALETTE: { int i; printf ("\t%s: Type PALETTE:\n", visual_param_entry_get_name (param)); for (i = 0; i < param->pal.ncolors; i++) { printf ("\t\tcolor[%d] %d %d %d\n", i, param->pal.colors[i].r, param->pal.colors[i].g, param->pal.colors[i].b); } } break; default: break; } } printf ("\n"); }