Você está na página 1de 26

UNIVERSIDAD TECNOLGICA DE PANAM FACULTAD DE INGENIERA DE SISTEMAS COMPUTACIONALES DEPARTAMENTO DE INGENIERIA DE SISTEMAS COMPUTACIONALES

CARRERA: Licenciatura en Ingenieria de Sistemas y Computacin

MODO GRAFICO EN C: PROGRAMACION APLICADA I

PERTENECE A: Girn, Juan 8-879-654 Prosper , Ren 8-855-1675 Samaniego, Manuel 8-850-487

FACILITADORA: ROSA DUTARI DE SAMANIEGO

SEMESTRE I PANAMA , 2011

Introduccin

En la actualidad, los programas, juego o cualquier aplicacin, contienen todos un detalle muy importante para que nuestro programa sea el mejor. La misma, es la tres cuarta parte del programa o juego,etc. En la comercializacin de stos, lo que llama la atencin de muchos clientes es la interfaz grfica. Un ejemplo de estos, es la famosa saga del juego para playstation 3, llamado Assassins Creed. En ste, su intefaz era mejorada con cada nueva versin del juego, sto impact a mucho de los jugadores, dandose una gran cantidad de ventas . Los movimientos de los personajes, asemejados a una realidad humana, lo hizo muy atractivo a todo amante del videogame. La programacin que el juego tiene, es muy extensa. Un programa sin una buena interfaz de grafica, no es tan interesante para el publico de hoy. Dentro de este documento, nos adentramos al abuelo de la programacin, el lenguaje C, conocermos como se conforma su interfaz, empezando con lo ms bsico. Tambin cuales son las funciones que nos permiten crear dibujos como circulos, cuadrados, lineas, etc. Incluimos ejemplos de como incializar y como utilizar colores dentro del cdigo. Por ltimo, presentamos una aplicacin realmente divertida. Un juego de 5 cartas usando las librerias grafica de este lenguaje. Donde la pantalla muestra la si el jugador tiene trio, par, doble par, etc. Deseamos que sea de su agrado este proyecto.

Bibliografa Modo grafico C: http://www.angelfire.com/alt2/www.cgrafico.com/Home.htm Inicializacin Modo grfico C: www.lcc.uma.es/~pscp/varios/graficos.doc Librerias Borland: Funciones y estructuras. Steven R. Davidson, diciembre 2003 www.conclase.net

Modo Grfico Qu es el modo grfico? Se entiende por Modo Grfico, toda aquella interfaz en computacin que involucre el uso de ventanas y ratn. En un principio las computadoras usaban solo modo texto, una vez que la tecnologa lo permiti, la compaa Xerox invento el dispositivo de ratn que en conjuncin con un sistema de ventanas permite una interaccin ms amigable para el usuario. En gran medida se le atribuye el boom de la computacin al desarrollo de entornos grficos y la facilidad de uso que ellos involucran. En la actualidad, la mayora de los sistemas operativos involucra la posibilidad de visualizacin de entornos grficos. Muchos usuarios avanzados, generalmente programadores, piensan en seguir usando el modo texto para todas o algunas de sus tareas, ya que, afirman que el trabajo en modo texto suele ser ms rpido, por medio de atajos y complejas combinaciones de teclas para realizar operaciones sencillas como imprimir un documento. Sin embargo, cabe destacar que el modo grfico ha mejorado la usabilidad de los sistemas computacionales.

Modo grafico en c En Turbo C, el paquete de control de la pantalla tiene dos partes: el control de la pantalla en modo texto y el control de la pantalla en modo grfico. Las funciones en modo texto dirigen la apariencia de la pantalla cuando el adaptador del video est en modo de visualizacin grfica. En Turbo C, todas las funciones requieren, en primer lugar, aadir la cabecera, conio.h en cualquier programa que se ha de utilizar. Las funciones en modo de texto esperan que la pantalla est en modo texto no grfico. Aunque conceptualmente estn relacionados, realmente quedan separados. En nuestro caso nos concentraremos en la pantalla en modo grfico. Grficos en Turbo C Ya vimos que el primer subsistema de control es el paquete de texto y el segundo, el cual veremos es el paquete de grficos. Contiene una gran cantidad de funciones que llevan a cabo tareas de dibujar lneas y crculos, y de construir grficosde tarta. Los prototipos de las funciones se encuentran en el archivo de cabecera graphics.h. Este se debe incluir en cualquier programa, que ha de utilizar una una funcin de grficos. Estas son funciones son de tipo far. Todas las funciones de grficos operan por medio de una ventana, estas se denomina puerta de visualizacin. La pantalla completa es un puerta de visualizacin por defecto.

