about summary refs log tree commit diff
path: root/surf.c
diff options
context:
space:
mode:
authorQuentin Rameau <quinq@fifth.space>2015-11-20 01:03:32 +0100
committerQuentin Rameau <quinq@fifth.space>2015-11-20 01:03:32 +0100
commit320e4e4388ff65318f6daed76f2ab16b87e20c7b (patch)
tree0e2b7510d348460cf5a5c878bc2436d27370f1c3 /surf.c
parentAdapt navigate() (diff)
downloadsurf-320e4e4388ff65318f6daed76f2ab16b87e20c7b.tar.gz
surf-320e4e4388ff65318f6daed76f2ab16b87e20c7b.tar.bz2
surf-320e4e4388ff65318f6daed76f2ab16b87e20c7b.zip
Adapt zoom()
Diffstat (limited to 'surf.c')
-rw-r--r--surf.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/surf.c b/surf.c
index e04f531..33f5b50 100644
--- a/surf.c
+++ b/surf.c
@@ -65,7 +65,7 @@ typedef struct Client {
 	const char *needle;
 	gint progress;
 	struct Client *next;
-	gboolean zoomed, fullscreen;
+	gboolean fullscreen;
 } Client;
 
 typedef struct {
@@ -182,7 +182,7 @@ static void togglestyle(Client *c, const Arg *arg);
 static void updatetitle(Client *c);
 static void updatewinid(Client *c);
 static void usage(void);
-static void zoom(Client *c, const Arg *arg);
+static void zoom(Client *c, const Arg *a);
 
 /* configuration, allows nested code to access above variables */
 #include "config.h"
@@ -996,7 +996,6 @@ showview(WebKitWebView *v, Client *c)
 	gdk_window_set_events(gwin, GDK_ALL_EVENTS_MASK);
 	gdk_window_add_filter(gwin, processx, c);
 
-	/* This might conflict with _zoomto96dpi_. */
 	if (zoomlevel != 1.0)
 		webkit_web_view_set_zoom_level(c->view, zoomlevel);
 
@@ -1423,20 +1422,16 @@ usage(void)
 }
 
 void
-zoom(Client *c, const Arg *arg)
-{
-	c->zoomed = TRUE;
-	if (arg->i < 0) {
-		/* zoom out */
-		webkit_web_view_zoom_out(c->view);
-	} else if (arg->i > 0) {
-		/* zoom in */
-		webkit_web_view_zoom_in(c->view);
-	} else {
-		/* reset */
-		c->zoomed = FALSE;
+zoom(Client *c, const Arg *a)
+{
+	if (a->i > 0)
+		webkit_web_view_set_zoom_level(c->view, zoomlevel + 0.1);
+	else if (a->i < 0)
+		webkit_web_view_set_zoom_level(c->view, zoomlevel - 0.1);
+	else
 		webkit_web_view_set_zoom_level(c->view, 1.0);
-	}
+
+	zoomlevel = webkit_web_view_get_zoom_level(c->view);
 }
 
 int