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>
This commit is contained in:
Devin J. Pohly 2017-10-10 11:30:36 -05:00
parent 3518dba2a5
commit d5275012b4
4 changed files with 39 additions and 40 deletions

36
st.c
View File

@ -31,8 +31,8 @@
#define Glyph Glyph_ #define Glyph Glyph_
#define Font Font_ #define Font Font_
#include "win.h"
#include "st.h" #include "st.h"
#include "win.h"
#if defined(__linux) #if defined(__linux)
#include <pty.h> #include <pty.h>
@ -128,9 +128,6 @@ static void clipcopy(const Arg *);
static void clippaste(const Arg *); static void clippaste(const Arg *);
static void numlock(const Arg *); static void numlock(const Arg *);
static void selpaste(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 printsel(const Arg *);
static void printscreen(const Arg *) ; static void printscreen(const Arg *) ;
static void iso14755(const Arg *); static void iso14755(const Arg *);
@ -2573,37 +2570,6 @@ tresize(int col, int row)
term.c = c; 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 void
resettitle(void) resettitle(void)
{ {

1
st.h
View File

@ -100,6 +100,7 @@ typedef struct {
} Glyph; } Glyph;
typedef Glyph *Line; typedef Glyph *Line;
typedef XftGlyphFontSpec GlyphFontSpec;
typedef struct { typedef struct {
Glyph attr; /* current char attributes */ Glyph attr; /* current char attributes */

7
win.h
View File

@ -5,8 +5,6 @@
#define XK_NO_MOD 0 #define XK_NO_MOD 0
#define XK_SWITCH_MOD (1<<13) #define XK_SWITCH_MOD (1<<13)
typedef XftGlyphFontSpec GlyphFontSpec;
void draw(void); void draw(void);
void drawregion(int, int, int, int); void drawregion(int, int, int, int);
@ -16,11 +14,12 @@ void xclippaste(void);
void xhints(void); void xhints(void);
void xloadcols(void); void xloadcols(void);
int xsetcolorname(int, const char *); int xsetcolorname(int, const char *);
void xloadfonts(char *, double);
void xsettitle(char *); void xsettitle(char *);
void xsetpointermotion(int); void xsetpointermotion(int);
void xseturgency(int); void xseturgency(int);
void xunloadfonts(void);
void xresize(int, int); void xresize(int, int);
void xselpaste(void); void xselpaste(void);
void xsetsel(char *, Time); void xsetsel(char *, Time);
void zoom(const Arg *);
void zoomabs(const Arg *);
void zoomreset(const Arg *);

35
x.c
View File

@ -21,8 +21,8 @@ static char *argv0;
#define Glyph Glyph_ #define Glyph Glyph_
#define Font Font_ #define Font Font_
#include "win.h"
#include "st.h" #include "st.h"
#include "win.h"
/* XEMBED messages */ /* XEMBED messages */
#define XEMBED_FOCUS_IN 4 #define XEMBED_FOCUS_IN 4
@ -90,7 +90,9 @@ static void xdrawcursor(void);
static int xgeommasktogravity(int); static int xgeommasktogravity(int);
static void xinit(void); static void xinit(void);
static int xloadfont(Font *, FcPattern *); static int xloadfont(Font *, FcPattern *);
static void xloadfonts(char *, double);
static void xunloadfont(Font *); static void xunloadfont(Font *);
static void xunloadfonts(void);
static void xsetenv(void); static void xsetenv(void);
static void expose(XEvent *); static void expose(XEvent *);
@ -164,6 +166,37 @@ typedef struct {
static Fontcache frc[16]; static Fontcache frc[16];
static int frclen = 0; 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 void
getbuttoninfo(XEvent *e) getbuttoninfo(XEvent *e)
{ {