summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2012-05-22 17:43:40 +0100
committerAleks Kissinger <aleks0@gmail.com>2012-05-22 17:43:40 +0100
commitf1111c9b6b0a5375ce7acb3e16b0aba108775897 (patch)
treee4051e31ad25b39690d7f2a15d927c72bcbb7589
parent295ae320e2385fd1340492a959e3633a339e3d0d (diff)
resize works
-rw-r--r--tikzit/src/gtk/PreviewRenderer.m10
-rw-r--r--tikzit/src/gtk/PreviewWindow.m6
2 files changed, 13 insertions, 3 deletions
diff --git a/tikzit/src/gtk/PreviewRenderer.m b/tikzit/src/gtk/PreviewRenderer.m
index f43abf6..cb8e4f8 100644
--- a/tikzit/src/gtk/PreviewRenderer.m
+++ b/tikzit/src/gtk/PreviewRenderer.m
@@ -224,10 +224,18 @@
if (w==0) w = 1.0;
if (h==0) h = 1.0;
- double scale = [self height] / h;
+ double scale = ([self height] / h) * 0.95;
if (w * scale > [self width]) scale = [self width] / w;
[[surface transformer] setScale:scale];
+ NSPoint origin;
+ w *= scale;
+ h *= scale;
+ origin.x = ([self width] - w) / 2;
+ origin.y = ([self height] - h) / 2;
+
+ [[surface transformer] setOrigin:origin];
+
[context saveState];
[context applyTransform:[surface transformer]];
diff --git a/tikzit/src/gtk/PreviewWindow.m b/tikzit/src/gtk/PreviewWindow.m
index bde39a4..2540dda 100644
--- a/tikzit/src/gtk/PreviewWindow.m
+++ b/tikzit/src/gtk/PreviewWindow.m
@@ -64,7 +64,7 @@ static gboolean window_configure_event_cb (GtkWindow *window,
GtkWidget *pdfArea = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (window), pdfArea);
- gtk_widget_set_size_request (pdfArea, 150.0, 150.0);
+ //gtk_widget_set_size_request (pdfArea, 150.0, 150.0);
gtk_widget_show (pdfArea);
surface = [[WidgetSurface alloc] initWithWidget:pdfArea];
[surface setRenderDelegate:previewer];
@@ -114,8 +114,10 @@ static gboolean window_configure_event_cb (GtkWindow *window,
double height = (double)h;
[previewer setWidth:width];
[previewer setHeight:height];
+ gdk_window_resize(gtk_widget_get_window([surface widget]), w, h);
[surface invalidate];
- //NSLog(@"got that resize event! --> (%d, %d)", w, h);
+
+ //NSLog(@"got that resize event! --> (%d, %d)", [surface width], [surface height]);
}
- (BOOL) update {