home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_10_11
/
1011046a
< prev
next >
Wrap
Text File
|
1992-09-08
|
2KB
|
148 lines
*****************************************************
// Listing 1 - VSMANIP.CPP
#include "vstream.h"
#include <conio.h>
#include <dos.h>
#include "vsmanip.h"
/* Simple no argument manipulator functions */
ostream& beep(ostream& str)
{
sound(1000);
delay(50);
nosound();
return str;
}
ostream& clear_screen(ostream& str)
{
clrscr();
return str;
}
ostream& del_line(ostream& str)
{
delline();
return str;
}
ostream& high_video(ostream& str)
{
highvideo();
return str;
}
ostream& ins_line(ostream& str)
{
insline();
return str;
}
ostream& low_video(ostream& str)
{
lowvideo();
return str;
}
ostream& norm_video(ostream& str)
{
normvideo();
return str;
}
/* Single argument manipulator action functions.
These functions are static -- they are only used
by the manipulator object functions of the same
name (see below) */
static ostream& text_color(ostream& osr,int color)
{
textcolor(color);
return osr;
}
static ostream& text_background(ostream& osr,int color)
{
textbackground(color);
return osr;
}
static ostream& text_attr(ostream& osr,int color)
{
if (win::top_window())
win::top_window()->setcolor(color);
textattr(color);
return osr;
}
/* make window goto top */
static ostream& top_window(ostream& osr, win& w)
{
w.maketop();
return osr;
}
/* Functions for manipulators with two arguments */
static ostream& go_xy(ostream& osr,int& x,int& y)
{
gotoxy(x,y);
return osr;
}
static ostream& where_xy(ostream& osr,int& x,int& y)
{
x=wherex();
y=wherey();
return osr;
}
/* These functions build manipulator objects that
contain the argument(s) and the action function
of the same name */
/* One argument */
omanip_int1 text_color(int color)
{
omanip_int1 rv(text_color,color);
return rv;
};
omanip_int1 text_background(int color)
{
omanip_int1 rv(text_background,color);
return rv;
};
omanip_int1 text_attr(int color)
{
omanip_int1 rv(text_attr,color);
return rv;
};
omanip_winr top_window(win& w)
{
omanip_winr rv(top_window,w);
return rv;
}
/* Two argument functions */
omanip_intr2 go_xy(int& x,int& y)
{
omanip_intr2 rv(go_xy,x,y);
return rv;
}
omanip_intr2 where_xy(int& x,int& y)
{
omanip_intr2 rv(where_xy,x,y);
return rv;
}