summaryrefslogtreecommitdiffstats
path: root/src/ibusengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ibusengine.h')
-rw-r--r--src/ibusengine.h135
1 files changed, 134 insertions, 1 deletions
diff --git a/src/ibusengine.h b/src/ibusengine.h
index 5a86bf0..afaa496 100644
--- a/src/ibusengine.h
+++ b/src/ibusengine.h
@@ -17,6 +17,16 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION: ibusengine
+ * @short_description: Input method engine abstract.
+ * @stability: Stable
+ * @see_also: #IBusComponent, #IBusEngineDesc
+ *
+ * An IBusEngine provides infrastructure for input method engine.
+ * Developers can "extend" this class for input method engine development.
+ */
+
#ifndef __IBUS_ENGINE_H_
#define __IBUS_ENGINE_H_
@@ -49,13 +59,22 @@ G_BEGIN_DECLS
typedef struct _IBusEngine IBusEngine;
typedef struct _IBusEngineClass IBusEngineClass;
+/**
+ * IBusEngine:
+ * @enabled: Whether the engine is enabled.
+ * @has_focus: Whether the engine has focus.
+ * @cursor_area: Area of cursor.
+ * @client_capabilities: IBusCapabilite (client capabilities) flags.
+ *
+ * IBusEngine properties.
+ */
struct _IBusEngine {
IBusService parent;
/* instance members */
+ /*< public >*/
gboolean enabled;
gboolean has_focus;
- /* cursor location */
IBusRectangle cursor_area;
guint client_capabilities;
};
@@ -103,47 +122,161 @@ struct _IBusEngineClass {
};
GType ibus_engine_get_type (void);
+
+/**
+ * ibus_engine_new:
+ * @name: Name of the IBusObject.
+ * @path: Path for IBusService.
+ * @connection: An opened IBusConnection.
+ * @returns: A newly allocated IBusEngine.
+ *
+ * New an IBusEngine.
+ */
IBusEngine *ibus_engine_new (const gchar *name,
const gchar *path,
IBusConnection *connection);
+/**
+ * ibus_engine_commit_text:
+ * @engine: An IBusEngine.
+ * @text: String commit to IBusEngine.
+ *
+ * Commit output of input method to IBus client.
+ */
void ibus_engine_commit_text (IBusEngine *engine,
IBusText *text);
+
+/**
+ * ibus_engine_update_preedit_text:
+ * @engine: An IBusEngine.
+ * @text: Update content.
+ * @cursor_pos: Current position of cursor
+ * @visible: Whether the pre-edit buffer is visible.
+ *
+ * Update the pre-edit buffer.
+ */
void ibus_engine_update_preedit_text
(IBusEngine *engine,
IBusText *text,
guint cursor_pos,
gboolean visible);
+
+/**
+ * ibus_engine_show_preedit_text:
+ * @engine: An IBusEngine.
+ *
+ * Show the pre-edit buffer.
+ */
void ibus_engine_show_preedit_text
(IBusEngine *engine);
+/**
+ * ibus_engine_hide_preedit_text:
+ * @engine: An IBusEngine.
+ *
+ * Hide the pre-edit buffer.
+ */
void ibus_engine_hide_preedit_text
(IBusEngine *engine);
+
+/**
+ * ibus_engine_update_auxiliary_text:
+ * @engine: An IBusEngine.
+ * @text: Update content.
+ * @visible: Whether the auxiliary text bar is visible.
+ *
+ * Update the auxiliary bar.
+ */
void ibus_engine_update_auxiliary_text
(IBusEngine *engine,
IBusText *text,
gboolean visible);
+/**
+ * ibus_engine_show_auxiliary_text:
+ * @engine: An IBusEngine.
+ *
+ * Show the auxiliary bar.
+ */
void ibus_engine_show_auxiliary_text
(IBusEngine *engine);
+/**
+ * ibus_engine_hide_auxiliary_text:
+ * @engine: An IBusEngine.
+ *
+ * Hide the auxiliary bar.
+ */
void ibus_engine_hide_auxiliary_text
(IBusEngine *engine);
+
+/**
+ * ibus_engine_update_lookup_table:
+ * @engine: An IBusEngine.
+ * @lookup_table: An lookup_table.
+ * @visible: Whether the lookup_table is visible.
+ *
+ * Update the lookup table.
+ */
void ibus_engine_update_lookup_table
(IBusEngine *engine,
IBusLookupTable *lookup_table,
gboolean visible);
+/**
+ * ibus_engine_show_lookup_table:
+ * @engine: An IBusEngine.
+ *
+ * Show the lookup table.
+ */
void ibus_engine_show_lookup_table
(IBusEngine *engine);
+/**
+ * ibus_engine_hide_lookup_table:
+ * @engine: An IBusEngine.
+ *
+ * Hide the lookup table.
+ */
void ibus_engine_hide_lookup_table
(IBusEngine *engine);
+
+/**
+ * ibus_engine_forward_key_event:
+ * @engine: An IBusEngine.
+ * @keyval: KeySym.
+ * @is_press: Where the key is pressed.
+ * @state: Key modifier flags.
+ *
+ * Forward the key event.
+ */
void ibus_engine_forward_key_event
(IBusEngine *engine,
guint keyval,
guint state);
+/**
+ * ibus_engine_register_properties:
+ * @engine: An IBusEngine.
+ * @prop_list: Property List.
+ *
+ * Register and show properties in language bar.
+ */
void ibus_engine_register_properties
(IBusEngine *engine,
IBusPropList *prop_list);
+/**
+ * ibus_engine_update_property:
+ * @engine: An IBusEngine.
+ * @prop: IBusProperty to be updated.
+ *
+ * Update the state displayed in language bar.
+ */
void ibus_engine_update_property(IBusEngine *engine,
IBusProperty *prop);
+
+/**
+ * ibus_engine_get_name:
+ * @engine: An IBusEngine.
+ * @returns: Name of IBusEngine.
+ *
+ * Return the name of IBusEngine.
+ */
const gchar *ibus_engine_get_name (IBusEngine *engine);
G_END_DECLS