diff options
| -rw-r--r-- | st.c | 36 | ||||
| -rw-r--r-- | st.h | 9 | ||||
| -rw-r--r-- | win.h | 1 | ||||
| -rw-r--r-- | x.c | 45 | 
4 files changed, 45 insertions, 46 deletions
@@ -165,7 +165,6 @@ static void tnewline(int);  static void tputtab(int);  static void tputc(Rune);  static void treset(void); -static void tresize(int, int);  static void tscrollup(int, int);  static void tscrolldown(int, int);  static void tsetattr(int *, int); @@ -420,24 +419,6 @@ selinit(void)  }  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  tlinelen(int y)  {  	int i = term.col; @@ -2620,20 +2601,3 @@ kmap(KeySym k, uint state)  	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); -} @@ -80,11 +80,6 @@ enum selection_snap {  	SNAP_LINE = 2  }; -enum window_state { -	WIN_VISIBLE = 1, -	WIN_FOCUSED = 2 -}; -  typedef unsigned char uchar;  typedef unsigned int uint;  typedef unsigned long ulong; @@ -186,6 +181,7 @@ void redraw(void);  int tattrset(int);  void tnew(int, int); +void tresize(int, int);  void tsetdirt(int, int);  void tsetdirtattr(int);  int match(uint, uint); @@ -198,15 +194,12 @@ void ttywrite(const char *, size_t);  void resettitle(void);  char *kmap(KeySym, uint); -void cresize(int, int);  void selclear(void);  void selinit(void);  void selnormalize(void);  int selected(int, int);  char *getsel(void); -int x2col(int); -int y2row(int);  size_t utf8decode(char *, Rune *, size_t);  size_t utf8encode(Rune, char *); @@ -16,7 +16,6 @@ void xloadcols(void);  int xsetcolorname(int, const char *);  void xsettitle(char *);  void xsetpointermotion(int); -void xresize(int, int);  void xselpaste(void);  void xsetsel(char *, Time);  void zoom(const Arg *); @@ -88,12 +88,16 @@ static void xclear(int, int, int, int);  static void xdrawcursor(void);  static int xgeommasktogravity(int);  static void xinit(void); +static void cresize(int, int); +static void xresize(int, int);  static int xloadfont(Font *, FcPattern *);  static void xloadfonts(char *, double);  static void xunloadfont(Font *);  static void xunloadfonts(void);  static void xsetenv(void);  static void xseturgency(int); +static int x2col(int); +static int y2row(int);  static void expose(XEvent *);  static void visibility(XEvent *); @@ -109,7 +113,6 @@ static void propnotify(XEvent *);  static void selnotify(XEvent *);  static void selclear_(XEvent *);  static void selrequest(XEvent *); -  static void selcopy(Time);  static void getbuttoninfo(XEvent *);  static void mousereport(XEvent *); @@ -148,6 +151,11 @@ static DC dc;  static XWindow xw;  static XSelection xsel; +enum window_state { +	WIN_VISIBLE = 1, +	WIN_FOCUSED = 2 +}; +  /* Font Ring Cache */  enum {  	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  getbuttoninfo(XEvent *e)  { @@ -597,6 +623,23 @@ bmotion(XEvent *e)  }  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  xresize(int col, int row)  {  	win.tw = MAX(1, col * win.cw);  | 
