C / graphics.h / setviewport
arc, bar, bar3d, circle, cleardevice, clearviewport, closegraph, detectgraph, drawpoly, ellipse, fillellipse, fillpoly, floodfill, getarccoords, getaspectratio, getbkcolor, getcolor, getdefaultpalette, getdrivername, getfillpattern, getfillsettings, getgraphmode, getimage, getlinesettings, getmaxcolor, getmaxmode, getmaxx, getmaxy, getmodename, getmoderange, getpalette, getpalettesize, getpixel, gettextsettings, getviewsettings, getx, gety, graphdefaults, grapherrormsg, _graphfreemem, _graphgetmem, graphresult, imagesize, initgraph, installuserdriver, installuserfont, line, linerel, lineto, moverel, moveto, outtext, outtextxy, pieslice, putimage, putpixel, rectangle, registerbgidriver, registerbgifont, restorecrtmode, sector, setactivepage, setallpalette, setaspectratio, setbkcolor, setfillpattern, setfillstyle, setgraphbufsize, setgraphmode, setlinestyle, setpalette, setrgbpalette, settextjustify, settextstyle, setusercharsize, » setviewport, setvisualpage, setwritemode, textheight, textwidth,
Funcion: setviewport()
Sintaxis:
void far setviewport(int izquierda, int superior,   int derecha, int inferior, int recorte_banderin);

Descripcion: Esta función es usada para definir el área gráfico. La esquina superior izquierda del área gráfica está definida por los argumentos izquierda y superior. Estos argumentos corresponden a los valores x e y de la esquina superior izquierda. Similarmente, los argumentos derecha e inferior definen la esquina inferior derecha del área gráfica. El argumento recorte_banderin define si los datos para la salida gráfica serán recortados por el borde del área gráfico. Un valor de 0 para recorte_banderin indica que los datos de salida no serán recortados, mientras que un valor distinto a 0 indica que los datos serán recortados. Cuando el área gráfica es incializada, la posición del cursor será mudado a la posición (0,0) (la esquina superior izquierda). Todos los datos de salida después de que el área gráfica haya sido inicializada serán con relación a este punto. El área gráfica por defecto cubre la pantalla entera.
Ejemplo:
#include <graphics.h>
#include <conio.h>
 
int main() {
   int gdriver = EGA;
   int gmodo = EGAHI;
   int color;
 
/* Si has registrado los dispositivos para que formen parte de graphics.lib
** entonces usa estas sentencias:
 
   registerbgidriver( EGAVGA_driver );
   initgraph( &gdriver, &gmodo, "" );
*/
 
/* Si no, entonces has de "decir" d&oacute;nde se encuentra el dispositivo gr&aacute;fico */
 
   initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" );
 
   lineto( 100, 100 );
   outtextxy( 15, 5, "Inicial" );
   getch();
 
   setviewport( 250, 200, 450, 300, 0 );
   setcolor( 9 );
   lineto( 100, 100 );
   outtextxy( 15, 5, "Nueva" );
   moveto( 0, 0 );
   lineto( -50, -20 ); /* Fuera del &aacute;rea */
   getch();
 
   setviewport( 250, 200, 450, 300, 1 );
   setcolor( 4 );
   moveto( 120, 40 );
   lineto( 150, -20 );  /* Fuera del &aacute;rea */
   outtextxy( 25, 15, "Con recorte" );
 
   getch();    /* Pausa */
   closegraph();
 
   return 0;
}

Librerias C

Librerias ANSI C
   string.hcstring
   math.hcmath
   stdio.hcstdio
   time.hctime
   stdlib.hcstdlib
   ctype.hcctype
   locale.hclocale
   signal.hcsignal
   setjmp.hcsetjmp

Librerias Borland
   conio.h
   graphics.h