[hackers] [st] [PATCH] move zoom functions into x.c

From: Devin J. Pohly <djpohly_AT_gmail.com>
Date: Tue, 10 Oct 2017 11:35:35 -0500

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_AT_gmail.com>
---
 st.c  | 36 +-----------------------------------
 st.h  |  1 +
 win.h |  7 +++----
 x.c   | 35 ++++++++++++++++++++++++++++++++++-
 4 files changed, 39 insertions(+), 40 deletions(-)
diff --git a/st.c b/st.c
index 6338510..f1f7bc1 100644
--- a/st.c
+++ b/st.c
_AT_@ -31,8 +31,8 @@
 #define Glyph Glyph_
 #define Font Font_
 
-#include "win.h"
 #include "st.h"
+#include "win.h"
 
 #if   defined(__linux)
  #include <pty.h>
_AT_@ -128,9 +128,6 @@ static void clipcopy(const Arg *);
 static void clippaste(const Arg *);
 static void numlock(const Arg *);
 static void selpaste(const Arg *);
-static void zoom(const Arg *);
-static void zoomabs(const Arg *);
-static void zoomreset(const Arg *);
 static void printsel(const Arg *);
 static void printscreen(const Arg *) ;
 static void iso14755(const Arg *);
_AT_@ -2573,37 +2570,6 @@ tresize(int col, int row)
 	term.c = c;
 }
 
-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
 resettitle(void)
 {
diff --git a/st.h b/st.h
index 28a751d..9ece72f 100644
--- a/st.h
+++ b/st.h
_AT_@ -100,6 +100,7 @@ typedef struct {
 } Glyph;
 
 typedef Glyph *Line;
+typedef XftGlyphFontSpec GlyphFontSpec;
 
 typedef struct {
 	Glyph attr; /* current char attributes */
diff --git a/win.h b/win.h
index 60cecb1..ea45e60 100644
--- a/win.h
+++ b/win.h
_AT_@ -5,8 +5,6 @@
 #define XK_NO_MOD     0
 #define XK_SWITCH_MOD (1<<13)
 
-typedef XftGlyphFontSpec GlyphFontSpec;
-
 void draw(void);
 void drawregion(int, int, int, int);
 
_AT_@ -16,11 +14,12 @@ void xclippaste(void);
 void xhints(void);
 void xloadcols(void);
 int xsetcolorname(int, const char *);
-void xloadfonts(char *, double);
 void xsettitle(char *);
 void xsetpointermotion(int);
 void xseturgency(int);
-void xunloadfonts(void);
 void xresize(int, int);
 void xselpaste(void);
 void xsetsel(char *, Time);
+void zoom(const Arg *);
+void zoomabs(const Arg *);
+void zoomreset(const Arg *);
diff --git a/x.c b/x.c
index 7d13626..5460828 100644
--- a/x.c
+++ b/x.c
_AT_@ -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
_AT_@ -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 *);
_AT_@ -164,6 +166,37 @@ typedef struct {
 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)
 {
-- 
2.14.1
Received on Tue Oct 10 2017 - 18:35:35 CEST

This archive was generated by hypermail 2.3.0 : Tue Oct 10 2017 - 18:36:43 CEST