diff options
| -rw-r--r-- | main.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/main.c b/main.c index 8a86f6f..1c48ecb 100644 --- a/main.c +++ b/main.c @@ -5,6 +5,8 @@ // Largest file we want to read #define BUF_SIZE 200000 +GtkWidget *window; + /* Called when a file is chosen by the open menu. */ static void set_file (GFile *file, gpointer data) { char *name; @@ -26,8 +28,15 @@ static void set_file (GFile *file, gpointer data) { fclose(cfile); vrvToolkit_loadData(pointer, buf); - output = vrvToolkit_renderToSVG(pointer, 1, FALSE); - puts(output); + output = vrvToolkit_renderToSVG(pointer, 1, TRUE); + + // https://stackoverflow.com/a/14123191/1861686 + GdkPixbufLoader *loader = gdk_pixbuf_loader_new (); + gdk_pixbuf_loader_write (loader, output, strlen(output), NULL); + gdk_pixbuf_loader_close(loader, NULL); + GdkPixbuf *pixbuf = gdk_pixbuf_loader_get_pixbuf (loader); + GtkWidget *image = gtk_image_new_from_pixbuf(pixbuf); + gtk_window_set_child (GTK_WINDOW (window), image); // TODO: keep this around free(pointer); @@ -115,7 +124,6 @@ static void open_file (GtkButton *picker, GtkLabel *label) { } static void activate (GtkApplication* app, gpointer user_data) { - GtkWidget *window; GtkWidget *header; GtkWidget *image; GtkWidget *button; |
