This commit is contained in:
Daiki Ueno
2011-02-24 10:35:22 +09:00
parent 798df5c136
commit d7554b9735
20 changed files with 312 additions and 130 deletions

View File

@ -76,7 +76,12 @@ EXTRA_HFILES=
# Header files to ignore when scanning. Use base file name, no paths
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
IGNORE_HFILES=config.h
IGNORE_HFILES = \
config.h \
eek-renderer.h \
eek-clutter-renderer.h \
eek-clutter-section.h \
eek-clutter-key.h
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
@ -98,16 +103,15 @@ expand_content_files=eek-overview.xml
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
GTKDOC_CFLAGS = $(GIO2_CFLAGS)
GTKDOC_LIBS = $(top_srcdir)/eek/libeek.la \
$(top_srcdir)/eek/libeek-clutter.la \
$(top_srcdir)/eek/libeek-gtk.la \
$(top_srcdir)/eek/libeek-xkb.la \
$(top_srcdir)/eek/libeek-xkl.la \
$(GIO2_LIBS) \
$(CLUTTER_LIBS) \
$(GTK_LIBS) \
$(XKB_LIBS)
if ENABLE_CLUTTER
GTKDOC_LIBS += $(top_srcdir)/eek/libeek-clutter.la $(CLUTTER_LIBS)
endif
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make

View File

@ -37,14 +37,16 @@
<title>API Manual</title>
<chapter>
<title>Base Classes, Interfaces, and Utilities</title>
<xi:include href="xml/eek-serializable.xml"/>
<xi:include href="xml/eek-element.xml"/>
<xi:include href="xml/eek-container.xml"/>
<xi:include href="xml/eek-keyboard.xml"/>
<xi:include href="xml/eek-section.xml"/>
<xi:include href="xml/eek-key.xml"/>
<xi:include href="xml/eek-symbol.xml"/>
<xi:include href="xml/eek-keysym.xml"/>
<xi:include href="xml/eek-layout.xml"/>
<xi:include href="xml/eek-types.xml"/>
<xi:include href="xml/eek-keysym.xml"/>
</chapter>
<chapter>
<title>Clutter Keyboard</title>
@ -62,6 +64,11 @@
<title>XKB Layout Engine</title>
<xi:include href="xml/eek-xkb-layout.xml"/>
</chapter>
<chapter>
<title>XML Layout Engine</title>
<xi:include href="xml/eek-xml-layout.xml"/>
<xi:include href="xml/eek-xml.xml"/>
</chapter>
<chapter id="object-tree">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>

View File

@ -43,19 +43,14 @@ clutter_group_add (CLUTTER_GROUP(stage), actor);
</programlisting>
</informalexample>
<para>The most interesting feature of libeek is that developer can
choose arbitrary combination of UI toolkits and layout engine
supported by libeek. For example, to create a keyboard-like
#GtkWidget instead of #ClutterActor, all you need is to replace
eek_clutter_keyboard_new() with eek_gtk_keyboard_new() and
eek_clutter_keyboard_get_actor() with
eek_gtk_keyboard_get_widget(). Similarly, if you want to use XKB
configuration directly (without libxklavier), you will only need to
replace eek_xkl_layout_new () with eek_xkb_layout_new().</para>
<para>libeek currently supports GTK+ and Clutter as UI toolkits.
To create a keyboard-like #GtkWidget instead of #ClutterActor,
replace eek_clutter_keyboard_new() with eek_gtk_keyboard_new().
Similarly, if you want to use XKB configuration directly (without
libxklavier), you will only need to replace eek_xkl_layout_new ()
with eek_xkb_layout_new().</para>
<para>To achieve portability across different UI toolkits,
there is a seperate represention of keyboard elements apart from
the actual UI widgets. For example, a keyboard is represented as a tree of
<para>In the above example, a keyboard is represented as a tree of
#EekElement -- #EekKeyboard contains one or more #EekSection's and
#EekSection contains one or more #EekKey's. Each element may emit
events when user pushes the corresponding UI widget.</para>

View File

