~petersanchez/st

d5275012b45149a2a6e94679609aacca478221ad — Devin J. Pohly 6 years ago 3518dba
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>
4 files changed, 39 insertions(+), 40 deletions(-)

M st.c
M st.h
M win.h
M x.c
M st.c => st.c +1 -35
@@ 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");

M st.h => st.h +1 -0
@@ 100,6 100,7 @@ typedef struct {
} Glyph;

typedef Glyph *Line;
typedef XftGlyphFontSpec GlyphFontSpec;

typedef struct {
	Glyph attr; /* current char attributes */

M win.h => win.h +3 -4
@@ 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 *);

M x.c => x.c +34 -1
@@ 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;