eekboard: update stage size on create_keyboard().

This commit is contained in:
Daiki Ueno
2010-06-12 14:44:18 +09:00
parent c0b14eef53
commit acdcd8855d
2 changed files with 19 additions and 12 deletions

26
README
View File

@ -1,27 +1,34 @@
eek - easy embedded keyboard -*- outline -*- EekBoard - Easy Embedded Keyboard -*- outline -*-
*NOTE* This is not usable by now. The code has still a lot of bugs and *NOTE* This is not usable by now. The code has still a lot of bugs and
lacks documentation. lacks documentation.
* What's this?
EekBoard is a virtual keyboard software package which ships with a
standalone virtual keyboard application ("eekboard"), and a library to
create keyboard-like UI ("libeek").
* Quick look * Quick look
http://ueno.fedorapeople.org/eek/eek-in-demo.ogv (2MB, Ogg Theora video) http://ueno.fedorapeople.org/eek/eek-in-demo.ogv (2MB, Ogg Theora video)
* How to test * How to test
$ git clone git://github.com/ueno/eek.git $ git clone git://github.com/ueno/eek.git eekboard
$ cd eek $ cd eekboard
$ ./autogen.sh --prefix=/usr --enable-gtk-doc $ ./autogen.sh --prefix=/usr --enable-gtk-doc
$ make $ make
$ ./examples/eek-clutter-xkb-test --geometry=kinesis --symbols=in $ sudo make install
$ eekboard
* API (not fixed) * libeek API (not fixed)
eek provides two different kinds of objects. One is "keyboard libeek provides only two kinds of objects. One is "keyboard element"
element" and another is "keyboard layout engine". A keyboard element and another is "keyboard layout engine". A keyboard element
represents either a keyboard, a section, or a key. Each element represents either a keyboard, a section, or a key. Each element
implements the Builder pattern[1] so that it can be converted into a UI implements the Builder pattern[1] so that it can be converted into a
widget (ClutterActor, GTK+ button, ...). A layout engine arranges UI widget (ClutterActor, GTK+ button, ...). A layout engine arranges
keyboard elements using information from external configuration keyboard elements using information from external configuration
mechanisms (XKB, matchbox-keyboard layouts in XML, ...) mechanisms (XKB, matchbox-keyboard layouts in XML, ...)
@ -45,4 +52,3 @@ and an XKB-based layout engine:
Footnotes: Footnotes:
[1] http://en.wikipedia.org/wiki/Builder_pattern [1] http://en.wikipedia.org/wiki/Builder_pattern

View File

@ -153,6 +153,7 @@ create_keyboard (ClutterActor *stage,
{ {
EekKeyboard *keyboard; EekKeyboard *keyboard;
ClutterActor *actor; ClutterActor *actor;
GValue value = {0};
keyboard = eek_clutter_keyboard_new (width, height); keyboard = eek_clutter_keyboard_new (width, height);
g_signal_connect (keyboard, "key-pressed", g_signal_connect (keyboard, "key-pressed",
@ -162,9 +163,9 @@ create_keyboard (ClutterActor *stage,
eek_keyboard_set_layout (keyboard, layout); eek_keyboard_set_layout (keyboard, layout);
actor = eek_clutter_keyboard_get_actor (EEK_CLUTTER_KEYBOARD(keyboard)); actor = eek_clutter_keyboard_get_actor (EEK_CLUTTER_KEYBOARD(keyboard));
clutter_actor_set_name (actor, "keyboard"); clutter_actor_set_name (actor, "keyboard");
clutter_actor_get_size (actor, &width, &height); clutter_actor_get_size (actor, &stage_width, &stage_height);
clutter_container_add_actor (CLUTTER_CONTAINER(stage), actor); clutter_container_add_actor (CLUTTER_CONTAINER(stage), actor);
clutter_actor_set_size (stage, width, height); clutter_actor_set_size (stage, stage_width, stage_height);
return keyboard; return keyboard;
} }