File: TEXTMODE.C | Size: 13,087 bytes | Download file | Back to directory listing | BWPOW's homepage
#include <pc.h>
#include <string.h>
#include <conio.h>
#include <all312.h>
 
typedef struct TEMP{
  int temp[2000];
  unsigned char zx1,zx2,zy1,zy2;
}TEMP;
TEMP temp[5];
 
int t=-1;
 
void _box_maker(int x1,int y1,int x2,int y2,char c1,char c2,char text[60])
{
  char tbuf[80];
  int x,y,c;
  t++;
  gettext(x1,y1,x2+2,y2+1,temp[t].temp);
  temp[t].zx1=x1;temp[t].zx2=x2;
  temp[t].zy1=y1;temp[t].zy2=y2;
 
  memset(tbuf,'Í',x2-x1);
  tbuf[0]='É';
  tbuf[x2-x1]='»';
  tbuf[x2-x1+1]=0;
 
  tbuf[2]=' ';
  tbuf[3+strlen(text)]=' ';
  memcpy(tbuf+3,text,strlen(text));
 
  ScreenPutString(tbuf,(c2<<4)|c1,x1-1,y1-1);
 
  memset(tbuf,' ',x2-x1);
  tbuf[0]='º';
  tbuf[x2-x1]='º';
  tbuf[x2-x1+1]=0;
 
  for(y=y1+1;y<y2;y++)
    ScreenPutString(tbuf,(c2<<4)|c1,x1-1,y-1);
 
  memset(tbuf,'Í',x2-x1);
  tbuf[0]='È';
  tbuf[x2-x1]='¼';
  tbuf[x2-x1+1]=0;
  ScreenPutString(tbuf,(c2<<4)|c1,x1-1,y2-1);
 
 
  for(y=y1+1;y<=y2;y++)
    for(x=0;x<2;x++){
      ScreenGetChar(&c,NULL,x+x2,y-1);
      ScreenPutChar(c,8,x+x2,y-1);
    }
 
  for(x=x1+2;x<=x2+2;x++){
    ScreenGetChar(&c,NULL,x-1,y2);
    ScreenPutChar(c,8,x-1,y2);
  }
 
  textcolor(c1);textbackground(c2);
}
 
void outtext_centre(char text[80])
{
  int x;
  x=wherex();
  gotoxy(x-strlen(text)/2,wherey());
  cprintf("%s",text);
}
 
 
 
void _delete_box()
{
  puttext(temp[t].zx1,temp[t].zy1,temp[t].zx2+2,temp[t].zy2+1,temp[t].temp);
  t--;
}
 
 
void myalert(char text1[40],char text2[40],char text3[40])
{
  _box_maker(18,9,61,16,12,4,text1);
 
  textcolor(15);
 
  gotoxy(40,11);
  outtext_centre(text2);
  gotoxy(40,12);
  outtext_centre(text3);
 
  gotoxy(40,14);
  textcolor(0);
  outtext_centre("Press any key");
 
  readkey();
  _delete_box();
}
 
static int _back_ints[]={
1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,
1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,
1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,
1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,1907388848,
1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,
1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,
1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,
1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520,1897951520
};
 
 
void make_background()
{
  puttext(1,1,80,25,_back_ints);
}