## GimpController

GimpController — Pluggable GIMP input controller modules.

## Functions

GimpController * | gimp_controller_new ()
gint | gimp_controller_get_n_events ()
const gchar * | gimp_controller_get_event_name ()
const gchar * | gimp_controller_get_event_blurb ()
gboolean | gimp_controller_event ()

## Properties

char * | name | Read / Write / Construct
char * | state | Read / Write / Construct

## Signals

gboolean | event | Run Last

## Types and Values

enum | GimpControllerEventType
struct | GimpControllerEventAny
struct | GimpControllerEventTrigger
struct | GimpControllerEventValue
union | GimpControllerEvent
| GimpController

## Object Hierarchy

        GObject
        ╰── GimpController

## Implemented Interfaces

GimpController implements GimpConfigInterface.

## Description

An abstract interface for implementing arbitrary input controllers.

## Functions

### gimp_controller_new ()

    GimpController *
    gimp_controller_new (GType controller_type);

### gimp_controller_get_n_events ()

    gint
    gimp_controller_get_n_events (GimpController *controller);

### gimp_controller_get_event_name ()

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

### gimp_controller_get_event_blurb ()

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

### gimp_controller_event ()

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

## Types and Values

### enum GimpControllerEventType

Event types for GimpController.

#### Members

GIMP_CONTROLLER_EVENT_TRIGGER | the event is a simple trigger |
GIMP_CONTROLLER_EVENT_VALUE | the event carries a double value |

### struct GimpControllerEventAny

    struct GimpControllerEventAny {
      GimpControllerEventType  type;
      GimpController          *source;
      gint                     event_id;
    };

Generic controller event. Every event has these three members at the beginning of its struct

#### Members

GimpControllerEventType `type`; | The event's GimpControllerEventType |
GimpController *`source`; | The event's source GimpController |
gint `event_id`; | The event's ID |

### struct GimpControllerEventTrigger

    struct GimpControllerEventTrigger {
      GimpControllerEventType  type;
      GimpController          *source;
      gint                     event_id;
    };

Trigger controller event.

#### Members

GimpControllerEventType `type`; | The event's GimpControllerEventType |
GimpController *`source`; | The event's source GimpController |
gint `event_id`; | The event's ID |

### struct GimpControllerEventValue

    struct GimpControllerEventValue {
      GimpControllerEventType  type;
      GimpController          *source;
      gint                     event_id;
      GValue                   value;
    };

Value controller event.

#### Members

GimpControllerEventType `type`; | The event's GimpControllerEventType |
GimpController *`source`; | The event's source GimpController |
gint `event_id`; | The event's ID |
GValue `value`; | The event's value |

### union GimpControllerEvent

A union to hjold all event event types

#### Members

GimpControllerEventType `type`; | The event type |
GimpControllerEventAny `any`; | GimpControllerEventAny |
GimpControllerEventTrigger `trigger`; | GimpControllerEventTrigger |
GimpControllerEventValue `value`; | GimpControllerEventValue |

### GimpController

    typedef struct _GimpController GimpController;

## Property Details

### The `“name”` property

      “name”                     char *

The controller's name.

Owner: GimpController

Flags: Read / Write / Construct

Default value: "Unnamed Controller"

### The `“state”` property

      “state”                    char *

The controller's state, as human-readable string.

Owner: GimpController

Flags: Read / Write / Construct

Default value: "Unknown"

## Signal Details

### The `“event”` signal

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

Flags: Run Last