@ -2,21 +2,25 @@
<FILE>eek-keyboard</FILE>
<TITLE>EekKeyboard</TITLE>
EekKeyboardClass
EekKeyboardPrivate
EekKeyboard
eek_keyboard_new
eek_keyboard_get_layout
eek_keyboard_get_size
eek_keyboard_set_size
eek_keyboard_set_symbol_index
eek_keyboard_get_symbol_index
eek_keyboard_get_group
eek_keyboard_get_level
eek_keyboard_set_group
eek_keyboard_set_level
eek_keyboard_get_size
eek_keyboard_get_modifier_behavior
eek_keyboard_get_group
eek_keyboard_get_level
eek_keyboard_set_modifier_behavior
eek_keyboard_get_modifier_behavior
eek_keyboard_get_modifiers
eek_keyboard_create_section
eek_keyboard_find_key_by_keycode
eek_keyboard_add_outline
eek_keyboard_get_outline
<SUBSECTION Standard>
EEK_KEYBOARD
EEK_IS_KEYBOARD
@ -38,6 +42,7 @@ EEK_IS_LAYOUT
EEK_TYPE_LAYOUT
eek_layout_get_type
EEK_LAYOUT_CLASS
EEK_IS_LAYOUT_CLASS
EEK_LAYOUT_GET_CLASS
</SECTION>
@ -46,6 +51,7 @@ EEK_LAYOUT_GET_CLASS
<TITLE>EekGtkKeyboard</TITLE>
EekGtkKeyboard
EekGtkKeyboardClass
EekGtkKeyboardPrivate
eek_gtk_keyboard_new
<SUBSECTION Standard>
EEK_GTK_KEYBOARD
@ -61,6 +67,7 @@ EEK_GTK_KEYBOARD_GET_CLASS
<FILE>eek-section</FILE>
<TITLE>EekSection</TITLE>
EekSectionClass
EekSectionPrivate
EekSection
eek_section_set_angle
eek_section_get_angle
@ -83,11 +90,13 @@ EEK_SECTION_GET_CLASS
<FILE>eek-container</FILE>
<TITLE>EekContainer</TITLE>
EekContainerClass
EekContainerPrivate
EekCallback
EekCompareFunc
EekContainer
eek_container_foreach_child
eek_container_find
eek_container_add_child
<SUBSECTION Standard>
EEK_CONTAINER
EEK_IS_CONTAINER
@ -103,6 +112,7 @@ EEK_CONTAINER_GET_CLASS
<TITLE>EekClutterKeyboard</TITLE>
EekClutterKeyboard
EekClutterKeyboardClass
EekClutterKeyboardPrivate
eek_clutter_keyboard_new
<SUBSECTION Standard>
EEK_CLUTTER_KEYBOARD
@ -114,11 +124,39 @@ EEK_IS_CLUTTER_KEYBOARD_CLASS
EEK_CLUTTER_KEYBOARD_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-symbol</FILE>
<TITLE>EekSymbol</TITLE>
EekSymbolCategory
EekSymbolClass
EekSymbolPrivate
EekSymbol
eek_symbol_new
eek_symbol_set_name
eek_symbol_get_name
eek_symbol_set_label
eek_symbol_get_label
eek_symbol_set_category
eek_symbol_get_category
eek_symbol_get_modifier_mask
eek_symbol_set_modifier_mask
eek_symbol_is_modifier
<SUBSECTION Standard>
EEK_SYMBOL
EEK_IS_SYMBOL
EEK_TYPE_SYMBOL
eek_symbol_get_type
EEK_SYMBOL_CLASS
EEK_IS_SYMBOL_CLASS
EEK_SYMBOL_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-xkl-layout</FILE>
<TITLE>EekXklLayout</TITLE>
EekXklLayout
EekXklLayoutClass
EekXklLayoutPrivate
eek_xkl_layout_new
eek_xkl_layout_set_config
eek_xkl_layout_set_config_full
@ -126,12 +164,12 @@ eek_xkl_layout_set_model
eek_xkl_layout_set_layouts
eek_xkl_layout_set_variants
eek_xkl_layout_set_options
eek_xkl_layout_enable_option
eek_xkl_layout_disable_option
eek_xkl_layout_get_model
eek_xkl_layout_get_layouts
eek_xkl_layout_get_variants
eek_xkl_layout_get_options
eek_xkl_layout_disable_option
eek_xkl_layout_enable_option
eek_xkl_layout_get_option
<SUBSECTION Standard>
EEK_XKL_LAYOUT
@ -143,30 +181,16 @@ EEK_IS_XKL_LAYOUT_CLASS
EEK_XKL_LAYOUT_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-xml-layout</FILE>
<TITLE>EekXmlLayout</TITLE>
eek_xml_layout_get_source
eek_xml_layout_new
eek_xml_layout_set_source
<SUBSECTION Standard>
EEK_XML_LAYOUT
EEK_IS_XML_LAYOUT
EEK_TYPE_XML_LAYOUT
eek_xml_layout_get_type
EEK_XML_LAYOUT_CLASS
EEK_IS_XML_LAYOUT_CLASS
EEK_XML_LAYOUT_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-xkb-layout</FILE>
<TITLE>EekXkbLayout</TITLE>
EekXkbLayout
EekXkbLayoutClass
EekXkbLayoutPrivate
eek_xkb_layout_new
eek_xkb_layout_set_names
eek_xkb_layout_set_names_full
eek_xkb_layout_set_names_full_valist
eek_xkb_layout_set_keycodes
eek_xkb_layout_set_geometry
eek_xkb_layout_set_symbols
@ -187,18 +211,19 @@ EEK_XKB_LAYOUT_GET_CLASS
<FILE>eek-key</FILE>
<TITLE>EekKey</TITLE>
EekKeyClass
EekKeyPrivate
EekKey
eek_key_set_keycode
eek_key_get_keycode
eek_key_set_symbol_matrix
eek_key_get_symbol_matrix
eek_key_get_symbol
eek_key_get_symbol_at_index
eek_key_get_symbol_with_fallback
eek_key_get_symbol_at_index
eek_key_set_index
eek_key_get_index
eek_key_set_outline
eek_key_get_outline
eek_key_set_oref
eek_key_get_oref
eek_key_is_pressed
<SUBSECTION Standard>
EEK_KEY
@ -210,10 +235,26 @@ EEK_IS_KEY_CLASS
EEK_KEY_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-serializable</FILE>
<TITLE>EekSerializable</TITLE>
EekSerializable
EekSerializableIface
eek_serializable_serialize
eek_serializable_deserialize
<SUBSECTION Standard>
EEK_SERIALIZABLE
EEK_IS_SERIALIZABLE
EEK_TYPE_SERIALIZABLE
eek_serializable_get_type
EEK_SERIALIZABLE_GET_IFACE
</SECTION>
<SECTION>
<FILE>eek-element</FILE>
<TITLE>EekElement</TITLE>
EekElementClass
EekElementPrivate
EekElement
eek_element_set_parent
eek_element_get_parent
@ -221,6 +262,8 @@ eek_element_set_name
eek_element_get_name
eek_element_set_bounds
eek_element_get_bounds
eek_element_set_position
eek_element_set_size
eek_element_get_absolute_position
<SUBSECTION Standard>
EEK_ELEMENT
@ -233,72 +276,36 @@ EEK_ELEMENT_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-symbol</FILE>
<TITLE>EekSymbol</TITLE>
EekSymbolClass
EekSymbol
eek_symbol_new
eek_symbol_set_name
eek_symbol_get_name
eek_symbol_set_label
eek_symbol_get_label
eek_symbol_set_category
eek_symbol_get_category
eek_symbol_set_modifier_mask
eek_symbol_get_modifier_mask
eek_symbol_is_modifier
<FILE>eek-xml-layout</FILE>
<TITLE>EekXmlLayout</TITLE>
EekXmlLayout
EekXmlLayoutClass
EekXmlLayoutPrivate
eek_xml_layout_new
eek_xml_layout_set_source
eek_xml_layout_get_source
<SUBSECTION Standard>
EEK_SYMBOL
EEK_IS_SYMBOL
EEK_TYPE_SYMBOL
eek_symbol_get_type
EEK_SYMBOL_CLASS
EEK_IS_SYMBOL_CLASS
EEK_SYMBOL_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-types</FILE>
<TITLE>Basic Types</TITLE>
EekOrientation
EekModifierBehavior
EekModifierType
EekSymbolMatrix
EekSymbolCategory
EEK_TYPE_SYMBOL_MATRIX
eek_symbol_matrix_copy
eek_symbol_matrix_free
eek_symbol_matrix_get_type
eek_symbol_matrix_new
EekPoint
EEK_TYPE_POINT
eek_point_get_type
eek_point_rotate
EekBounds
EEK_TYPE_BOUNDS
eek_bounds_get_type
eek_bounds_long_side
EekOutline
EEK_TYPE_OUTLINE
eek_outline_get_type
EekColor
EEK_TYPE_COLOR
eek_color_get_type
eek_color_new
EEK_XML_LAYOUT
EEK_IS_XML_LAYOUT
EEK_TYPE_XML_LAYOUT
eek_xml_layout_get_type
EEK_XML_LAYOUT_CLASS
EEK_IS_XML_LAYOUT_CLASS
EEK_XML_LAYOUT_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-keysym</FILE>
<TITLE>EekKeysym</TITLE>
EEK_KEYSYM
EekKeysymClass
EekKeysymPrivate
EekKeysym
EEK_INVALID_KEYSYM
EEK_INVALID_KEYCODE
eek_keysym_get_xkeysym
eek_keysym_new
eek_keysym_get_xkeysym
eek_keysym_new_from_name
<SUBSECTION Standard>
EEK_KEYSYM
EEK_INVALID_KEYSYM
EEK_IS_KEYSYM
EEK_TYPE_KEYSYM
eek_keysym_get_type
@ -306,3 +313,42 @@ EEK_KEYSYM_CLASS
EEK_IS_KEYSYM_CLASS
EEK_KEYSYM_GET_CLASS
</SECTION>
<SECTION>
<FILE>eek-xml</FILE>
EEK_XML_SCHEMA_VERSION
eek_keyboard_output
</SECTION>
<SECTION>
<FILE>eek-types</FILE>
I_
EEK_TYPE_SYMBOL_MATRIX
EEK_TYPE_POINT
EEK_TYPE_BOUNDS
EEK_TYPE_OUTLINE
EEK_TYPE_COLOR
EekOrientation
EekModifierBehavior
EekModifierType
EEK_INVALID_KEYCODE
EekSymbolMatrix
EekPoint
EekBounds
EekOutline
EekColor
eek_symbol_matrix_get_type
eek_symbol_matrix_new
eek_symbol_matrix_copy
eek_symbol_matrix_free
eek_point_get_type
eek_point_rotate
eek_bounds_get_type
eek_bounds_long_side
eek_outline_get_type
eek_outline_copy
eek_outline_free
eek_color_get_type
eek_color_new
</SECTION>

