## GimpController

GimpController — Pluggable GIMP input controller modules.

## Synopsis

    enum        GimpControllerEventType;
    struct      GimpControllerEventAny;
    struct      GimpControllerEventTrigger;
    struct      GimpControllerEventValue;
    union       GimpControllerEvent;
    struct      GimpController;
    GimpController* gimp_controller_new         (GType controller_type);
    gint        gimp_controller_get_n_events    (GimpController *controller);
    const gchar* gimp_controller_get_event_name (GimpController *controller,
                                                 gint event_id);
    const gchar* gimp_controller_get_event_blurb
                                                (GimpController *controller,
                                                 gint event_id);
    gboolean    gimp_controller_event           (GimpController *controller,
                                                 const GimpControllerEvent *event);

## Object Hierarchy

      GObject
       +----GimpController

## Properties

      "name"                 gchararray           : Read / Write / Construct
      "state"                gchararray           : Read / Write / Construct

## Signal Prototypes

    "event"     gboolean    user_function      (GimpController *gimpcontroller,
                                                gpointer arg1,
                                                gpointer user_data);

## Description

An abstract interface for implementing arbitrary input controllers.

## Details

### enum GimpControllerEventType

    typedef enum
    {
      GIMP_CONTROLLER_EVENT_TRIGGER,
      GIMP_CONTROLLER_EVENT_VALUE
    } GimpControllerEventType;

### struct GimpControllerEventAny

    struct GimpControllerEventAny {

      GimpControllerEventType  type;
      GimpController          *source;
      gint                     event_id;
    };

### struct GimpControllerEventTrigger

    struct GimpControllerEventTrigger {

      GimpControllerEventType  type;
      GimpController          *source;
      gint                     event_id;
    };

### struct GimpControllerEventValue

    struct GimpControllerEventValue {

      GimpControllerEventType  type;
      GimpController          *source;
      gint                     event_id;
      GValue                   value;
    };

### union GimpControllerEvent

    union GimpControllerEvent
    {
      GimpControllerEventType    type;
      GimpControllerEventAny     any;
      GimpControllerEventTrigger trigger;
      GimpControllerEventValue   value;
    };

### struct GimpController

    struct GimpController;

### gimp_controller_new ()

    GimpController* gimp_controller_new         (GType controller_type);

`controller_type` : |
Returns : |

### gimp_controller_get_n_events ()

    gint        gimp_controller_get_n_events    (GimpController *controller);

`controller` : |
Returns : |

### gimp_controller_get_event_name ()

    const gchar* gimp_controller_get_event_name (GimpController *controller,
                                                 gint event_id);

`controller` : |
`event_id` : |
Returns : |

### gimp_controller_get_event_blurb ()

    const gchar* gimp_controller_get_event_blurb
                                                (GimpController *controller,
                                                 gint event_id);

`controller` : |
`event_id` : |
Returns : |

### gimp_controller_event ()

    gboolean    gimp_controller_event           (GimpController *controller,
                                                 const GimpControllerEvent *event);

`controller` : |
`event` : |
Returns : |

## Properties

"`name`" (gchararray : Read / Write / Construct) |
"`state`" (gchararray : Read / Write / Construct) |

## Signals

### The "event" signal

    gboolean    user_function                  (GimpController *gimpcontroller,
                                                gpointer arg1,
                                                gpointer user_data);

`gimpcontroller` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |