diff --git a/docs/reference/eek/Makefile.am b/docs/reference/eek/Makefile.am
index ffcd38bf..e3a94e5c 100644
--- a/docs/reference/eek/Makefile.am
+++ b/docs/reference/eek/Makefile.am
@@ -83,6 +83,8 @@ IGNORE_HFILES = \
eek-clutter-section.h \
eek-clutter-key.h \
eek-gtk-renderer.h \
+ eek-theme.h \
+ eek-theme-node.h \
eek-enumtypes.h
if !ENABLE_CLUTTER
IGNORE_HFILES += eek-clutter-keyboard.h eek-clutter.h
diff --git a/docs/reference/eek/eek-docs.sgml b/docs/reference/eek/eek-docs.sgml
index ff57c8a1..241c8c4c 100644
--- a/docs/reference/eek/eek-docs.sgml
+++ b/docs/reference/eek/eek-docs.sgml
@@ -37,6 +37,7 @@
API Manual
Base Classes, Interfaces, and Utilities
+
@@ -49,12 +50,12 @@
- Clutter Keyboard
-
+ GTK Adapter
+
- GTK Keyboard
-
+ Clutter Adapter
+
Libxklavier Layout Engine
diff --git a/docs/reference/eek/eek-sections.txt b/docs/reference/eek/eek-sections.txt
index 05be8758..be0b431f 100644
--- a/docs/reference/eek/eek-sections.txt
+++ b/docs/reference/eek/eek-sections.txt
@@ -3,6 +3,7 @@
EekKeyboard
EekKeyboard
EekKeyboardClass
+EekModifierKey
eek_keyboard_new
eek_keyboard_get_layout
eek_keyboard_get_size
@@ -15,6 +16,7 @@ eek_keyboard_get_group
eek_keyboard_get_level
eek_keyboard_set_modifier_behavior
eek_keyboard_get_modifier_behavior
+eek_keyboard_set_modifiers
eek_keyboard_get_modifiers
eek_keyboard_create_section
eek_keyboard_find_key_by_keycode
@@ -24,6 +26,8 @@ eek_keyboard_set_num_lock_mask
eek_keyboard_get_num_lock_mask
eek_keyboard_set_alt_gr_mask
eek_keyboard_get_alt_gr_mask
+eek_keyboard_get_pressed_keys
+eek_keyboard_get_locked_keys
EekKeyboardPrivate
EEK_KEYBOARD
@@ -68,37 +72,6 @@ EEK_IS_GTK_KEYBOARD_CLASS
EEK_GTK_KEYBOARD_GET_CLASS
-
-eek-theme-node
-EekSide
-EekCorner
-eek_theme_node_new
-eek_theme_node_get_parent
-eek_theme_node_get_theme
-eek_theme_node_get_element_type
-eek_theme_node_get_element_id
-eek_theme_node_get_element_class
-eek_theme_node_get_pseudo_class
-eek_theme_node_get_color
-eek_theme_node_get_background_color
-eek_theme_node_get_foreground_color
-eek_theme_node_get_background_gradient
-eek_theme_node_get_border_width
-eek_theme_node_get_border_radius
-eek_theme_node_get_border_color
-eek_theme_node_get_font
-EekThemeNodePrivate
-EekThemeNodeClass
-
-EEK_THEME_NODE
-EEK_IS_THEME_NODE
-EEK_TYPE_THEME_NODE
-eek_theme_node_get_type
-EEK_THEME_NODE_CLASS
-EEK_IS_THEME_NODE_CLASS
-EEK_THEME_NODE_GET_CLASS
-
-
eek-section
EekSection
@@ -285,6 +258,7 @@ eek_key_get_index
eek_key_set_oref
eek_key_get_oref
eek_key_is_pressed
+eek_key_is_locked
EekKeyPrivate
EEK_KEY
@@ -360,22 +334,6 @@ EEK_IS_XML_LAYOUT_CLASS
EEK_XML_LAYOUT_GET_CLASS
-
-eek-theme
-eek_theme_new
-eek_theme_load_stylesheet
-eek_theme_unload_stylesheet
-EekThemeClass
-
-EEK_THEME
-EEK_IS_THEME
-EEK_TYPE_THEME
-eek_theme_get_type
-EEK_THEME_CLASS
-EEK_IS_THEME_CLASS
-EEK_THEME_GET_CLASS
-
-
eek-keysym
EekKeysym
@@ -434,9 +392,11 @@ eek_color_new
eek_color_copy
eek_color_free
EekGradientType
-EekThemeNode
-EekThemeContext
-EekTheme
+
+
+
diff --git a/eek/eek-key.h b/eek/eek-key.h
index 6c1a7e09..6cedb9b9 100644
--- a/eek/eek-key.h
+++ b/eek/eek-key.h
@@ -40,6 +40,12 @@ G_BEGIN_DECLS
typedef struct _EekKeyClass EekKeyClass;
typedef struct _EekKeyPrivate EekKeyPrivate;
+/**
+ * EekKey:
+ *
+ * The #EekKey structure contains only private data and should only be
+ * accessed using the provided API.
+ */
struct _EekKey
{
/*< private >*/
@@ -64,6 +70,7 @@ struct _EekKey
* @released: class handler for #EekKey::released signal
* @locked: class handler for #EekKey::locked signal
* @unlocked: class handler for #EekKey::unlocked signal
+ * @cancelled: class handler for #EekKey::cancelled signal
* @is_pressed: virtual function for getting whether the key is pressed
* @is_locked: virtual function for getting whether the key is locked
*/
diff --git a/eek/eek-keyboard.c b/eek/eek-keyboard.c
index 7c5f7ada..0f5e5b8d 100644
--- a/eek/eek-keyboard.c
+++ b/eek/eek-keyboard.c
@@ -949,8 +949,8 @@ eek_keyboard_get_alt_gr_mask (EekKeyboard *keyboard)
* @keyboard: an #EekKeyboard
*
* Get pressed keys.
- * Returns: (transfer container) (element-type EekModifierKey): A list
- * of pressed keys.
+ * Returns: (transfer container) (element-type EekKey): A list of
+ * pressed keys.
*/
GList *
eek_keyboard_get_pressed_keys (EekKeyboard *keyboard)
diff --git a/eek/eek-keyboard.h b/eek/eek-keyboard.h
index 265e92a1..948ceb0e 100644
--- a/eek/eek-keyboard.h
+++ b/eek/eek-keyboard.h
@@ -106,7 +106,16 @@ struct _EekKeyboardClass
gpointer pdummy[21];
};
+/**
+ * EekModifierKey:
+ * @modifiers: an #EekModifierType which @key triggers
+ * @key: an #EekKey
+ *
+ * Entry which associates modifier mask to a key. This is returned by
+ * eek_keyboard_get_locked_keys().
+ */
struct _EekModifierKey {
+ /*< public >*/
EekModifierType modifiers;
EekKey *key;
};
diff --git a/eek/eek-keysym.h b/eek/eek-keysym.h
index cfad4deb..a30092e4 100644
--- a/eek/eek-keysym.h
+++ b/eek/eek-keysym.h
@@ -47,6 +47,12 @@ G_BEGIN_DECLS
typedef struct _EekKeysymClass EekKeysymClass;
typedef struct _EekKeysymPrivate EekKeysymPrivate;
+/**
+ * EekKeysym:
+ *
+ * The #EekKeysym structure contains only private data and should only
+ * be accessed using the provided API.
+ */
struct _EekKeysym {
/*< private >*/
EekSymbol parent;
@@ -65,7 +71,7 @@ guint eek_keysym_get_xkeysym (EekKeysym *keysym);
EekKeysym *eek_keysym_new_from_name (const gchar *name);
EekKeysym *eek_keysym_new_with_modifier (guint xkeysym,
- EekModifierType modifier);
+ EekModifierType modifier_mask);
G_END_DECLS
diff --git a/eek/eek-section.h b/eek/eek-section.h
index 1ee33751..669b659d 100644
--- a/eek/eek-section.h
+++ b/eek/eek-section.h
@@ -41,6 +41,12 @@ G_BEGIN_DECLS
typedef struct _EekSectionClass EekSectionClass;
typedef struct _EekSectionPrivate EekSectionPrivate;
+/**
+ * EekSection:
+ *
+ * The #EekSection structure contains only private data and should
+ * only be accessed using the provided API.
+ */
struct _EekSection
{
/*< private >*/
@@ -63,6 +69,7 @@ struct _EekSection
* @key_released: class handler for #EekSection::key-released signal
* @key_locked: class handler for #EekSection::key-locked signal
* @key_unlocked: class handler for #EekSection::key-unlocked signal
+ * @key_cancelled: class handler for #EekSection::key-cancelled signal
*/
struct _EekSectionClass
{
diff --git a/eek/eek-serializable.c b/eek/eek-serializable.c
index e1c0fd17..f3882b42 100644
--- a/eek/eek-serializable.c
+++ b/eek/eek-serializable.c
@@ -20,11 +20,11 @@
/**
* SECTION:eek-serializable
- * @short_description: Interface implemented by #EekElement to
- * serialize it to #GVariant
+ * @short_description: Interface which provides object serialization
+ * into #GVariant
*
* The #EekSerializableIface interface defines serialize/deserialize
- * method of #EekElement.
+ * method.
*/
#ifdef HAVE_CONFIG_H
diff --git a/eek/eek-symbol-matrix.h b/eek/eek-symbol-matrix.h
index 82f48118..c1ac431a 100644
--- a/eek/eek-symbol-matrix.h
+++ b/eek/eek-symbol-matrix.h
@@ -34,6 +34,7 @@ G_BEGIN_DECLS
*/
struct _EekSymbolMatrix
{
+ /*< public >*/
gint num_groups;
gint num_levels;
EekSymbol **data;
diff --git a/eek/eek-symbol.h b/eek/eek-symbol.h
index f1a5e619..5889463f 100644
--- a/eek/eek-symbol.h
+++ b/eek/eek-symbol.h
@@ -102,9 +102,9 @@ void eek_symbol_set_category (EekSymbol *symbol,
EekSymbolCategory category);
EekSymbolCategory eek_symbol_get_category (EekSymbol *symbol);
EekModifierType eek_symbol_get_modifier_mask
- (EekSymbol *keysym);
+ (EekSymbol *symbol);
void eek_symbol_set_modifier_mask
- (EekSymbol *keysym,
+ (EekSymbol *symbol,
EekModifierType mask);
gboolean eek_symbol_is_modifier (EekSymbol *symbol);
void eek_symbol_set_icon_name (EekSymbol *symbol,
diff --git a/eek/eek-types.c b/eek/eek-types.c
index 7788386e..e59c1aef 100644
--- a/eek/eek-types.c
+++ b/eek/eek-types.c
@@ -20,7 +20,8 @@
/**
* SECTION:eek-types
- * @short_description: Miscellaneous types
+ * @title: Miscellaneous Types
+ * @short_description: Miscellaneous types used in Libeek
*/
#ifdef HAVE_CONFIG_H
diff --git a/eek/eek-types.h b/eek/eek-types.h
index 00f7dfe8..e84f4034 100644
--- a/eek/eek-types.h
+++ b/eek/eek-types.h
@@ -159,6 +159,7 @@ typedef struct _EekColor EekColor;
typedef struct _EekPoint EekPoint;
struct _EekPoint
{
+ /*< public >*/
gdouble x;
gdouble y;
};
@@ -180,6 +181,7 @@ void eek_point_rotate (EekPoint *point,
*/
struct _EekBounds
{
+ /*< public >*/
gdouble x;
gdouble y;
gdouble width;
@@ -206,6 +208,7 @@ eek_bounds_long_side (EekBounds *bounds)
*/
struct _EekOutline
{
+ /*< public >*/
gdouble corner_radius;
EekPoint *points;
gint num_points;
@@ -226,6 +229,7 @@ void eek_outline_free (EekOutline *outline);
*/
struct _EekColor
{
+ /*< public >*/
gdouble red;
gdouble green;
gdouble blue;
diff --git a/eek/eek-xml.c b/eek/eek-xml.c
index 238212a4..475874ba 100644
--- a/eek/eek-xml.c
+++ b/eek/eek-xml.c
@@ -18,6 +18,7 @@
/**
* SECTION: eek-xml
+ * @title: XML Conversion Utilities
* @short_description: #EekKeyboard to XML conversion utilities
*/
diff --git a/eek/eek.c b/eek/eek.c
index 270949bb..272f7b38 100644
--- a/eek/eek.c
+++ b/eek/eek.c
@@ -1,5 +1,40 @@
+/*
+ * Copyright (C) 2011 Daiki Ueno
+ * Copyright (C) 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+/**
+ * SECTION:eek
+ * @title: Library Initialization
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
#include "eek.h"
+/**
+ * eek_init:
+ *
+ * Initialize the Libeek library. This must be called before using
+ * functions provided by Libeek.
+ */
void
eek_init (void)
{