⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptyx.h

📁 源码,标准c++用力
💻 H
📖 第 1 页 / 共 2 页
字号:
/* *	$XConsortium: ptyx.h,v 1.60.1.1 93/11/03 17:29:39 gildea Exp $ *//* * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. * *                         All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of Digital Equipment * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior permission. * * * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. *//* ptyx.h *//* @(#)ptyx.h	X10/6.6	11/10/86 */#include <X11/IntrinsicP.h>#include <X11/Xmu/Misc.h>	/* For Max() and Min(). */#include <X11/Xfuncs.h>#include <X11/Xosdefs.h>/* Extra Xlib definitions */#define AllButtonsUp(detail, ignore)  (\		((ignore) == Button1) ? \				(((detail)&(Button2Mask|Button3Mask)) == 0) \				: \		 (((ignore) == Button2) ? \		  		(((detail)&(Button1Mask|Button3Mask)) == 0) \				: \		  		(((detail)&(Button1Mask|Button2Mask)) == 0)) \		)#define MAX_COLS	200#define MAX_ROWS	128/*** System V definitions*/#ifdef SYSV#ifdef X_NOT_POSIX#ifndef CRAY#define	dup2(fd1,fd2)	((fd1 == fd2) ? fd1 : \				(close(fd2), fcntl(fd1, F_DUPFD, fd2)))#endif#endif#endif /* SYSV *//*** allow for mobility of the pty master/slave directories*/#ifndef PTYDEV#ifdef hpux#define	PTYDEV		"/dev/ptym/ptyxx"#else	/* !hpux */#define	PTYDEV		"/dev/ptyxx"#endif	/* !hpux */#endif	/* !PTYDEV */#ifndef TTYDEV#ifdef hpux#define TTYDEV		"/dev/pty/ttyxx"#else	/* !hpux */#define	TTYDEV		"/dev/ttyxx"#endif	/* !hpux */#endif	/* !TTYDEV */#ifndef PTYCHAR1#ifdef hpux#define PTYCHAR1	"zyxwvutsrqp"#else	/* !hpux */#define	PTYCHAR1	"pqrstuvwxyzPQRSTUVWXYZ"#endif	/* !hpux */#endif	/* !PTYCHAR1 */#ifndef PTYCHAR2#ifdef hpux#define	PTYCHAR2	"fedcba9876543210"#else	/* !hpux */#define	PTYCHAR2	"0123456789abcdef"#endif	/* !hpux */#endif	/* !PTYCHAR2 *//* Until the translation manager comes along, I have to do my own translation of * mouse events into the proper routines. */typedef enum {NORMAL, LEFTEXTENSION, RIGHTEXTENSION} EventMode;/* * The origin of a screen is 0, 0.  Therefore, the number of rows * on a screen is screen->max_row + 1, and similarly for columns. */typedef unsigned char Char;		/* to support 8 bit chars */typedef Char **ScrnBuf;/* * ANSI emulation. */#define INQ	0x05#define	FF	0x0C			/* C0, C1 control names		*/#define	LS1	0x0E#define	LS0	0x0F#define	CAN	0x18#define	SUB	0x1A#define	ESC	0x1B#define US	0x1F#define	DEL	0x7F#define HTS     ('H'+0x40)#define	SS2	0x8E#define	SS3	0x8F#define	DCS	0x90#define	OLDID	0x9A			/* ESC Z			*/#define	CSI	0x9B#define	ST	0x9C#define	OSC	0x9D#define	PM	0x9E#define	APC	0x9F#define	RDEL	0xFF#define NMENUFONTS 11			/* entries in fontMenu */#define	NBOX	5			/* Number of Points in box	*/#define	NPARAM	10			/* Max. parameters		*/#define	MINHILITE	32typedef struct {	unsigned char	a_type;	unsigned char	a_pintro;	unsigned char	a_final;	unsigned char	a_inters;	char	a_nparam;		/* # of parameters		*/	char	a_dflt[NPARAM];		/* Default value flags		*/	short	a_param[NPARAM];	/* Parameters			*/	char	a_nastyf;		/* Error flag			*/} ANSI;typedef struct {	int		row;	int		col;	unsigned	flags;	/* Vt100 saves graphics rendition. Ugh! */	char		curgl;	char		gsets[4];} SavedCursor;#define TEK_FONT_LARGE 0#define TEK_FONT_2 1#define TEK_FONT_3 2#define TEK_FONT_SMALL 3#define	TEKNUMFONTS 4/* Actually there are 5 types of lines, but four are non-solid lines */#define	TEKNUMLINES	4typedef struct {	int	x;	int	y;	int	fontsize;	int	linetype;} Tmodes;typedef struct {	int Twidth;	int Theight;} T_fontsize;typedef struct {	short *bits;	int x;	int y;	int width;	int height;} BitmapBits;#define	SAVELINES		64      /* default # lines to save      */#define SCROLLLINES 1			/* default # lines to scroll    *//***==========================================================***/#define TEXT_FG 	0#define TEXT_BG		1#define TEXT_CURSOR	2#define MOUSE_FG	3#define MOUSE_BG	4#define TEK_FG		5#define TEK_BG		6#define NCOLORS		7#define COLOR_DEFINED(s,w)	((s)->which&(1<<(w)))#define COLOR_VALUE(s,w)	((s)->colors[w])#define SET_COLOR_VALUE(s,w,v)	(((s)->colors[w]=(v)),((s)->which|=(1<<(w))))#define COLOR_NAME(s,w)		((s)->names[w])#define SET_COLOR_NAME(s,w,v)	(((s)->names[w]=(v)),((s)->which|=(1<<(w))))#define UNDEFINE_COLOR(s,w)	((s)->which&=(~((w)<<1)))#define OPPOSITE_COLOR(n)	(((n)==TEXT_FG?TEXT_BG:\			((n)==TEXT_BG?TEXT_FG:\			((n)==MOUSE_FG?MOUSE_BG:\			((n)==MOUSE_BG?MOUSE_FG:\			((n)==TEK_FG?TEK_BG:\			((n)==TEK_BG?TEK_FG:(n))))))))typedef struct {	unsigned	which;	Pixel		colors[NCOLORS];	char		*names[NCOLORS];}	ScrnColors;/***===============================================================***/#define MAXCOLORS 8#define COLOR_0		0#define COLOR_1		1#define COLOR_2		2#define COLOR_3		3#define COLOR_4		4#define COLOR_5		5#define COLOR_6		6#define COLOR_7		7typedef struct {/* These parameters apply to both windows */	Display		*display;	/* X display for screen		*/	int		respond;	/* socket for responses					   (position report, etc.)	*/	long		pid;		/* pid of process on far side   */	int		uid;		/* user id of actual person	*/	int		gid;		/* group id of actual person	*/	GC		normalGC;	/* normal painting		*/	GC		reverseGC;	/* reverse painting		*/	GC		normalboldGC;	/* normal painting, bold font	*/	GC		reverseboldGC;	/* reverse painting, bold font	*/	GC		cursorGC;	/* normal cursor painting	*/	GC		reversecursorGC;/* reverse cursor painting	*/	GC		cursoroutlineGC;/* for painting lines around    */	Pixel		foreground;	/* foreground color		*/	Pixel		cursorcolor;	/* Cursor color			*/	Pixel		mousecolor;	/* Mouse color			*/	Pixel		mousecolorback;	/* Mouse color background	*/	Pixel		colors[MAXCOLORS];	/* ANSI color emulation	*/	int		border;		/* inner border			*/	Cursor		arrow;		/* arrow cursor			*/	unsigned short	send_mouse_pos;	/* user wants mouse transition  */					/* and position information	*/	int		select;		/* xterm selected		*/	Boolean		visualbell;	/* visual bell mode		*/	Boolean		allowSendEvents;/* SendEvent mode		*/	Boolean		grabbedKbd;	/* keyboard is grabbed		*/#ifdef ALLOWLOGGING	int		logging;	/* logging mode			*/	int		logfd;		/* file descriptor of log	*/	char		*logfile;	/* log file name		*/	unsigned char	*logstart;	/* current start of log buffer	*/#endif	int		inhibit;	/* flags for inhibiting changes	*//* VT window parameters */	struct {		Window	window;		/* X window id			*/		int	width;		/* width of columns		*/		int	height;		/* height of rows		*/		int	fullwidth;	/* full width of window		*/		int	fullheight;	/* full height of window	*/		int	f_width;	/* width of fonts in pixels	*/		int	f_height;	/* height of fonts in pixels	*/	} fullVwin;	Cursor pointer_cursor;		/* pointer cursor in window	*/	/* Terminal fonts must be of the same size and of fixed width */	XFontStruct	*fnt_norm;	/* normal font of terminal	*/	XFontStruct	*fnt_bold;	/* bold font of terminal	*/	int		enbolden;	/* overstrike for bold font	*/	XPoint		*box;		/* draw unselected cursor	*/	int		cursor_state;	/* ON or OFF			*/	int		cursor_set;	/* requested state		*/	int		cursor_col;	/* previous cursor column	*/	int		cursor_row;	/* previous cursor row		*/

⌨️ 快捷键说明

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