| libeek Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#define I_ (string) #define EEK_TYPE_SYMBOL_MATRIX #define EEK_TYPE_POINT #define EEK_TYPE_BOUNDS #define EEK_TYPE_OUTLINE #define EEK_TYPE_COLOR enum EekOrientation; enum EekModifierBehavior; enum EekModifierType; #define EEK_INVALID_KEYCODE EekSymbolMatrix; EekPoint; EekBounds; EekOutline; EekColor; GType eek_symbol_matrix_get_type (void); EekSymbolMatrix * eek_symbol_matrix_new (gint num_groups,gint num_levels); EekSymbolMatrix * eek_symbol_matrix_copy (const EekSymbolMatrix *matrix); void eek_symbol_matrix_free (EekSymbolMatrix *matrix); GType eek_point_get_type (void); void eek_point_rotate (EekPoint *point,gint angle); GType eek_bounds_get_type (void); gdouble eek_bounds_long_side (EekBounds *bounds); GType eek_outline_get_type (void); EekOutline * eek_outline_copy (const EekOutline *outline); void eek_outline_free (EekOutline *outline); GType eek_color_get_type (void); EekColor * eek_color_new (gdouble red,gdouble green,gdouble blue,gdouble alpha);
typedef enum {
EEK_ORIENTATION_VERTICAL,
EEK_ORIENTATION_HORIZONTAL,
EEK_ORIENTATION_INVALID = -1
} EekOrientation;
Orientation of rows in sections. Elements in a row will be arranged with the specified orientation.
typedef enum {
EEK_MODIFIER_BEHAVIOR_NONE,
EEK_MODIFIER_BEHAVIOR_LOCK,
EEK_MODIFIER_BEHAVIOR_LATCH
} EekModifierBehavior;
Modifier handling mode.
typedef enum
{
EEK_SHIFT_MASK = 1 << 0,
EEK_LOCK_MASK = 1 << 1,
EEK_CONTROL_MASK = 1 << 2,
EEK_MOD1_MASK = 1 << 3,
EEK_MOD2_MASK = 1 << 4,
EEK_MOD3_MASK = 1 << 5,
EEK_MOD4_MASK = 1 << 6,
EEK_MOD5_MASK = 1 << 7,
EEK_BUTTON1_MASK = 1 << 8,
EEK_BUTTON2_MASK = 1 << 9,
EEK_BUTTON3_MASK = 1 << 10,
EEK_BUTTON4_MASK = 1 << 11,
EEK_BUTTON5_MASK = 1 << 12,
/* The next few modifiers are used by XKB, so we skip to the end.
* Bits 15 - 25 are currently unused. Bit 29 is used internally.
*/
EEK_SUPER_MASK = 1 << 26,
EEK_HYPER_MASK = 1 << 27,
EEK_META_MASK = 1 << 28,
EEK_RELEASE_MASK = 1 << 30,
EEK_MODIFIER_MASK = 0x5c001fff
} EekModifierType;
| the Shift key. | |
| a Lock key (depending on the modifier mapping of the X server this may either be CapsLock or ShiftLock). | |
| the Control key. | |
| the fourth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier, but normally it is the Alt key). | |
| the fifth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). | |
| the sixth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). | |
| the seventh modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). | |
| the eighth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). | |
| the first mouse button. | |
| the second mouse button. | |
| the third mouse button. | |
| the fourth mouse button. | |
| the fifth mouse button. | |
| the Super modifier. Since 2.10 | |
| the Hyper modifier. Since 2.10 | |
| the Meta modifier. Since 2.10 | |
| not used in EEK itself. GTK+ uses it to differentiate between (keyval, modifiers) pairs from key press and release events. | |
| a mask covering all modifier types. |
typedef struct {
gint num_groups;
gint num_levels;
EekSymbol **data;
} EekSymbolMatrix;
Symbol matrix of a key.
typedef struct {
gdouble x;
gdouble y;
gdouble width;
gdouble height;
} EekBounds;
The rectangle containing an element's bounding box.
typedef struct {
gdouble corner_radius;
EekPoint *points;
gint num_points;
} EekOutline;
2D rounded polygon used to draw key shape
typedef struct {
gdouble red;
gdouble green;
gdouble blue;
gdouble alpha;
} EekColor;
Color used for drawing.
EekSymbolMatrix * eek_symbol_matrix_new (gint num_groups,gint num_levels);