Ejemplo de modo grfico en C.

Inicializacin del modo grfico. Es suficiente con incluir la librera grafica y con colocar las siguientes lneas dentro de la funcin main, aunque si se realiza lo siguiente saldrn como no definidos todas las funciones de la librera grafica ya que es necesario inicializarla en OPTIONS del men del turbo C dentro de OPTIONS seleccionaremos LINKER y en esta seleccionaremos LIBRARIES y colocaremos una X en donde aparezca Graphics Library y despus le damos a OK! , con lo cual ya tenemos habilitada la librera grafica. Antes de utilizar ninguna de las funciones de grficos es necesario poner al adaptador de video en cualquier modo grfico. La mayoria de los sistemas que tienen adaptadores de video utilizan para el DOS el modo texto de 80 columnas. Las funciones de Turbo C no pueden funcionar con stos, ya que no est en modo grfico. Para establecer al adaptador un modo grfico, utilizar la funcin initgraph(). Este es el siguiente: void far initgraph( int far *controlador int far *mode, char far *camino); La funcin initgraph() carga en memoria el controlador de grficos que corresponde al nmero que fue sealado. Sin ste, las funciones de grficos no podran funcionar. Los controladores de grficos se encuentran en los archivos.BGI proporcionados junto con Turbo C y de los que se pueden disponer en el sistema. El archivo cabecera graphics.h define varios macros, que se pueden utilizar con este propsito. El siguiente cuadro lo muestra: Macro DETECT CGA MCGA EGA EGA64 EGAMONO IBM8514 HERCOMONO ATT400 VGA PC3270 Equivalente 0 1 2 3 4 5 6 7 8 9 10

Cuando se usa DETECT, la funcin initgraph() detecta automticamente el hardware de video presente en el sistema, y selecciona el modo de video con las ms alta resolucin. El valor de mode debe ser uno de los modos grficos en esta tabla:

Controlador CGA

Modo CGA0 CGA1 CGA2 CGA3 CGAHI MCGAC0 MCGAC1 MCGAC2 MCGAC3 MCGAMED MCGAHI EGALO EGAHI EGA64LO EGA64HI EGAMONOHI ATT400C0 ATT400C1 ATT400C2 ATT400C3 ATT400CMED ATT400CHI VGALO VGAMED VGAHI PC327HI IBM8514LO IBM8514HI

Equivalencia 0 1 2 3 4 0 1 2 3 4 5 0 1 0 1 0 0 1 2 3 4 5 0 1 2 0 0 1

Resolucin 320x200 320x200 320x200 320x200 640x200 320x200 320x200 320x200 320x200 640x200 640x200 640x200 640x350 640x200 640x350 640x350 720x348 320x200 320x200 320x200 320x200 640x200 640x200 640x200 640x350 640x480 720x350 640x480 1024x768

MCGA

EGA EGA64 EGAMONO HERC ATT400

HERCMONOHI 0

VGA

PC3270 IBM8514

Salir del modo grfico Utilizaremos closegraph() o restorecrtmode() para dejar de usar el modo grfico y de esta manera regresar al modo texto. Los prototipos de estas funciones son: void far closegraph(void); void far retorecrtmode(void); closegraph(): Se usa cuando se va a seguir usando el programa en modo texto. Turbo C libera la memoria utilizada por las funciones de grficos, y restablece el modo video a lo que era antes de llamar a initgraph(). restorecrtmode(): S, el programa est terminado, establece otra vez el estado de antes de llamar

a initgraph().

