mirror of
https://github.com/LukeSmithxyz/st.git
synced 2024-11-22 15:25:58 +01:00
Move window-manipulating functions into x.c
xresize is now internal to x.c Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
This commit is contained in:
parent
a09138afa5
commit
a8314643b1
4 changed files with 45 additions and 46 deletions
36
st.c
36
st.c
|
@ -165,7 +165,6 @@ static void tnewline(int);
|
||||||
static void tputtab(int);
|
static void tputtab(int);
|
||||||
static void tputc(Rune);
|
static void tputc(Rune);
|
||||||
static void treset(void);
|
static void treset(void);
|
||||||
static void tresize(int, int);
|
|
||||||
static void tscrollup(int, int);
|
static void tscrollup(int, int);
|
||||||
static void tscrolldown(int, int);
|
static void tscrolldown(int, int);
|
||||||
static void tsetattr(int *, int);
|
static void tsetattr(int *, int);
|
||||||
|
@ -419,24 +418,6 @@ selinit(void)
|
||||||
sel.clipboard = NULL;
|
sel.clipboard = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
x2col(int x)
|
|
||||||
{
|
|
||||||
x -= borderpx;
|
|
||||||
x /= win.cw;
|
|
||||||
|
|
||||||
return LIMIT(x, 0, term.col-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
y2row(int y)
|
|
||||||
{
|
|
||||||
y -= borderpx;
|
|
||||||
y /= win.ch;
|
|
||||||
|
|
||||||
return LIMIT(y, 0, term.row-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
tlinelen(int y)
|
tlinelen(int y)
|
||||||
{
|
{
|
||||||
|
@ -2620,20 +2601,3 @@ kmap(KeySym k, uint state)
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
cresize(int width, int height)
|
|
||||||
{
|
|
||||||
int col, row;
|
|
||||||
|
|
||||||
if (width != 0)
|
|
||||||
win.w = width;
|
|
||||||
if (height != 0)
|
|
||||||
win.h = height;
|
|
||||||
|
|
||||||
col = (win.w - 2 * borderpx) / win.cw;
|
|
||||||
row = (win.h - 2 * borderpx) / win.ch;
|
|
||||||
|
|
||||||
tresize(col, row);
|
|
||||||
xresize(col, row);
|
|
||||||
}
|
|
||||||
|
|
9
st.h
9
st.h
|
@ -80,11 +80,6 @@ enum selection_snap {
|
||||||
SNAP_LINE = 2
|
SNAP_LINE = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
enum window_state {
|
|
||||||
WIN_VISIBLE = 1,
|
|
||||||
WIN_FOCUSED = 2
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef unsigned char uchar;
|
typedef unsigned char uchar;
|
||||||
typedef unsigned int uint;
|
typedef unsigned int uint;
|
||||||
typedef unsigned long ulong;
|
typedef unsigned long ulong;
|
||||||
|
@ -186,6 +181,7 @@ void redraw(void);
|
||||||
|
|
||||||
int tattrset(int);
|
int tattrset(int);
|
||||||
void tnew(int, int);
|
void tnew(int, int);
|
||||||
|
void tresize(int, int);
|
||||||
void tsetdirt(int, int);
|
void tsetdirt(int, int);
|
||||||
void tsetdirtattr(int);
|
void tsetdirtattr(int);
|
||||||
int match(uint, uint);
|
int match(uint, uint);
|
||||||
|
@ -198,15 +194,12 @@ void ttywrite(const char *, size_t);
|
||||||
void resettitle(void);
|
void resettitle(void);
|
||||||
|
|
||||||
char *kmap(KeySym, uint);
|
char *kmap(KeySym, uint);
|
||||||
void cresize(int, int);
|
|
||||||
void selclear(void);
|
void selclear(void);
|
||||||
|
|
||||||
void selinit(void);
|
void selinit(void);
|
||||||
void selnormalize(void);
|
void selnormalize(void);
|
||||||
int selected(int, int);
|
int selected(int, int);
|
||||||
char *getsel(void);
|
char *getsel(void);
|
||||||
int x2col(int);
|
|
||||||
int y2row(int);
|
|
||||||
|
|
||||||
size_t utf8decode(char *, Rune *, size_t);
|
size_t utf8decode(char *, Rune *, size_t);
|
||||||
size_t utf8encode(Rune, char *);
|
size_t utf8encode(Rune, char *);
|
||||||
|
|
1
win.h
1
win.h
|
@ -16,7 +16,6 @@ void xloadcols(void);
|
||||||
int xsetcolorname(int, const char *);
|
int xsetcolorname(int, const char *);
|
||||||
void xsettitle(char *);
|
void xsettitle(char *);
|
||||||
void xsetpointermotion(int);
|
void xsetpointermotion(int);
|
||||||
void xresize(int, int);
|
|
||||||
void xselpaste(void);
|
void xselpaste(void);
|
||||||
void xsetsel(char *, Time);
|
void xsetsel(char *, Time);
|
||||||
void zoom(const Arg *);
|
void zoom(const Arg *);
|
||||||
|
|
45
x.c
45
x.c
|
@ -88,12 +88,16 @@ static void xclear(int, int, int, int);
|
||||||
static void xdrawcursor(void);
|
static void xdrawcursor(void);
|
||||||
static int xgeommasktogravity(int);
|
static int xgeommasktogravity(int);
|
||||||
static void xinit(void);
|
static void xinit(void);
|
||||||
|
static void cresize(int, int);
|
||||||
|
static void xresize(int, int);
|
||||||
static int xloadfont(Font *, FcPattern *);
|
static int xloadfont(Font *, FcPattern *);
|
||||||
static void xloadfonts(char *, double);
|
static void xloadfonts(char *, double);
|
||||||
static void xunloadfont(Font *);
|
static void xunloadfont(Font *);
|
||||||
static void xunloadfonts(void);
|
static void xunloadfonts(void);
|
||||||
static void xsetenv(void);
|
static void xsetenv(void);
|
||||||
static void xseturgency(int);
|
static void xseturgency(int);
|
||||||
|
static int x2col(int);
|
||||||
|
static int y2row(int);
|
||||||
|
|
||||||
static void expose(XEvent *);
|
static void expose(XEvent *);
|
||||||
static void visibility(XEvent *);
|
static void visibility(XEvent *);
|
||||||
|
@ -109,7 +113,6 @@ static void propnotify(XEvent *);
|
||||||
static void selnotify(XEvent *);
|
static void selnotify(XEvent *);
|
||||||
static void selclear_(XEvent *);
|
static void selclear_(XEvent *);
|
||||||
static void selrequest(XEvent *);
|
static void selrequest(XEvent *);
|
||||||
|
|
||||||
static void selcopy(Time);
|
static void selcopy(Time);
|
||||||
static void getbuttoninfo(XEvent *);
|
static void getbuttoninfo(XEvent *);
|
||||||
static void mousereport(XEvent *);
|
static void mousereport(XEvent *);
|
||||||
|
@ -148,6 +151,11 @@ static DC dc;
|
||||||
static XWindow xw;
|
static XWindow xw;
|
||||||
static XSelection xsel;
|
static XSelection xsel;
|
||||||
|
|
||||||
|
enum window_state {
|
||||||
|
WIN_VISIBLE = 1,
|
||||||
|
WIN_FOCUSED = 2
|
||||||
|
};
|
||||||
|
|
||||||
/* Font Ring Cache */
|
/* Font Ring Cache */
|
||||||
enum {
|
enum {
|
||||||
FRC_NORMAL,
|
FRC_NORMAL,
|
||||||
|
@ -200,6 +208,24 @@ zoomreset(const Arg *arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
x2col(int x)
|
||||||
|
{
|
||||||
|
x -= borderpx;
|
||||||
|
x /= win.cw;
|
||||||
|
|
||||||
|
return LIMIT(x, 0, term.col-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
y2row(int y)
|
||||||
|
{
|
||||||
|
y -= borderpx;
|
||||||
|
y /= win.ch;
|
||||||
|
|
||||||
|
return LIMIT(y, 0, term.row-1);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
getbuttoninfo(XEvent *e)
|
getbuttoninfo(XEvent *e)
|
||||||
{
|
{
|
||||||
|
@ -596,6 +622,23 @@ bmotion(XEvent *e)
|
||||||
tsetdirt(MIN(sel.nb.y, oldsby), MAX(sel.ne.y, oldsey));
|
tsetdirt(MIN(sel.nb.y, oldsby), MAX(sel.ne.y, oldsey));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
cresize(int width, int height)
|
||||||
|
{
|
||||||
|
int col, row;
|
||||||
|
|
||||||
|
if (width != 0)
|
||||||
|
win.w = width;
|
||||||
|
if (height != 0)
|
||||||
|
win.h = height;
|
||||||
|
|
||||||
|
col = (win.w - 2 * borderpx) / win.cw;
|
||||||
|
row = (win.h - 2 * borderpx) / win.ch;
|
||||||
|
|
||||||
|
tresize(col, row);
|
||||||
|
xresize(col, row);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
xresize(int col, int row)
|
xresize(int col, int row)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue