Fix:projs/CodeBlocks:update project files, more work on native win32 gui/graphics
[navit-package] / projs / CodeBlocks / win32gui / win32_gui.h
1 #ifndef WIN32_GUI_INCLUDED
2 #define WIN32_GUI_INCLUDED
3
4 #include "coord.h"
5 #include "point.h"
6 #include "graphics.h"
7
8 #define ID_CHILD_GFX 2000
9 #define ID_CHILD_1 2001
10 #define ID_CHILD_2 ID_CHILD_1 + 1
11 #define ID_CHILD_3 ID_CHILD_2 + 1
12 #define ID_CHILD_4 ID_CHILD_4 + 1
13 #define ID_DISPLAY_ZOOMIN 8000
14 #define ID_DISPLAY_ZOOMOUT 8001
15
16 #define ID_FILE_EXIT 9001
17 #define ID_STUFF_GO 9002
18
19 #define _(text) gettext(text)
20
21
22 struct statusbar_methods;
23 struct menu_methods;
24 struct datawindow_methods;
25 struct navit;
26 struct callback;
27
28 struct gui_priv {
29         struct navit *nav;
30         HANDLE  hwnd;
31 };
32
33
34 struct graphics_priv {
35         struct point p;
36         int width;
37         int height;
38         int library_init;
39         int visible;
40         HANDLE wnd_parent_handle;
41         HANDLE wnd_handle;
42         COLORREF bg_color;
43
44
45         void (*resize_callback)(void *data, int w, int h);
46         void *resize_callback_data;
47         void (*motion_callback)(void *data, struct point *p);
48         void *motion_callback_data;
49         void (*button_callback)(void *data, int press, int button, struct point *p);
50         void *button_callback_data;
51         enum draw_mode_num mode;
52 };
53
54 struct menu_priv *gui_gtk_menubar_new(struct gui_priv *gui, struct menu_methods *meth);
55 struct menu_priv *gui_gtk_toolbar_new(struct gui_priv *gui, struct menu_methods *meth);
56 struct statusbar_priv *gui_gtk_statusbar_new(struct gui_priv *gui, struct statusbar_methods *meth);
57 struct menu_priv *gui_gtk_popup_new(struct gui_priv *gui, struct menu_methods *meth);
58 struct datawindow_priv *gui_gtk_datawindow_new(struct gui_priv *gui, char *name, struct callback *click, struct callback *close, struct datawindow_methods *meth);
59
60 struct graphics_priv* win32_graphics_new( struct graphics_methods *meth, struct attr **attrs);
61
62 #endif