Colores y paletas El adaptador de grficos que se ha conectado al sistema determina cuntos colores y el tipo de color disponible en modo grfico. CGA y EGA/VGA Los grficos en color CGA-4 da la opcin de acceder a cuatro colores por paleta y de poder elegir 4 paletas. stas se enumeran de 0 a 3, siendo 0 el color de fondo de pantalla. Las paletas tambin se enumeran de la misma forma. Para escoger una paleta, establecer mode igual a CGAx, donde x es el nmero de la paleta. En modo EGA/VGA 16-color, la paleta consta de 16 colores seleccionados de 64 colores posibles. Su prototipo es: void far setpallete(int index, int color); Paletas y colores en modo video 4 Color 0 0 1 2 3 Macro CGA (solo fondo) NEGRO AZUL VERDE CYAN ROJO MAGNETA MARRON GRIS CLARO GRIS OSCURO AZUL CLARO VERDE CLARO CYAN CLARO ROJO CLARO MAGNETA CLARO AMARILLO BLANCO De fondo De fondo De fondo De fondo Color 1 Verde cyan verde claro cyan claro Valor 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Color 2 Rojo magneta rojo claro magneta claro Color 3 Amarillo blanco amarillo blanco

EGA_NEGRO EGA_AZUL EGA_VERDE EGA_CYAN EGA_ROJO EGA_MAGNETA EGA_MARRON EGA_GRIS CLARO EGA_GRIS OSCURO EGA_AZUL CLARO EGA_VERDE CLARO EGA_CYAN CLARO EGA_ROJO CLARO EGA_MAGNETA CLARO EGA_AMARILLO EGA_BLANCO

0 1 2 3 4 5 20 7 56 57 58 59 60 61 62 63

Ejemplos de programas con modo grfico. Ejemplo#1: #include<graphics.h> int gdriver = DETECT, gmode, errorcode;//Inicializacin del modo grafico initgraph(&gdriver, &gmode, "c:\\tc\\bgi"); Aunque con las dos lneas anteriores de cdigo es puede inicializar de otras formas con ms lneas de cdigo pero esta es una de las ms simples si la direccin de los bgi es otra ser necesario cambiarla por la que corresponda. Otra forma ms comn pero ms larga y que aparece en los ejemplos del turbo C es la siguiente (para dibujar un circulo en el centro de la pantalla ) #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { /* Requiere auto deteccin */ int gdriver = DETECT, gmode, errorcode; int midx, midy; int radius = 100; /* Inicializa las variables locales y los graficas */ initgraph(&gdriver, &gmode, "");

/* Lee el resultado de la inicializacin */ errorcode = graphresult(); if (errorcode != grOk) /* Si ocurre algn error */ { printf("Error grafico: %s\n", grapherrormsg(errorcode)); printf("Presionar una tecla para salir:"); getch(); exit(1); /* Codigo de error */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor()); /* Dibuja un circulo */ circle(midx, midy, radius); getch(); closegraph(); return 0; } Ejemplo#2: /* Color, rectangulo y relleno*/ #include<graphics.h> #include<conio.h> main() { int driver, mode; register int i ; driver= VGA; mode= VGAMED; initgraph(&driver,&mode,); /*encuadra la pantalla*/ rectangle(0,0,639,349); setcolor(RED); line(0,0,639,349); setcolor(GREEN); rectangle(100,100,300,200); setcolor(BLUE);

floodfill(110,110,GREEN); /* Rellena parte de la caja*/ setcolor(CYAN) line(50,200,400,125); /*dibuja circulos */ setcolor(RED); for(i=0; i<640; i+=3) line (320, 174,i,0); setcolor(RED); circle(50,50,35); circle(320,175,100); circle(500,250,90); circle(100,100,200); /* make a bullesye*/ setfillstyle(SOLID_FILL, RED); floodfill(500,250,GREEN); /* Rellena parte del circulo*/ setcolor(RED); circulo(500,250,60)M setfillstyle(SOLID_FILL, RED); floodfill(500,250,RED); setcolor(GREEN); circulo(500,250,30); setfillstyle(SOLID_FILL,RED); floodfill(500,250,GREEN); setcolor(RED); circulo(500,250,10); setfillstyle(SOLID_FILL, RED); floodfill(500,250,RED); getch(); restorecrtmode();}

