aboutsummaryrefslogtreecommitdiffstats
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
parent3518dba2a5fb57f601b74528ddeb67f173e4024b (diff)
downloadst-d5275012b45149a2a6e94679609aacca478221ad.tar.gz
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>
-rw-r--r--st.c36
-rw-r--r--st.h1
-rw-r--r--win.h7
-rw-r--r--x.c35
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
@@ -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>
@@ -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 *);
@@ -2574,37 +2571,6 @@ tresize(int col, int row)
}
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)
{
xsettitle(opt_title ? opt_title : "st");
diff --git a/st.h b/st.h
index 28a751d..9ece72f 100644
--- a/st.h
+++ b/st.h
@@ -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
@@ -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);
@@ -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 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;
remember that computers suck.