📄 mouse.c
字号:
#ifndef XCGMOUSEH
#define XCGMOUSEH
#include<dos.h>
#include<stdio.h>
#include"myerro.c"
static struct MOUSE
{
unsigned int left;
unsigned int right;
unsigned int x;
unsigned int y;
}xcgmouse={0,0,0,0};
void mouse_init(void)
{
union REGS regs;
regs.x.ax=0;
int86(0x33,®s,®s);
if(regs.x.ax!=0);
else{ xcgerrono=1; exit(1); }
}
void mouse_show(void)
{
union REGS regs;
regs.x.ax=1;
int86(0x33,®s,®s);
}
void mouse_hide(void)
{
union REGS regs;
regs.x.ax=2;
int86(0x33,®s,®s);
}
void mouse_state(void)
{
union REGS regs;
regs.x.ax=3;
int86(0x33,®s,®s);
xcgmouse.left=regs.x.bx & 1;
xcgmouse.right=regs.x.bx & 2;
xcgmouse.x=regs.x.cx;
xcgmouse.y=regs.x.dx;
}
void setmouseshape(int far *p,int hotx,int hoty)
{
union REGS regs;
struct SREGS sregs;
regs.x.ax=9; regs.x.bx=hotx; regs.x.cx=hoty;
regs.x.dx=FP_OFF(p); sregs.es=FP_SEG(p);
int86x(0x33,®s,®s,&sregs);
}
int mouse_inwindow(unsigned int x0,unsigned int y0,\
unsigned int x1,unsigned int y1)
{
if(xcgmouse.x>x0 && xcgmouse.x<x1 && xcgmouse.y>y0 && xcgmouse.y<y1)
return(1);
else return(0);
}
int getmouseleft(void)
{
return(xcgmouse.left);
}
int getmouseright(void)
{
return(xcgmouse.right);
}
unsigned int getmousex(void)
{
return(xcgmouse.x);
}
unsigned int getmousey(void)
{
return(xcgmouse.y);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -