📄 line.cpp
字号:
#include<iostream.h>
#include<graphics.h>
#include<conio.h>
#include<dos.h>
#include<math.h>
//////////////mouse
int chk_mouse(void)
{
REGS r;
r.x.ax=0x0000;
int86(0x33,&r,&r);
return r.x.ax;
}
//mouse function
void show_mouse(void)
{
REGS r;
r.x.ax=0x0001;
int86(0x33,&r,&r);
}
//mouse function
void hide_mouse(void)
{
REGS r;
r.x.ax=0x0002;
int86(0x33,&r,&r);
}
//mouse function
void get_mouse(int *x1,int *y1)
{
REGS r;
r.x.ax=0x0003;
int86(0x33,&r,&r);
*x1=r.x.cx;
*y1=r.x.dx;
}
//mouse function
int mouse_pressed(int btn_no)
{
REGS r;
r.x.ax=0x0005;
r.x.bx=btn_no;
int86(0x33,&r,&r);
return r.x.bx;
}
//mouse function
int mouse_released(int btn_no)
{
REGS r;
r.x.ax=0x0006;
r.x.bx=btn_no;
int86(0x33,&r,&r);
return r.x.bx;
}
//////////////////////
void lineBres(int xa,int ya,int xb,int yb)
{
int dx=abs(xa-xb),dy=abs(ya-yb);
int p=2*dy-dx;
int twoDy=2*dy,twoDyDx=2*(dy-dx);
int x,y,xEnd;
if(xa>xb)
{
x=xb; y=yb; xEnd=xa;
}
else
{
x=xa; y=ya; xEnd=xb;
}
putpixel(x,y,1);
while(x<xEnd)
{ x++;
if(p<0)
p+=twoDy;
else
{
y++;
p+=twoDyDx;
}
putpixel(x,y,1);
}
}
void main()
{
int a=DETECT,b;
int x1,y1,x2,y2;
initgraph(&a,&b,"c:\\tc\\bgi");
lineBres(100,100,500,50);
chk_mouse();
show_mouse();
while(!kbhit())
{
if(mouse_pressed(0))
{ get_mouse(&x1,&y1);
while(!mouse_released(0))
get_mouse(&x2,&y2);
}
lineBres(x1,y1,x2,y2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -