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

📄 screen.h

📁 vt100终端仿真程序
💻 H
字号:
///屏幕控制和属性

//属性定义
struct  struScreen{
	int iLocDisplay;	//本端回显                          
						//0---CSI 12h	禁止本端回显,键盘数据仅送给主机
						//1---CSI 12l	允许本端回显,键盘数据送给主机和屏幕
                    
	int iScreenMode;	//视屏模式
						//0---CSI ?5h	屏幕显示为白底黑字
						//1---CSI ?5l	显示为黑底白字 
                     
	int iScreenWidth;	//屏幕宽度,
					 	//CSI ?3h	132列显示
                        //CSI ?3l	80列显示
                      
	int iOriginMode; 	//原点方式	  
					 	//0---CSI ?6h	以用户指定的滚动区域的首行行首为参考原点 
					 	//1---CSI ?6l	以屏幕的首行行首为参考原点
                      
	int iRowBack;	  	//行反绕
					 	//0---CSI ? 7 h  当字符显示到行末时,自动回到下行行首接着显示;如果在滚动区域底行行末,则上滚一行再显示
					 	//1---CSI ? 7 l	当字符显示到行末时,仍在行末光标位置显示,覆盖原有的字符,除非接收到移动光标的命令
    
	int iCursorState ;	//光标类型
                        //0---CSI /0j	闪烁块光标
                        //1---CSI /1j	闪烁线光标
                        //2---CSI /2j	稳态块光标
                        //3---CSI /3j	稳态线光标
	
	int iCursorDisplay;	//0:光标显示 1:光标消隐	
		
    int iArrTab[80];	//制表位数组;	

    int iXPos ;			//光标的X轴坐标,
    int iYPos ;			//光标的Y轴坐标           
        
    int iTopRow;		//滚动区域顶行行号
    int iButtomRow;		//滚动区域底行行号        
    int iEditMode;		//插入改写方式,0:插入方式,1:改写方式  

	int iCharSet;  ///指定字符集,0:正常,2:转义字符集,缺省为0

	int iBaseRow;//基准行

	int  iChrWidth;  //字宽
	int iChrHigh;	//字高

} ;

//initialise screen
int InitScreen();

//光标移动
// int MoveTo();			

//0---CSI 12h
//禁止本端回显,键盘数据仅送给主机
int SetLocDisplayforbid();

//1---CSI 12l
//允许本端回显,键盘数据送给主机和屏幕
int SetLocDisplayallow();

//0---CSI ?5h
//屏幕显示为白底黑字
int SetScreenModeBlackWord();

//1---CSI ?5l
//屏幕显示为黑底白字
int SetScreenModeWhiteWord();

//0---CSI ?3h	132列显示
int SetScreenWidth132();

//1---CSI ?3l	80列显示
int SetScreenWidth80();

//开窗,设置滚动区域
int SetRollWindow();

//0---CSI ?6h	
//以用户指定的滚动区域的首行行首为参考原点
int SetOriginModeUsr();

//1---CSI ?6l	
//以屏幕的首行行首为参考原点
int SetOriginModeHome();

//0---CSI ? 7 h  
//当字符显示到行末时,自动回到下行行首接着显示;
//如果在滚动区域底行行末,则上滚一行再显示
int SetRowBackNext();

//1---CSI ? 7 l	
//当字符显示到行末时,仍在行末光标位置显示,
//覆盖原有的字符,除非接收到移动光标的命令
int SetRowBackNoMove();

//以下函数暂留空MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

//滚动模式*******************

//CSI ?4h	平滑滚动
int SetRollModeSmooth();

//CSI ?4l	跳跃滚动
int SetRollModeLeap();

//扩展滚动模式***************

//CSI /0s	不滚动
int SetRowBackExtNoMove();

//CSI /1s	平滑慢滚
int SetRowBackExtSmoothSlow();


//CSI /2s	跳跃滚动
int SetRowBackExtLeap();

//CSI /3s	平滑快滚
int SetRowBackExtSmoothFast();

//监督模式

//CSI 3h	监督有效,显示控制符,供程序员调试程序用
int SetIntendanceHaveEffect();


//CSI 3l	监督无效,执行控制符,正常运行程序
int SetIntendanceNoEffect();

//状态行类型

//CSI 0$~	禁止状态行(VT300有效) 
int SetStaRowForbid();

//CSI 1$~	允许状态行(VT300有效)
int SetStaRowAllow();

//CSI 2$~	主机可写状态行(VT300有效)
int SetStaRowAllowWrite();

//选择状态行显示

//CSI 0$|	主机可写状态行时,在主屏显示数据(VT300有效)
int SetMainScreenDisply();

//CSI 1$|	主机可写状态行时,在状态行显示数据(VT300有效)
int SetStaRowDisplay();

int SetMainScreenDisplay();		//主机可写状态行时,在主屏显示数据(VT300有效)

int SeleCharSetG0_B();
int SeleCharSetG0_0();
int SeleCharSetG1_B();
int SeleCharSetG1_0();

⌨️ 快捷键说明

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