gegl-op

## gegl-op gegl-op |

## Functions

#define | GEGL_HEADER()
#define | define_register_type_()
#define | define_register_type()
#define | GEGL_DEFINE_DYNAMIC_OPERATION_EXTENDED()
#define | GEGL_DEFINE_DYNAMIC_OPERATION_()
#define | GEGL_DEFINE_DYNAMIC_OPERATION__()
#define | GEGL_DEFINE_DYNAMIC_OPERATION()
#define | GEGL_PROPERTIES()
#define | MKCLASS()
#define | MKCLASS2()
#define | GEGL_OP()
#define | define_init_()
#define | define_init()
gboolean | gegl_module_register ()
const GeglModuleInfo * | gegl_module_query ()
#define | do_reg_()
#define | do_reg()
#define | description()
#define | value_range()
#define | ui_range()
#define | ui_gamma()
#define | ui_steps()
#define | ui_meta()
#define | ui_digits()
#define | ITEM()
#define | ITEM2()
#define | property_double()
#define | property_int()
#define | property_string()
#define | property_file_path()
#define | property_uri()
#define | property_boolean()
#define | property_pointer()
#define | property_object()
#define | property_enum()
#define | property_seed()
#define | property_format()
#define | property_curve()
#define | property_path()
#define | property_color()
#define | property_audio_fragment()
#define | enum_start()
#define | enum_value()
#define | enum_value_skip()
#define | enum_end()
#define | GEGL_OP_OPERATION()
void | get_property ()
void | set_property ()
GObject * | gegl_op_constructor ()
void | param_spec_update_ui ()

## Types and Values

#define | GEGL_OP_C_FILE
#define | GEGL_OP_NAME
#define | GEGL_OP_Parent
struct | GeglOp
struct | GeglProperties
GeglProperties * | properties
const char * | set_value

## Description

## Functions

### GEGL_HEADER()

    #define GEGL_HEADER(x) _GEGL_HEADER(x)

### define_register_type_()

    #define             define_register_type_(a)

### define_register_type()

    #define define_register_type(a) define_register_type_(a)

### GEGL_DEFINE_DYNAMIC_OPERATION_EXTENDED()

    #define             GEGL_DEFINE_DYNAMIC_OPERATION_EXTENDED(C_FILE, TypeName, type_name, TYPE_PARENT, flags, CODE)

### GEGL_DEFINE_DYNAMIC_OPERATION_()

    #define GEGL_DEFINE_DYNAMIC_OPERATION_(T_P, C_FILE, opname) GEGL_DEFINE_DYNAMIC_OPERATION_EXTENDED(C_FILE, GeglOp, gegl_op_##opname, T_P, 0, {})

### GEGL_DEFINE_DYNAMIC_OPERATION__()

    #define GEGL_DEFINE_DYNAMIC_OPERATION__(a,b,c) GEGL_DEFINE_DYNAMIC_OPERATION_(a,b,c)

### GEGL_DEFINE_DYNAMIC_OPERATION()

    #define GEGL_DEFINE_DYNAMIC_OPERATION(T_P) GEGL_DEFINE_DYNAMIC_OPERATION__(T_P, GEGL_OP_C_FILE, GEGL_OP_NAME)

### GEGL_PROPERTIES()

    #define GEGL_PROPERTIES(op) ((GeglProperties *) (((GeglOp*)(op))->properties))

### MKCLASS()

    #define MKCLASS(a)  MKCLASS2(a)

### MKCLASS2()

    #define MKCLASS2(a) a##Class

### GEGL_OP()

    #define GEGL_OP(obj)  ((GeglOp*)(obj))

### define_init_()

    #define             define_init_(a)

### define_init()

    #define define_init(a) define_init_(a)

### gegl_module_register ()

    gboolean
    gegl_module_register (GTypeModule *module);

### gegl_module_query ()

    const GeglModuleInfo *
    gegl_module_query (GTypeModule *module);

### do_reg_()

    #define do_reg_(a) gegl_op_##a##_register_type (module)

### do_reg()

    #define do_reg(b) do_reg_(b)

### description()

    #define description(blurb)

### value_range()

    #define value_range(min,max)

### ui_range()

    #define ui_range(min,max)

### ui_gamma()

    #define ui_gamma(gamma)

### ui_steps()

    #define ui_steps(small_increment, big_increment)

### ui_meta()

    #define ui_meta(key,val)

### ui_digits()

    #define ui_digits(digits)

### ITEM()

    #define ITEM(name,label,def_val, type)

### ITEM2()

    #define ITEM2(name,label,def_val,type) ITEM(name,label,def_val,type)

### property_double()

    #define property_double(name, label, def_val)     ITEM(name,label,def_val,double)

### property_int()

    #define property_int(name, label, def_val)        ITEM(name,label,def_val,int)

