summaryrefslogtreecommitdiff
path: root/gui/internal/gui_internal.h
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2009-07-30 20:34:23 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2009-07-30 20:34:23 +0000
commitd72782347c2ba802cd030feeb23f7eacc4ae8a23 (patch)
treea729476323d0d551c2031b3a666193923ceb08a4 /gui/internal/gui_internal.h
parentc297ef7f5928b0407ab67b9a76ccf166d0a1d3e0 (diff)
parent3b8435d744c504a88493f272068453023585837e (diff)
downloadnavit-svn-wince.tar.gz
Updated wince branch to current versionwince
git-svn-id: http://svn.code.sf.net/p/navit/code/branches/wince/navit@2430 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'gui/internal/gui_internal.h')
-rw-r--r--gui/internal/gui_internal.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/gui/internal/gui_internal.h b/gui/internal/gui_internal.h
new file mode 100644
index 00000000..f407034f
--- /dev/null
+++ b/gui/internal/gui_internal.h
@@ -0,0 +1,76 @@
+struct widget; // defined in gui_internal.h
+struct graphics_image;
+
+#define STATE_VISIBLE 1
+#define STATE_SELECTED 2
+#define STATE_HIGHLIGHTED 4
+#define STATE_SENSITIVE 8
+#define STATE_EDIT 16
+#define STATE_CLEAR 32
+
+enum widget_type {
+ widget_box=1,
+ widget_button,
+ widget_label,
+ widget_image,
+ widget_table,
+ widget_table_row
+};
+
+enum flags {
+ gravity_none=0x00,
+ gravity_left=1,
+ gravity_xcenter=2,
+ gravity_right=4,
+ gravity_top=8,
+ gravity_ycenter=16,
+ gravity_bottom=32,
+ gravity_left_top=gravity_left|gravity_top,
+ gravity_top_center=gravity_xcenter|gravity_top,
+ gravity_right_top=gravity_right|gravity_top,
+ gravity_left_center=gravity_left|gravity_ycenter,
+ gravity_center=gravity_xcenter|gravity_ycenter,
+ gravity_right_center=gravity_right|gravity_ycenter,
+ gravity_left_bottom=gravity_left|gravity_bottom,
+ gravity_bottom_center=gravity_xcenter|gravity_bottom,
+ gravity_right_bottom=gravity_right|gravity_bottom,
+ flags_expand=0x100,
+ flags_fill=0x200,
+ orientation_horizontal=0x10000,
+ orientation_vertical=0x20000,
+ orientation_horizontal_vertical=0x40000,
+};
+
+
+struct gui_internal_methods {
+ void (*add_callback)(struct gui_priv *priv, struct callback *cb);
+ void (*remove_callback)(struct gui_priv *priv, struct callback *cb);
+ void (*menu_render)(struct gui_priv *this);
+ struct graphics_image * (*image_new_xs)(struct gui_priv *this, char *name);
+ struct graphics_image * (*image_new_l)(struct gui_priv *this, char *name);
+};
+
+struct gui_internal_widget_methods {
+ void (*append)(struct widget *parent, struct widget *child);
+ struct widget * (*button_new)(struct gui_priv *this, char *text, struct graphics_image *image, enum flags flags);
+ struct widget * (*button_new_with_callback)(struct gui_priv *this, char *text, struct graphics_image *image, enum flags flags, void(*func)(struct gui_priv *priv, struct widget *widget, void *data), void *data);
+ struct widget * (*box_new)(struct gui_priv *this, enum flags flags);
+ struct widget * (*label_new)(struct gui_priv *this, char *text);
+ struct widget * (*image_new)(struct gui_priv *this, struct graphics_image *image);
+ struct widget * (*keyboard)(struct gui_priv *this, int mode);
+ struct widget * (*menu)(struct gui_priv *this, char *label);
+ enum flags (*get_flags)(struct widget *widget);
+ void (*set_flags)(struct widget *widget, enum flags flags);
+ int (*get_state)(struct widget *widget);
+ void (*set_state)(struct widget *widget, int state);
+ void (*set_func)(struct widget *widget, void (*func)(struct gui_priv *priv, struct widget *widget, void *data));
+ void (*set_data)(struct widget *widget, void *data);
+ void (*set_default_background)(struct gui_priv *this, struct widget *widget);
+
+};
+
+struct gui_internal_data {
+ struct gui_priv *priv;
+ struct gui_internal_methods *gui;
+ struct gui_internal_widget_methods *widget;
+};