aboutsummaryrefslogtreecommitdiff
path: root/x.c
diff options
context:
space:
mode:
authorDevin J. Pohly <djpohly@gmail.com>2017-10-10 11:30:36 -0500
committerDevin J. Pohly <djpohly@gmail.com>2018-02-25 21:53:24 -0600
commitd5275012b45149a2a6e94679609aacca478221ad (patch)
tree881a9c32d0d617fc472e23836779a7379c97e875 /x.c
parent3518dba2a5fb57f601b74528ddeb67f173e4024b (diff)
downloadst-d5275012b45149a2a6e94679609aacca478221ad.tar.gz
st-d5275012b45149a2a6e94679609aacca478221ad.tar.bz2
Move zoom functions into x.c
This makes x(un)loadfonts internal to x.c. Needed to reorder includes and move a typedef to keep the compiler happy. Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
Diffstat (limited to 'x.c')
-rw-r--r--x.c35
1 files changed, 34 insertions, 1 deletions
diff --git a/x.c b/x.c
index f660ca3..426ca28 100644
--- a/x.c
+++ b/x.c
@@ -21,8 +21,8 @@ static char *argv0;
#define Glyph Glyph_
#define Font Font_
-#include "win.h"
#include "st.h"
+#include "win.h"
/* XEMBED messages */
#define XEMBED_FOCUS_IN 4
@@ -90,7 +90,9 @@ static void xdrawcursor(void);
static int xgeommasktogravity(int);
static void xinit(void);
static int xloadfont(Font *, FcPattern *);
+static void xloadfonts(char *, double);
static void xunloadfont(Font *);
+static void xunloadfonts(void);
static void xsetenv(void);
static void expose(XEvent *);
@@ -165,6 +167,37 @@ static Fontcache frc[16];
static int frclen = 0;
void
+zoom(const Arg *arg)
+{
+ Arg larg;
+
+ larg.f = usedfontsize + arg->f;
+ zoomabs(&larg);
+}
+
+void
+zoomabs(const Arg *arg)
+{
+ xunloadfonts();
+ xloadfonts(usedfont, arg->f);
+ cresize(0, 0);
+ ttyresize();
+ redraw();
+ xhints();
+}
+
+void
+zoomreset(const Arg *arg)
+{
+ Arg larg;
+
+ if (defaultfontsize > 0) {
+ larg.f = defaultfontsize;
+ zoomabs(&larg);
+ }
+}
+
+void
getbuttoninfo(XEvent *e)
{
int type;