Funciones de la libreria grafica de C arc : Dibuja un arco. Sintaxis: arc (int x, int y, int ang_comienzo, int ang_final, int radio); (x,y) es el punto central; ang_comienzo y ang_final son los ngulos de comienzo y final en grados; radio es el radio. bar : Dibuja una barra. Sintaxis: bar (int izq, int ar, int der, int ab); bar3d : Dibuja una barra en 3-D. Sintaxis: bar3d (int izq, int ar, int der, int ab, int profundidad, int flag_de_encima); Si flag_de_encima es 0 no se dibuja la cara superior de la barra. circle : Dibuja un crculo en (x,y) con el radio dado. Sintaxis: circle (int x, int y, int radio); cleardevice : Borra la pantalla grfica. Sintaxis: cleardevice (void); clearviewport : Borra el viewport corriente. Sintaxis: clearviewport (void); closegraph : Cierra el sistema grfico. Sintaxis: closegraph (void); detectgraph : Determina el controlador y el modo grfico a usar chequeando el hardware. Sintaxis: detectgraph (int far *graphdriver, int far *graphmode); drawpoly : Dibuja un polgono. Sintaxis: drawpoly (int numero_de_puntos, int far *puntos_de_poligono); *puntos_de_poligono apunta a numero_de_puntos pares de valores. Cada par da los valores de x e y para un punto del polgono.

ellipse : Dibuja un arco elptico. Sintaxis: ellipse (int x, int y, int ang_comienzo, int ang_final, int radiox, int radioy); (x,y) es el punto central; ang_comienzo y ang_final son los ngulos de comienzo y final en grados; radiox y radioy son los radios horizontal y vertical. fillellipse : Dibuja y rellena una elipse. Sintaxis: fillellipse (int x, int y, int radiox, int radioy); Usa (x,y) como el punto central y rellena el arco usando el patrn de relleno actual; radiox y radioy son los radios horizontal y vertical. fillpoly : Dibuja y rellena un polgono. Sintaxis: fillpoly(int numpoints, int far *polypoints[]); *puntos_de_poligono apunta a numero_de_puntos pares de valores. Cada par da los valores de x e y para un punto del polgono. floodfill : Rellena una regin definida. Sintaxis: floodfill (int x, int y, int color_borde); (x,y) es un punto que reside dentro de la regin a rellenar. getarccoords : Obtiene las coordenadas de la ltima llamada a arc. Sintaxis: getarccoords (struct arccoordstype far *coords_arc); getaspectratio : Obtiene la cuadratura para el modo grfico corriente. Sintaxis: getaspectratio (int far *cuadx, int far *cuady); cuadx debera ser 10000. Usa cuadx=10000 cuando los pixels son cuadrados (VGA); <10000 para pixels altos. getbkcolor : Devuelve el color de fondo actual. Sintaxis: getbkcolor (void); getcolor : Devuelve el color de dibujar actual. Sintaxis: getcolor (void); getdefaultpalette : Devuelve la estructura de definicin de paleta. Sintaxis: struct palettetype *far getdefaultpalette (void);

Devuelve un puntero a la estructura de paleta por defecto para el controlador actual inicializado mediante una llamada a initgraph(). getdrivername : Devuelve un puntero al nombre del controlador grfico actual. Sintaxis: char *far getdrivername(void); El puntero far devuelto apunta a una cadena que identifica el controlador grfico actual. getfillpattern : Copia un patrn de relleno definido por el usuario en memoria. Sintaxis: getfillpattern (char far *patron); getfillsettings : Obtiene informacin acerca del patrn y color de relleno actual. Sintaxis: getfillsettings (struct fillsettingstype far *fillinfo); getgraphmode : Devuelve el modo grfico actual. Sintaxis: getgraphmode (void); Antes de llamar a getgraphmode() se debe llamar a initgraph() o setgraphmode(). getimage : Salva una imagen de la regin especificada en memoria. Sintaxis: getimage(int izq, int ar, int der, int ab, void far *bitmap); getlinesettings : Obtiene el estilo, patrn y grosor actual de lnea. Sintaxis: getlinesettings (struct linesettingstype far *infolinea); getmaxcolor : Devuelve el valor del color mximo. Sintaxis: getmaxcolor(void); getmaxmode : Devuelve el nmero de modo grfico mximo para el controlador corriente. Sintaxis: getmaxmode (void); El modo mnimo es 0. getmaxx and getmaxy : Devuelve la coordenada x o y mxima de pantalla. Sintaxis: getmaxx(void); getmodename : Devuelve un puntero a una cadena que contiene el nombre del modo grfico

especificado. Sintaxis: char * far getmodename (int numero_de_modo); El puntero devuelto apunta al nombre (cadena) del modo especificado por numero_de_modo. getmoderange : Obtiene el rango de los modos para un controlador grfico dado. Sintaxis: getmoderange (int controlador_grafico, int far *mode_bajo, int far *mode_alto); getpalette : Obtiene informacin acerca de la paleta actual. Sintaxis: getpalette (struct palettetype far *paleta); getpalettesize : Devuelve el nmero de entradas de la paleta. Sintaxis: getpalettesize (void); Devuelve el nmero de entradas de la paleta permitidas para el modo de controlador grfico actual. getpixel : Obtiene el color de un pixel especificado. Sintaxis: unsigned far getpixel (int x, int y); gettextsettings : Obtiene informacin acerca de las caractersticas del "texto grfico actual. Sintaxis: gettextsettings (struct textsettingstype far *texttypeinfo); getviewsettings : Obtiene informacin acerca del viewport actual. Sintaxis: getviewsettings (struct viewporttype far *viewport); getx : Devuelve la coordenada x de la posicin actual. Sintaxis: int far getx (void); El valor es relativo al viewport. gety : Devuelve la coordenada y de la posicin actual. Sintaxis: int far gety (void); El valor es relativo al viewport. graphdefaults : Pone todos los valores grficos a sus valores por defecto. Sintaxis: void far graphdefaults (void);

grapherrormsg : Devuelve un puntero a una cadena con el mensaje de error. Sintaxis: char *far grapherrormsg (int codigo_de_error); Devuelve un puntero a una cadena asociada con el valor devuelvto por graphresult(). _graphfreemem : Manejador de usuario para desasignar memoria grfica. Sintaxis: void far _graphfreemem (void far *ptr, unsigned tamanio);

Esta funcin es llamada por las rutinas que hay en la biblioteca grfica para liberar memoria. Podemos controlar esta asignacin de memoria suministrando nuestras propias funciones _graphgetmem() y _graphfreemen(). _graphgetmem : Manejador de usuario para asignar memoria grfica. Sintaxis: void far * far _graphgetmem (unsigned tamanio); Esta funcin es llamada por las rutinas que hay en la biblioteca grfica para asignar memoria. Podemos controlar esta asignacin de memoria suministrando nuestras propias funciones _graphgetmem() y _graphfreemen(). graphresult : Devuelve un cdigo de error para la ltima operacin grfica que no tuvo xito. Sintaxis: int far graphresult (void); Devuelve el cdigo de error para la ltima operacin grfica que inform de un error y pone el nivel de error a grOK. imagesize : Devuelve el nmero de bytes requeridos para almacenar una imagen. Sintaxis: unsigned far imagesize (int izq, int ar, int der, int ab); Si el tamao requerido para la imagen seleccionada es mayor o igual que 64K - 1 bytes, imagesize() devuelve 0xFFFF. initgraph : Inicializa el sistema grfico. Sintaxis: void far initgraph (int far *controlador_grafico, int far *modo_grafico, char far *path_para_controlador); NOTA: El parmetro paht_para_controlador usa la siguiente sintaxis: "..\\bgi"

donde : _ bgi el el nombre de directorio donde buscar los controladores _ el parmetro est encerrado entre comillas _ el path para los ficheros de controladores grficos incluyen dos barras invertidas installuserdriver : Instala un nuevo controlador de dispositivo a la tabla de controladores de dispotivo BGI. Sintaxis: int far installuserdriver (char far *nombre, int huge (*detect) (void)); El parmetro nombre es el nombre del nuevo fichero de controlador de dispositivo (.BGI) y detect es un puntero a una funcin de autodeteccin opcional que puede acompaar al nuevo controlador. Esta funcin de autodeteccin no tiene ningn parmetro y devuelve un valor entero. installuserfont : Carga un fichero de estilo de caracteres (.CHR) que no est dentro del sistema BGI. Sintaxis: int far installuserfont (char far *nombre); El parmetro nombre es el nombre del fichero que contiene las caractersticas del nuevo tipo de carcter en modo grfico. Al mismo tiempo pueden ser instalados hasta 20 estilos de caracteres. line : Dibuja una lnea entre dos puntos especificados. Sintaxis: void far line (int x1, int y1, int x2, int y2); Dibuja una lnea desde (x1,y1) hasta (x2,y2) usando el color, estilo de lnea y grosor actuales. linerel : Dibuja una lnea a una distancia relativa a la posicin actual. Sintaxis: void far linerel (int dx, int dy); Usa el color, estilo de lnea y grosor actual. lineto : Dibuja una lnea desde la posicin actual hasta (x,y). Sintaxis: void far lineto (int x, int y); moverel : Cambia la posicin actual a una distancia relativa. Sintaxis: void far moverel (int dx, int dy); moveto : Cambia la posicin actual a (x,y). Sintaxis: void far moveto (int x, int y);

outtext : Visualiza una cadena en el viewport (modo grfico). Sintaxis: void far outtext (char far *cadena_de_texto); outtextxy : Visualiza una cadena en el lugar especificado (modo grfico). Sintaxis: void far outtextxy (int x, int y, char far *cadena_de_texto); pieslice : Dibuja y rellena un sector de crculo. Sintaxis: void far pieslice (int x, int y, int ang_comienzo, int ang_final, int radio); putimage :Escribe una imagen en la pantalla. Sintaxis: void far putimage (int izq, int ar, void far *bitmap, int op); bitmap apunta a un mapa de bits, normalmente creado por la funcin getimage(). El valor op especifica cmo se combina la imagen con el contenido actual del rea en (izq,ar). putpixel : Escribe un pixel en el punto especificado. Sintaxis: void far putpixel (int x, int y, int color); rectangle : Dibuja un rectngulo (modo grfico). Sintaxis: void far rectangle (int izq, int ar, int der, int ab); Una el estilo, grosor y color de lnea actual. registerbgidriver : Registra controlador grfico en el enlazado. Sintaxis: int registerbgidriver (void (*driver) (void)); Informa al sistema grfico que el controlador dispositivo apuntador por driver fue incluido en tiempo de enlazado. registerbgifont :Registra estilo de texto en el enlazado. Sintaxis: int registerbgifont (void (*font) (void)); Informa al sistema grfico que el estilo de texto apuntado por font fue incluido en tiempo de enlazado. restorecrtmode : Restaura modo de pantalla previa a entrar al modo grfico. Sintaxis: void far restorecrtmode (void);

sector : Dibuja y rellena un sector elptico. Sintaxis: void far sector (int x, int y, int ang_comienzo, int ang_final, int radiox, int radioy); x e y definen el punto central; ang_comienzo y ang_final definen los ngulos de comienzo y final; radiox y radioy son los radios horizontal y vertical. El sector es dibujado con el color activo y es rellenado con el color y patrn de relleno actual. setactivepage : Pone la pgina activa para la salida grfica. Sintaxis: void far setactivepage (int pagina); Las salidas grficas siguientes a la llamada a esta funcin irn a la pgina de visualizacin especificada. Esta pgina puede no ser la pgina visual que es la que actualmente est visualizada. setallpalette : Cambia los colores de todas las paletas. Sintaxis: void far setallpalette (struct palettetype far *paleta); setaspectratio : Pone la cuadratura grfica Sintaxis: void far setaspectratio (int cuadx, int cuady); cuadx debera ser 10000. Usa cuadx =10000 cuando los pixels son cuadrados (VGA); <10000 para pixels altos. setbkcolor : Pone el color de fondo actual usando la paleta. Sintaxis: void far setbkcolor(int color); setcolor : Pone el color actual para dibujar. Sintaxis: void far setcolor (int color); setfillpattern : Selecciona un patrn de relleno definido por el usuario. Sintaxis: void far setfillpattern (char far *patron_usuario, int color); El parmetro patron_usuario apunta a un rea de 8 bytes donde se encuentra el patrn de bits 8 por 8. setfillstyle : Pone el patrn y color de relleno. Sintaxis: void far setfillstyle (int patron, int color);

El parmetro patrn identifica un patrn predefinido. Para poner un patrn de relleno definido por el usuario, llamar a la funcin setfillpattern(). setgraphbufsize :Cambia el tamao del buffer grfico interno. Sintaxis: unsigned far setgraphbufsize (unsigned tambuf); Esta funcin debe ser llamada antes de llamar a la funcin initgraph(). Devuelve el tamao previo del buffer interno. setgraphmode : Pone el sistema en modo grfico y borra la pantalla. Sintaxis: void far setgraphmode (int modo); setlinestyle : Pone el estilo de lnea, anchura y patrn actual. Sintaxis: void far setlinestyle (int estilo_de_linea, unsigned patron_usuario, int grosor); Pone el estilo y grosor para el dibujo de lneas en funciones grficas. setpalette : Cambia un color de la paleta. Sintaxis: void far setpalette (int num_de_color, int color); setrgbpalette : Define colores para la tarjeta grfica IBM-8514. Sintaxis: void far setrgbpalette (int numcolor, int rojo, int verde, int azul); El parmetro numcolor es la entrada de la paleta a ser cargada (nmero entre 0 y 255). Los parmetros rojo, verde y azul definen los colores componentes. Slo el byte menos significativo de estos valores es usado, y slo sus 6 bits ms significativos son cargados en la paleta. settextjustify : Pone justificacin de texto para modo grfico. Sintaxis: void far settextjustify (int horiz, int vert); Afecta a la salida de texto con outtext(), etc. El texto es justificado horizontalmente y verticalmente. Los valores para horiz y vert son los siguientes:

Param Nombre Val Cmo justificar ------+-------------+-----+------------------horiz LEFT_TEXT (0) izquierda < CENTER_TEXT (1) > centrar texto < RIGHT_TEXT (2) > derecha -------+-------------+-----+------------------vert BOTTOM_TEXT (0) de abajo a arriba CENTER_TEXT (1) centrar texto TOP_TEXT (2) de arriba abajo settextstyle : Pone las caractersticas actuales del texto. Sintaxis: void far settextstyle (int estilo, int direccion, int tamanio_de_caracter); setusercharsize : Factor de amplificacin de los caracteres definidos por el usuario para los estilos de caracteres. Sintaxis: void far setusercharsize (int multx, int divx, int multy, int divy); setviewport : Pone el viewport actual para salida grfica. Sintaxis: void far setviewport(int izq, int ar, int der, int ab, int clip); setvisualpage : Pone el nmero de pgina grfica visual. Sintaxis: void far setvisualpage (int pagina); Algunos adaptadores grficos tienen ms de una pgina de memoria. La pgina visual es la pgina que est actualmente visualizada en la pantalla. Las funciones grficas escriben en la pgina activa, definida por setactivepage(). setwritemode : Pone el modo de escritura para el dibujo de lneas en modo grfico. Sintaxis: void far setwritemode (int modo); Si el modo es 0, las lneas sobrescriben el contenido actual de la pantalla. Si el modo es 1, una operacin exclusive OR (XOR) es ejecutada entre los pixels de la lnea y los puntos correspondientes sobre la pantalla. textheight : Devuelve la altura de una cadena en pixels. Sintaxis: int far textheight (char far *cadena_con_texto); textwidth : Devuelve la anchura de una cadena en pixels.

Sintaxis: int far textwidth (char far *cadena_con_texto); La funcin textwidth() es til para ser usadas con funciones grficas tales como outtext().

