static int test (void) { int i = 0; int OK = 1; while (reference[i].klass) { if (strcmp (reference[i].name, babl_class_name (reference[i].klass))) { OK = 0; babl_log ("'%s'!='%s'\n", reference[i].name, babl_class_name (reference[i].klass)); } i++; } return !OK; }
static int each_introspect (Babl *babl, void *user_data) { babl_log ("\t\"%s\"\t%i\t%s", babl->instance.name, babl->instance.id, babl_class_name (babl->class_type)); switch (babl->class_type) { case BABL_TYPE: type_introspect (babl); item_conversions_introspect (babl); break; case BABL_COMPONENT: break; case BABL_MODEL: model_introspect (babl); item_conversions_introspect (babl); break; case BABL_FORMAT: format_introspect (babl); item_conversions_introspect (babl); break; case BABL_SAMPLING: sampling_introspect (babl); item_conversions_introspect (babl); break; case BABL_CONVERSION: case BABL_CONVERSION_PLANE: case BABL_CONVERSION_PLANAR: case BABL_CONVERSION_LINEAR: conversion_introspect (babl); break; case BABL_FISH: case BABL_FISH_REFERENCE: case BABL_FISH_SIMPLE: fish_introspect (babl); break; case BABL_FISH_PATH: fish_path_introspect (babl); break; default: break; } return 0; }
const Babl * babl_type_new (void *first_arg, ...) { va_list varg; Babl *babl; int id = 0; int is_integer = 0; int bits = 0; long min = 0; long max = 255; double min_val = 0.0; double max_val = 0.0; const char *name = first_arg; const char *arg; va_start (varg, first_arg); while (1) { arg = va_arg (varg, char *); if (!arg) break; if (BABL_IS_BABL (arg)) { #ifdef BABL_LOG Babl *babl = (Babl *) arg; babl_log ("%s unexpected", babl_class_name (babl->class_type)); #endif } /* if we didn't point to a babl, we assume arguments to be strings */ else if (!strcmp (arg, "id")) { id = va_arg (varg, int); } else if (!strcmp (arg, "bits"))