Mega Code Archive

 
Categories / C / Games Graphic
 

Icons in C and Mouse programming

#include<graphics.h> #include<dos.h> #include<stdio.h> void mainscreenin1list(int sx,int sy,int ex,int ey); void mainscreenin2list(int sx,int sy,int ex,int ey); void list(); void icons(); void iconindex(int x1,int y1, int x2, int y2); void funct( int x,int y); //mouse functions union REGS i,o; int initmouse(); void showmouseptr(); void restrictmouseptr(); void getmousepos(); //end of mouse functions void main() { int gd=DETECT,gm; initgraph(&gd,&gm,"e:\tc\bgi"); list(); getch(); } void list() { int sx,sy,ex,ey,frequency, i=0,button, x,y; sx=15; sy=10; ex=630; ey=470; mainscreenin1list(sx,sy,ex,ey); mainscreenin2list(sx,sy,ex,ey); setviewport(1,1,640,470,1); if( initmouse()==0) { closegraph(); restorecrtmode(); printf("Mouse Driver is not loaded"); exit(1); } restrictmouseptr(10,10,620,460); showmouseptr(); icons(); do { getmousepos(&button,&x,&y); if((button&1)==1) { i=1; for(frequency=2000;frequency<5000;frequency++) sound(frequency); nosound(); } if(i==1) break; } while(1); funct(x,y); } void mainscreenin1list(int sx,int sy,int ex,int ey) { setfillstyle(1,7); bar(sx,sy,ex,ey); setfillstyle(1,7); setcolor(15); line(sx,sy,sx,ey); line(sx,sy,ex,sy); line(sx,sy,sx,ey); line(sx,sy,ex,sy); setcolor(0); line(ex,sy,ex,ey); line(ex,sy,ex,ey); line(sx,ey,ex,ey); line(sx,ey,ex,ey); settextstyle(0,0,0); setfillstyle(1,1); bar(sx+2,sy+2,ex-2,sy+20); setcolor(13); settextstyle(8,0,1); outtextxy(sx+190,sy-5,"IC LIST"); //for x setfillstyle(1,7); bar(ex-15,sy+4,ex-4,sy+15); setcolor(15); line(ex-15,sy+4,ex-4,sy+4); line(ex-15,sy+4,ex-15,sy+15); setcolor(0); line(ex-15,sy+15,ex-4,sy+15); line(ex-4,sy+4,ex-4,sy+15); setcolor(1); settextstyle(0,0,1); outtextxy(ex-13,sy+5,"x"); setfillstyle(1,7); } void mainscreenin2list(int sx,int sy,int ex,int ey) { sx=sx+15; sy=sy+24; ex=ex-17; ey=ey-9; setcolor(0); line(sx,sy,sx,ey); line(sx,sy,ex,sy); line(sx,sy,sx,ey); line(sx,sy,ex,sy); setcolor(15); line(ex,sy,ex,ey); line(ex,sy,ex,ey); line(sx,ey,ex,ey); line(sx,ey,ex,ey); } void icons() { int x1,y1,a,x2; x1=70; y1=50; x2=150; a=14; //increment of y=45 from previous y //increment of the y=30 from the same value settextstyle(1,0,2); iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"EXIT"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7401"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7402"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7404"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7408"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7410"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7411"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7426"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7427"); y1+=45; //end of first column //start of next column x1+=150; y1=50; x2+=150; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7432"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7437"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7445"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7446"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7447"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7474"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7475"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7476"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7483"); y1+=45; //end of second column //start of next column x1+=150; y1=50; a=10; x2+=160; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7485"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"7486"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"74106"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"74145"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"74148"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"74151"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"74251"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"74266"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a-3,y1,"74445"); y1+=45; //end of second column //start of next column x1+=150; y1=50; x2+=130; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"4001"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"4011"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"4012"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"4013"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"4069"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"4081"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"4518"); y1+=45; iconindex(x1,y1,x2,y1+30); outtextxy(x1+a,y1,"4520"); y1+=45; iconindex(x1,y1,x2,y1+30); setcolor(4); outtextxy(x1+a,y1,"EXIT"); y1+=45; } void funct(int x, int y) { if(x>70&&x<150&&y>50&&y<80) exit(0); list(); } //making icons void iconindex(int x1,int y1, int x2, int y2) { setlinestyle(0,0,3); setcolor(15); line(x1,y1,x2,y1); line(x1,y1,x1,y2); setcolor(0); line(x1,y2,x2,y2); line(x2,y2,x2,y1); } //start of mouse declarations initmouse() { i.x.ax=0; int86(0x33,&i,&o); return(o.x.ax); } void showmouseptr() { i.x.ax=1; int86(0x33,&i,&o); } void restrictmouseptr(int x1, int y1, int x2, int y2) { i.x.ax=7; i.x.cx=x1; i.x.dx=x2; int86(0x33,&i,&o); i.x.ax=8; i.x.cx=y1; i.x.dx=y2; int86(0x33,&i,&o); } void getmousepos(int *button, int *x, int *y) { i.x.ax=3; int86(0x33,&i,&o); *button=o.x.bx; *x=o.x.cx; *y=o.x.dx; }