ARCCOORDSTYPE (struct): Usado por la funcin getarccords() para obtener las coordenadas de la ltima llamada a arc(). struct arccoordstype { int x, y; /* punto central */ int xstart, ystart; /* posicin inicial */ int xend, yend; /* posicin final */ }; EGA_xxxx (#defines) : Colores para las funciones setpalette() y setallpalette(). EGA_BLACK EGA_BLUE EGA_GREEN EGA_CYAN EGA_RED EGA_MAGENTA EGA_BROWN EGA_LIGHTGRAY EGA_DARKGRAY EGA_LIGHTBLUE EGA_LIGHTGREEN EGA_LIGHTCYAN EGA_LIGHTRED EGA_LIGHTMAGENTA EGA_YELLOW EGA_WHITE

fill_patterns (enum) : Patrones de relleno para las funciones getfillsettings() y setfillstyle(). EMPTY_FILL Usa color de fondo SOLID_FILL Usa color de relleno slido LINE_FILL Relleno con --LTSLASH_FILL Relleno con /// SLASH_FILL Relleno con lneas gruesas /// BKSLASH_FILL Relleno con lneas gruesas \\\ LTBKSLASH_FILL Relleno con \\\ HATCH_FILL Sombreado claro XHATCH_FILL Sombreado espeso INTERLEAVE_FILL Lneas entrelazadas WIDE_DOT_FILL Puntos bastante espaciados CLOSE_DOT_FILL Puntos poco espaciados USER_FILL Relleno definido por el usuario FILLSETTINGSTYPE (struct) : Usado para obtener los valores de relleno actuales por la funcin getfillsettings().

struct fillsettingstype { int pattern; int color; }; font_names (enum) : Nombres de tipos de caracteres grficos DEFAULT_FONT TRIPLEX_FONT SMALL_FONT SANS_SERIF_FONT GOTHIC_FONT graphics_drivers (enum) : Controladores grficos BGI. CGA MCGA EGA EGA64 EGAMONO IBM8514 HERCMONO ATT400 VGA PC3270 DETECT (Requiere auto deteccin) graphics_errors (enum) : Cdigos de error devuelto por graphresult(). grOk grNoInitGraph grNotDetected grFileNotFound grInvalidDriver grNoLoadMem grNoScanMem grNoFloodMem grFontNotFound grNoFontMem grInvalidMode grError grIOerror grInvalidFont grInvalidFontNum grInvalidDeviceNum grInvalidVersion graphics_modes (enum) : Modos grficos para cada controlador BGI CGAC0 CGAC1 CGAC2 CGAC3 CGAHI MCGAC0 320 x 200 320 x 200 320 x 200 320 x 200 640 x 200 paleta 0 paleta 1 paleta 2 paleta 3 2 colores

320 x 200 paleta 0

MCGAC1 MCGAC2 MCGAC3 MCGAMED MCGAHI EGALO EGAHI EGA64LO EGA64HI

320 x 200 paleta 1 320 x 200 paleta 2 320 x 200 paleta 3 640 x 200 2 colores 640 x 480 2 colores 16 colores 16 colores 16 colores 4 colores

640 x 200 640 x 350 640 x 200 640 x 350

EGAMONOHI 640 x 350 2 colores HERCMONOHI 720 x 348 2 colores ATT400C0 ATT400C1 ATT400C2 ATT400C3 ATT400MED ATT400HI VGALO VGAMED VGAHI 320 x 200 320 x 200 320 x 200 320 x 200 640 x 200 640 x 400 paleta 0 paleta 1 paleta 2 paleta 3 2 colores 2 colores

640 x 200 16 colores 640 x 350 16 colores 640 x 480 16 colores

PC3270HI 720 x 350 2 colores IBM8514LO 640 x 480 256 colores IBM8514HI 1024 x 768 256 colores line_styles (enum) : Estilos de lnea para las funciones getlinesettings() y setlinestyle(). SOLID_LINE DOTTED_LINE CENTER_LINE DASHED_LINE USERBIT_LINE estilo de lnea definido por el usuario line_widths (enum) : Anchuras de lnea para las funciones getlinesettings() y setlinestyle(). NORM_WIDTH THICK_WIDTH MAXCOLORS (#define) : Define el nmero mximo de entradas de colores para el campo array de colores en la estructura palettetype. PALETTETYPE (struct) : Contiene informacin de la paleta para el controlador grfico actual. Esta

estructura es usada por las funciones getpalette(), setpalette() y setallpalette(). struct palettetype { unsigned char size; signed char colors[MAXCOLORS+1]; }; POINTTYPE (struct) : Coordenadas de un punto. struct pointtype { int x ; int y ; }; putimage_ops (enum) : Operadores para putimage(). COPY_PUT XOR_PUT OR_PUT AND_PUT NOT_PUT Copia Exclusive OR Inclusive OR AND Copia inversa de fuente

text_just (enum) : Justificacin horizontal y vertical para la funcin settextjustify(). LEFT_TEXT CENTER_TEXT RIGHT_TEXT BOTTOM_TEXT TOP_TEXT *_DIR (Direccin) (#defines) : Direccin de salida grfica. HORIZ_DIR De izquierda a derecha VERT_DIR De abajo hacia arriba TEXTSETTINGSTYPE (struct) : Usado para obtener los valores de texto actual por la funcin gettextsettings(). struct textsettingstype { int font;

int int int int };

direction; charsize; horiz; vert;

USER_CHAR_SIZE (#define) : Tamao de los caracteres definidos por el usuario (tamao de caracteres = amplificacin de caracteres en salida grfica). Valores que puede tomar esta constante simblica: _ 1 visualiza caracteres en caja de 8-por-8 en la pantalla _ 2 visualiza caracteres en caja de 16-por-16 en la pantalla ... _ 10 visualiza caracteres en caja de 80-por-80 en la pantalla VIEWPORTTYPE (struct) : Estructura usada para obtener informacin sobre el viewport corriente por la funcin getviewsettings(). struct viewporttype { int left; int top; int right; int bottom; int clip; };

Você também pode gostar