summaryrefslogtreecommitdiff
path: root/navit/graphics.h
diff options
context:
space:
mode:
authormvglasow <michael -at- vonglasow.com>2015-11-15 23:05:24 +0100
committermvglasow <michael -at- vonglasow.com>2016-02-24 09:43:46 +0100
commit0c0697760bb9b78013812ee816a30c7af148520d (patch)
treea6f237d502db69ace0fe65611474c5f4a66db8e7 /navit/graphics.h
parent6e8450f7ce39f4c713bcbd8368e1b25d32f98283 (diff)
downloadnavit-0c0697760bb9b78013812ee816a30c7af148520d.tar.gz
Fix:gui_internal:Further native keyboard refinements
Allow graphics plugin to specify size occupied by keyboard Create placeholder for Android keyboard Show Android keyboard in landscape mode Skip keyboard logic if hardware keyboard is present on Android Add some documentation and comments Signed-off-by: mvglasow <michael -at- vonglasow.com>
Diffstat (limited to 'navit/graphics.h')
-rw-r--r--navit/graphics.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/navit/graphics.h b/navit/graphics.h
index ae6e8b629..2ffbd9ab0 100644
--- a/navit/graphics.h
+++ b/navit/graphics.h
@@ -70,10 +70,23 @@ struct graphics_keyboard_priv;
* Describes an instance of the native on-screen keyboard or other input method.
*/
struct graphics_keyboard {
- // TODO complete
+ int w; /**< The width of the area obscured by the keyboard (-1 for full width) */
+ int h; /**< The height of the area obscured by the keyboard (-1 for full height) */
+ /* TODO mode is currently a copy of the respective value in the internal GUI and uses the same values.
+ * This may need to be changed to something with globally available enum, possibly with revised values.
+ * The Android implementation (the first to support a native on-screen keyboard) does not use this field
+ * due to limitations of the platform. */
+ int mode; /**< Mode flags for the keyboard */
char *lang; /**< The preferred language for text input, may be {@code NULL}. */
- void *gui_priv; /**< Private data determined by the GUI */
- struct graphics_keyboard_priv *gra_priv; /**< Private data determined by the graphics plugin */
+ void *gui_priv; /**< Private data determined by the GUI. The GUI may store
+ * a pointer to a data structure of its choice here. It is
+ * the responsibility of the GUI to free the data structure
+ * when it is no longer needed. The graphics plugin should
+ * not access this member. */
+ struct graphics_keyboard_priv *gra_priv; /**< Private data determined by the graphics plugin. The
+ * graphics plugin is responsible for its management. If it
+ * uses this member, it must free the associated data in
+ * its {@code hide_native_keyboard} method. */
};
/** Magic value for unset/unspecified width/height. */