### property_string()

    #define property_string(name, label, def_val)     ITEM(name,label,def_val,string)

### property_file_path()

    #define property_file_path(name, label, def_val)  ITEM(name,label,def_val,string)

### property_uri()

    #define property_uri(name, label, def_val)        ITEM(name,label,def_val,string)

### property_boolean()

    #define property_boolean(name, label, def_val)    ITEM(name,label,def_val,boolean)

### property_pointer()

    #define property_pointer(name, label, def_val)    ITEM(name,label,def_val,pointer)

### property_object()

    #define property_object(name, label, def_val)     ITEM2(name,label,def_val,object)

### property_enum()

    #define property_enum(name, label, enm, enum_name, def_val)  ITEM(name,label,def_val,pointer)

### property_seed()

    #define property_seed(name, label, rand_name)     ITEM(name,label,def_val,uint)

### property_format()

    #define property_format(name, label, def_val)     ITEM(name,label,def_val,pointer)

### property_curve()

    #define property_curve(name, label, def_val)      ITEM2(name,label,def_val,object)

### property_path()

    #define property_path(name, label, def_val)       ITEM2(name,label,def_val,object)

### property_color()

    #define property_color(name, label, def_val)      ITEM2(name,label,def_val,object)

### property_audio_fragment()

    #define property_audio_fragment(name, label, def_val)      ITEM2(name,label,NULL,object)

### enum_start()

    #define enum_start(enum_name)   typedef enum {

### enum_value()

    #define enum_value(value, nick, name)    value ,

### enum_value_skip()

    #define enum_value_skip(value)           value ,

### enum_end()

    #define enum_end(enum)          } enum ;

### GEGL_OP_OPERATION()

    #define GEGL_OP_OPERATION(obj) ((Operation*)(obj))

### get_property ()

    void
    get_property (GObject *gobject,
                  guint property_id,
                  GValue *value,
                  GParamSpec *pspec);

### set_property ()

    void
    set_property (GObject *gobject,
                  guint property_id,
                  const GValue *value,
                  GParamSpec *pspec);

### gegl_op_constructor ()

    GObject *
    gegl_op_constructor (GType type,
                         guint n_construct_properties,
                         GObjectConstructParam *construct_properties);

### param_spec_update_ui ()

    void
    param_spec_update_ui (GParamSpec *pspec,
                          gboolean ui_range_set,
                          gboolean ui_steps_set,
                          gboolean ui_digits_set);

## Types and Values

### GEGL_OP_C_FILE

    #define GEGL_OP_C_FILE GEGL_HEADER(GEGL_OP_C_SOURCE)

### GEGL_OP_NAME

    #define GEGL_OP_NAME op

### GEGL_OP_Parent

    #define GEGL_OP_Parent GeglOperationPointFilter

### GEGL_OP_PARENT

    #define GEGL_OP_PARENT GEGL_TYPE_OPERATION_POINT_FILTER

### struct GeglOp

    struct GeglOp {
      GEGL_OP_Parent parent_instance;
      gpointer       properties;
    };

### struct GeglProperties

    struct GeglProperties {
      gpointer user_data; /* for use by the op implementation */
    #define property_double(name, label, def_val)          gdouble     name;
    #define property_int(name, label, def_val)             gint        name;
    #define property_string(name, label, def_val)          gchar      *name;
    #define property_boolean(name, label, def_val)         gboolean    name;
    #define property_file_path(name, label, def_val)       gchar      *name;
    #define property_uri(name, label, def_val)             gchar      *name;
    #define property_object(name, label, def_val)          GObject    *name;
    #define property_curve(name, label, def_val)           GeglCurve  *name;
    #define property_color(name, label, def_val)           GeglColor  *name;
    #define property_audio_fragment(name, label, def_val)  GeglAudioFragment  *name;
    #define property_path(name, label, def_val)            GeglPath   *name; gulong path_changed_handler;
    #define property_pointer(name, label, def_val)         gpointer    name;
    #define property_format(name, label, def_val)          gpointer    name;
    #define property_enum(name, label, enum, enum_name, def_val) enum        name;
    #define property_seed(name, label, rand_name)          guint       name;\
                                                           GeglRandom *rand_name;

    #include GEGL_OP_C_FILE

    #undef property_double
    #undef property_int
    #undef property_string
    #undef property_boolean
    #undef property_file_path
    #undef property_uri
    #undef property_object
    #undef property_pointer
    #undef property_format
    #undef property_enum
    #undef property_seed
    #undef property_curve
    #undef property_color
    #undef property_audio_fragment
    #undef property_path
    };

### properties

      GeglProperties *properties = GEGL_PROPERTIES (data);

### set_value

      const char *set_value = gegl_param_spec_get_property_key (pspec, key);