Clase BufferPantalla
![]() |
Entorno. |
La clase BufferPantalla es la encargada del aspecto visual del sistema operativo, es decir, la encargada de escribir en pantalla y de asignar a cada tarea que precise escribir en pantalla un foco (pantalla virtual) a la medida requerida para que, cuando sea su turno, volcarla en la memoria de video. Tiene clase amiga a Teclado para saber en todo momento quien es la tarea que tiene la pantalla real.
![]() |
Grafo. |
Vamos a ver cuales son los miembros atributo y los miembros función del Objeto:
(Clase amiga: Teclado)
BufferPantalla | |
Private: Protected: |
texto fondo atrib pantalla memvideo xmin, ymin, xmax, ymax NR_COL NR_LIN TAM x, y on |
Private: Protected: Public: |
cargar_pantalla subir_linea volcar_pantalla mover_cursor BufferPantalla ~BufferPantalla color_texto color_fondo clrscr ir_xy puts printk |
![]() |
Definicion de miembros. |
Atributos
texto
Tipo: ushort
Cometido: Color del texto;
fondo
Tipo: ushort
Cometido: Color del fondo;
atrib
Tipo: ushort
Cometido: Combinacion de Texto + Fondo.
Pantalla
Tipo: ushort *
Cometido: Puntero a la pantalla virtual del foco.
Memvideo
Tipo: ushort far *
Cometido: Puntero a la pantalla fisica de video.
xmin, xmax, ymin, ymax
Tipo: uchar
Cometido: Coordenadas de la pantalla virtual del foco
NR_COL
Tipo: uchar
Cometido: numero de columnas.
NR_LIN
Tipo: uchar
Cometido: numero de lineas.
TAM
Tipo: uint
Cometido: Tamaño de la pantalla.
x,y
Tipo: uchar
Cometido: Posicion actual del cursor.
on
Tipo: uchar
Cometido: Vale 1 si es el foco activo 0 en otro caso.
Funciones
cargar_pantalla
cargar_pantalla()
Parametros
No tiene.
Cometido: Carga en la pantalla virtual la pantalla fisica.
Pseudocodigo
subir_linea
subir_linea()
Parametros:
No tiene.
Cometido: Sube una linea cuando esta llena la pantalla virtual.
Pseudocodigo:
|
volcar_pantalla
volcar_pantalla()
Parametros:
No tiene.
Cometido:Vuelca la pantalla virtual a la fisica;
Pseudocodigo:
|
mover_cursor
mover_cursor(m1,m2)
Parametros:
- m1: uchar. Posicion x;
- m2: uchar. Posicion y;
Cometido:Mover el cursor a las coordenadas m1,m2.
Pseudocodigo:
|
BufferPantalla
BufferPantalla(m1,m2,m3,m4)
Parametros:
- m1: uchar. Posicion xmin.
- m2: uchar. Posicion ymin.
- m3: uchar . Posicion xmax.
- m4: uchar. Posicion ymax.
Cometido: Constructor de la clase. Inicializa por defecto a 1,1,80,25 y reserva memoria para la pantalla virtual.
Pseudocodigo:
|
~BufferPantalla
~BufferPantalla()
Parametros:
No tiene.
Cometido: Destructor de la clase. Libera memoria de la pantalla virtual.
color_texto
color_texto(m1)
Parametros:
- m1: int. Color del texto.
Cometido: Cambia el color del texto al introducido.
Pseudocodigo:
|
color_fondo
color_fondo(m1)
Parametros:
- m1: int. Color del fondo.
Cometido: Cambia el color del fondo al introducido.
Pseudocodigo:
|
clrscr
clrscr()
Parametros:
No Tiene
Cometido: Borra la pantalla con el color de fondo que este en ese momento
Pseudocodigo:
|
ir_xy
ir_xy(m1,m2)
Parametros:
- m1: uchar. Posicion x a la que deseamos ir.
- m2: uchar. Posicion y a la que deseamos ir.
Cometido: Lleva la posición del cursor a los parametros m1, m2 con respecto a su foco correspondiente.
Pseudocodigo:
|
puts
puts(m1)
Parametros:
- m1:char *. Cadena a poner en el foco virtual
Cometido:Escribe una cadena en el foco. Si el foco corresponde al que tiene la pantalla, también se muestra por pantalla
Pseudocodigo:
|
printk
printk(m1,...)
Parametros:
- m1:char *. Cadena a poner en el foco virtual
- ... : vargs. Argumentos a poner en la cadena
Cometido:Escribe una cadena en el foco. Si el foco corresponde al que tiene la pantalla, también se muestra por pantalla. Tiene unos argumentos variables por parametro y cuyo funcionamiento es similar al printf de C++.
Pseudocodigo:
|
Última actualización de la página: 12/03/99
Esta página está hospedada en Consigue tu Página
Web Gratis