X-Git-Url: http://git.tdb.fi/?p=ext%2Fsubsurface.git;a=blobdiff_plain;f=display.h;h=4e1511656ad5d20b38948b8819a5ad25aefe5ee0;hp=df701a3b988037b59bdf7ed715a0f78d091ac8d6;hb=HEAD;hpb=425649a27816dbef9a6684b1da53e2ca6d8b7bd9 diff --git a/display.h b/display.h index df701a3..4e15116 100644 --- a/display.h +++ b/display.h @@ -1,20 +1,36 @@ #ifndef DISPLAY_H #define DISPLAY_H -#include -#include #include -extern GtkWidget *main_window; +extern void repaint_dive(void); +extern void do_print(void); -extern void import_dialog(GtkWidget *, gpointer); -extern void report_error(GError* error); +/* + * Cairo scaling really is horribly horribly mis-designed. + * + * Which is sad, because I really like Cairo otherwise. But + * the fact that the line width is scaled with the same scale + * as the coordinate system is a f*&%ing disaster. So we + * can't use it, and instead have this butt-ugly wrapper thing.. + */ +struct graphics_context { + int printer; + cairo_t *cr; + double maxx, maxy; + double leftx, rightx; + double topy, bottomy; +}; -extern GtkWidget *dive_profile_widget(void); -extern GtkWidget *dive_info_frame(void); -extern GtkWidget *extended_dive_info_widget(void); -extern GtkWidget *equipment_widget(void); +extern void plot(struct graphics_context *gc, cairo_rectangle_int_t *drawing_area, struct dive *dive); +extern void init_profile_background(struct graphics_context *gc); +extern void attach_tooltip(int x, int y, int w, int h, const char *text); -extern void repaint_dive(void); +struct options { + enum { PRETTY, TABLE } type; + gboolean print_profiles; +}; + +extern char zoomed_plot; #endif