View File

@ -76,7 +76,7 @@ EXTRA_HFILES=
# Header files to ignore when scanning. Use base file name, no paths
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
IGNORE_HFILES=config.h
IGNORE_HFILES=config.h eekboard.h
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
@ -104,7 +104,7 @@ include $(top_srcdir)/gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
EXTRA_DIST +=
# EXTRA_DIST +=
# Files not to distribute
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types

View File

@ -35,8 +35,8 @@
<part id="apireference">
<title>API Manual</title>
<chapter>
<title>D-Bus proxy to eekboard-server</title>
<xi:include href="xml/eekboard-server.xml"/>
<title>D-Bus client interface to eekboard-server</title>
<xi:include href="xml/eekboard-eekboard.xml"/>
<xi:include href="xml/eekboard-context.xml"/>
</chapter>
<chapter id="object-tree">

View File

@ -1,22 +1,22 @@
<SECTION>
<FILE>eekboard-server</FILE>
<TITLE>EekboardServer</TITLE>
EekboardServer
EekboardServerClass
EekboardServerPrivate
eekboard_server_new
eekboard_server_create_context
eekboard_server_push_context
eekboard_server_pop_context
eekboard_server_destroy_context
<FILE>eekboard-eekboard</FILE>
<TITLE>EekboardEekboard</TITLE>
EekboardEekboard
EekboardEekboardClass
EekboardEekboardPrivate
eekboard_eekboard_new
eekboard_eekboard_create_context
eekboard_eekboard_push_context
eekboard_eekboard_pop_context
eekboard_eekboard_destroy_context
<SUBSECTION Standard>
EEKBOARD_SERVER
EEKBOARD_IS_SERVER
EEKBOARD_TYPE_SERVER
eekboard_server_get_type
EEKBOARD_SERVER_CLASS
EEKBOARD_IS_SERVER_CLASS
EEKBOARD_SERVER_GET_CLASS
EEKBOARD_EEKBOARD
EEKBOARD_IS_EEKBOARD
EEKBOARD_TYPE_EEKBOARD
eekboard_eekboard_get_type
EEKBOARD_EEKBOARD_CLASS
EEKBOARD_IS_EEKBOARD_CLASS
EEKBOARD_EEKBOARD_GET_CLASS
</SECTION>
<SECTION>

View File

@ -0,0 +1,2 @@
eekboard_context_get_type
eekboard_eekboard_get_type