about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--main.c14
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;