示例#1
0
/**
 * 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;
}
示例#2
0
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");
}