diff options
author | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2009-07-30 20:34:23 +0000 |
---|---|---|
committer | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2009-07-30 20:34:23 +0000 |
commit | d72782347c2ba802cd030feeb23f7eacc4ae8a23 (patch) | |
tree | a729476323d0d551c2031b3a666193923ceb08a4 /gui/internal/gui_internal.h | |
parent | c297ef7f5928b0407ab67b9a76ccf166d0a1d3e0 (diff) | |
parent | 3b8435d744c504a88493f272068453023585837e (diff) | |
download | navit-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.h | 76 |
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; +}; |