X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=display.h;h=bc97119ff71f20040f40b2b9a71e68ab4312fb02;hb=bbf5f960e11982551a3fd873c4432964ec2a0717;hp=4b2e83b494d6f08780a17ee114aaf401ba7379ef;hpb=9cb60c910681b0fb3c04d22c77bcf9c2754bfa7f;p=ext%2Fsubsurface.git diff --git a/display.h b/display.h index 4b2e83b..bc97119 100644 --- a/display.h +++ b/display.h @@ -8,6 +8,7 @@ extern GtkWidget *main_window; extern void import_dialog(GtkWidget *, gpointer); +extern void report_error(GError* error); extern GtkWidget *dive_profile_widget(void); extern GtkWidget *dive_info_frame(void); @@ -15,5 +16,24 @@ extern GtkWidget *extended_dive_info_widget(void); extern GtkWidget *equipment_widget(void); extern void repaint_dive(void); +extern void do_print(void); + +/* + * 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 void plot(struct graphics_context *gc, int w, int h, struct dive *dive); #endif