csr_sig.c

来自「操作系统SunOS 4.1.3版本的源码」· C语言 代码 · 共 80 行

C
80
字号
#ifndef lint#ifdef sccsstatic	char sccsid[] = "@(#)csr_sig.c 1.1 92/07/30 Copyr 1985 Sun Micro";#endif#endif/* * Copyright (c) 1985 by Sun Microsystems, Inc. *//* * Character screen signal handling. */#include <stdio.h>#include <sys/types.h>#include <sys/file.h>#include <sys/time.h>#include <signal.h>#include <pixrect/pixrect.h>#include <pixrect/pixfont.h>#include <sunwindow/rect.h>#include <sunwindow/rectlist.h>#include <sunwindow/pixwin.h>#include <suntool/ttysw_impl.h>#include <suntool/charimage.h>#include <suntool/charscreen.h>extern	wfd;extern	struct	pixwin *csr_pixwin;extern	void	ttysel_hilite();extern	void	ttynullselection();intwhandlesigwinch(ttysw)	Ttysw *ttysw;{	struct	rect r_new;	/*	 * See if size changed	 */	(void)win_getsize(wfd, &r_new);	if (winwidthp!=r_new.r_width ||	winheightp!=r_new.r_height) {		winwidthp = r_new.r_width;		winheightp = r_new.r_height;		/*		 * imagerepair redraws the exposed image so toss damaged list		 * before imagerepair call in order to avoid race.		 */		(void)pw_damaged(csr_pixwin);		(void)pw_donedamaged(csr_pixwin);		/*		 * Don't currently support selections across size changes		 */		ttynullselection(ttysw);		/*		 * Fix image and redraw the screen.		 */		(void)imagerepair(ttysw);		return(1/*size has changed*/);	}	/*	 * Fix screen	 */	(void)pw_damaged(csr_pixwin);	(void)saveCursor();	(void)prepair(wfd, &csr_pixwin->pw_clipdata->pwcd_clipping);	/*	 * If just hilite the selection part that is damaged then the other	 * non-damaged selection parts should still be visible, thus creating	 * the entire selection image.	 */	ttysel_hilite(ttysw);	(void)restoreCursor();	(void)pw_donedamaged(csr_pixwin);	return(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?